add Pod-Parser-1.08 (verbatim module =include tests elided owing
[p5sagit/p5-mst-13.2.git] / win32 / config_h.PL
index 3e54688..617b996 100644 (file)
@@ -5,6 +5,18 @@ use File::Copy qw(copy);
 my $OBJ   = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i;
 my $name = $0;
 $name =~ s#^(.*)\.PL$#../$1.SH#;
+my %opt;
+while (@ARGV && $ARGV[0] =~ /^([\w_]+)=(.*)$/)
+ {
+  $opt{$1}=$2;
+  shift(@ARGV);
+ }
+my $patchlevel = $opt{INST_VER};
+$patchlevel =~ s|^[\\/]||;
+$patchlevel =~ s|~VERSION~|$]|g;
+$patchlevel ||= $];
+$patchlevel = qq["$patchlevel"];
+
 open(SH,"<$name") || die "Cannot open $name:$!";
 while (<SH>)
  {
@@ -37,26 +49,18 @@ while (<SH>)
   munge();
   s/\\\$/\$/g;
   s#/[ *\*]*\*/#/**/#;
-  if (/^\s*#define\s+ARCHLIB_EXP/)
-   {
-     $_ = "#define ARCHLIB_EXP (win32_perllib_path(ARCHNAME,NULL))\t/**/\n";
-   }
-  if (/^\s*#define\s+PRIVLIB_EXP/)
-   {
-     $_ = "#define PRIVLIB_EXP (win32_perllib_path(NULL))\t/**/\n"
-   }
-  if (/^\s*#define\s+SITEARCH_EXP/)
+  if (/^\s*#define\s+(PRIVLIB|SITELIB)_EXP/)
    {
-     $_ = "#define SITEARCH_EXP (win32_perllib_path(\"site\",ARCHNAME,NULL))\t/**/\n";
+     $_ = "#define ". $1 . "_EXP (win32_get_". lc($1) . "($patchlevel))\t/**/\n";
    }
-  if (/^\s*#define\s+SITELIB_EXP/)
+  # incpush() handles archlibs, so disable them
+  elsif (/^\s*#define\s+(ARCHLIB|SITEARCH)_EXP/)
    {
-     $_ = "#define SITELIB_EXP (win32_perllib_path(\"site\",NULL))\t/**/\n";
+     $_ = "/*#define ". $1 . "_EXP \"\"\t/**/\n";
    }
   print H;
  }
-print H "#include <win32.h>
-";
+print H "#include <win32.h>\n";
 close(H);
 close(SH);