This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[win32] @INC construction on win32 cleaned up
[perl5.git] / win32 / config_h.PL
index 0a4e6ce..26a2430 100644 (file)
@@ -5,6 +5,17 @@ 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 ||= $];
+$patchlevel = qq["$patchlevel"];
+
 open(SH,"<$name") || die "Cannot open $name:$!";
 while (<SH>)
  {
@@ -37,26 +48,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/)
+  if (/^\s*#define\s+(PRIVLIB|SITELIB)_EXP/)
    {
-     $_ = "#define PRIVLIB_EXP (win32_get_stdlib(patchlevel))\t/**/\n"
+     $_ = "#define ". $1 . "_EXP (win32_get_". lc($1) . "($patchlevel))\t/**/\n";
    }
-  # if (/^\s*#define\s+SITEARCH_EXP/)
-  #  {
-  #    $_ = "#define SITEARCH_EXP (win32_perllib_path(\"site\",ARCHNAME,NULL))\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_get_sitelib(patchlevel))\t/**/\n";
+     $_ = "/*#define ". $1 . "_EXP \"\"\t/**/\n";
    }
   print H;
  }
-print H "#include <win32.h>
-";
+print H "#include <win32.h>\n";
 close(H);
 close(SH);