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-2.0.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";
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);
}