ignore_known()
{
- egrep -v -f $dir/ignore
+ fgrep -v -f $dir/ignore
+}
+
+ignore_hidden ()
+{
+ fgrep -w -v -f $dir/hidden_methods
}
clean_nm ()
exit 1
fi
-nm $dir/../io-layer/.libs/*.o | clean_nm | grep -v _wapi | ignore_known > $dir/wapi
-nm $dir/../*/.libs/*.o | clean_nm | ignore_known | ignore_wapi | grep -v ^ves_icall | grep -v ^mono_arch_ > $dir/public-api
+# generate the internals file
+objdump -t ../mono/mini/.libs/libmono-2.0.a | grep "\.hidden" | sed 's/.*\.hidden //' > hidden_methods
+
+nm $dir/../mono/io-layer/.libs/*.o | clean_nm | grep -v _wapi | ignore_known | sort > $dir/wapi
+nm $dir/../mono/mini/.libs/libmono-2.0.a | clean_nm | ignore_known | ignore_hidden | ignore_wapi | grep -v ^ves_icall | egrep -v '^(mono_arch_|monoeg)' | sort > $dir/public-api