diff perl-5.22.2/win32/create_perllibst_h.pl @ 8045:a16537d2fe07

<xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
author HackBot
date Sat, 14 May 2016 14:54:38 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/perl-5.22.2/win32/create_perllibst_h.pl	Sat May 14 14:54:38 2016 +0000
@@ -0,0 +1,17 @@
+#!perl -w
+use strict;
+
+# creates perllibst.h file for inclusion from perllib.c
+
+use Config;
+
+my @statics = split /\s+/, $Config{static_ext};
+open my $fh, '>', 'perllibst.h' or die "Failed to write to perllibst.h:$!";
+
+my @statics1 = map {local $_=$_;s/\//__/g;$_} @statics;
+my @statics2 = map {local $_=$_;s/\//::/g;$_} @statics;
+print $fh "/*DO NOT EDIT\n  this file is included from perllib.c to init static extensions */\n";
+print $fh "#ifdef STATIC1\n",(map {"    \"$_\",\n"} @statics),"#undef STATIC1\n#endif\n";
+print $fh "#ifdef STATIC2\n",(map {"    EXTERN_C void boot_$_ (pTHX_ CV* cv);\n"} @statics1),"#undef STATIC2\n#endif\n";
+print $fh "#ifdef STATIC3\n",(map {"    newXS(\"$statics2[$_]::bootstrap\", boot_$statics1[$_], file);\n"} 0 .. $#statics),"#undef STATIC3\n#endif\n";
+close $fh;