Copy
authorMiguel de Icaza <miguel@gnome.org>
Fri, 1 May 2009 22:57:52 +0000 (22:57 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Fri, 1 May 2009 22:57:52 +0000 (22:57 -0000)
svn path=/trunk/mono/; revision=133311

msvc05/create-windef.pl [new file with mode: 0755]

diff --git a/msvc05/create-windef.pl b/msvc05/create-windef.pl
new file mode 100755 (executable)
index 0000000..241487d
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+my $outfile = shift || usage ();
+my @symbols = ();
+my %excludes = ();
+my $cmd = "nm -D ../mono/mini/.libs/libmono.so";
+
+@excludes {qw(
+       mono_class_setup_vtable_general_new mono_debugger_init mono_debugger_main
+       mono_once mono_pthread_key_for_tls
+)} = ();
+
+open (SYMS, "$cmd |") || die "Cannot run \$cmd': $!\n";
+while (<SYMS>) {
+       next unless / T (mono_.*)/;
+       next if exists $excludes {$1};
+       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 join ("\n", @symbols);
+
+close (OUT);
+
+sub usage {
+       print "Usage: create-windef.pl output_file\n";
+       exit (1);
+}
+