Merge pull request #5675 from mono/glib-debug-symbols
[mono.git] / msvc / create-windef.pl
index b0cd683aa562f77c4455c7e5e705a7a42cc03d59..7d588b915df6e8e499648bbd642f9bad0b5a96b0 100755 (executable)
@@ -3,13 +3,19 @@
 use strict;
 
 my $outfile = shift || usage ();
+my $soname = shift || usage ();
+my $dllname = shift || usage ();
 my @symbols = ();
 my %excludes = ();
-my $cmd = "nm -D ../mono/mini/.libs/libmono.so";
+my $cmd = "nm -D $soname";
 
 @excludes {qw(
        mono_class_setup_vtable_general_new mono_debugger_init mono_debugger_main
        mono_once mono_pthread_key_for_tls
+       mono_gc_pthread_create mono_gc_pthread_detach mono_gc_pthread_join
+       mono_gc_pthread_exit
+       mono_file_map_fileio mono_file_unmap_fileio
+       mono_file_map_set_allocator 
 )} = ();
 
 open (SYMS, "$cmd |") || die "Cannot run \$cmd': $!\n";
@@ -19,17 +25,19 @@ while (<SYMS>) {
        push @symbols, $1;
 }
 close (SYMS);
+push @symbols, "MonoFixupCorEE";
 @symbols = sort @symbols;
 
 open (OUT, ">$outfile") || die "Cannot open '$outfile': $!\n";
 print OUT "; file generated by create-windef.pl\n";
-print OUT "LIBRARY mono.dll\nEXPORTS\n";
+print OUT "EXPORTS\n";
 print OUT join ("\n", @symbols);
+print OUT "\n";
 
 close (OUT);
 
 sub usage {
-       print "Usage: create-windef.pl output_file\n";
+       print "Usage: create-windef.pl output_file soname dllname\n";
        exit (1);
 }