[debugger] Ports from dotnet/runtime to maintain compatibility (#21653)
[mono-project.git] / docs / produce-lists
blob5cca0d3211a0775f2ba6b4c9692d4d3c6e832309
1 #!/bin/sh
3 # Produces two lists in docscripts:
4 # public-api with the public API except the Wapi
5 # wapi the public WAPI API
8 dir=`dirname $0`
9 add_h4()
11 sed -e 's/^\t<h4>//' -e 's/$/<\/h4>/'
14 ignore_known()
16 grep -F -v -f $dir/ignore
19 ignore_hidden ()
21 grep -F -w -v -f $dir/hidden_methods
24 clean_nm ()
26 grep ' T ' | sed 's/.* T //'
29 ignore_wapi ()
31 grep -v _wapi | grep -F -v -f $dir/wapi
34 if grep ^$ ignore >/dev/null; then
35 echo The ignore file contains empty lines, which breaks this script, please remove
36 echo the empty lines.
37 exit 1
40 # generate the internals file
41 objdump -t ../mono/mini/.libs/libmono-2.0.a | grep "\.hidden" | sed 's/.*\.hidden //' > hidden_methods
43 nm $dir/../mono/io-layer/.libs/*.o | clean_nm | grep -v _wapi | ignore_known | sort > $dir/wapi
44 nm $dir/../mono/mini/.libs/libmono-2.0.a | clean_nm | ignore_known | ignore_hidden | ignore_wapi | grep -v ^ves_icall | grep -E -v '^(mono_arch_|monoeg)' | sort > $dir/public-api