This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[asperl] tweak makefiles
[perl5.git] / win32 / config_h.PL
index d266f65..0a4e6ce 100644 (file)
@@ -2,6 +2,7 @@
 use Config;
 use File::Compare qw(compare);
 use File::Copy qw(copy);
+my $OBJ   = 1 if $Config{'ccflags'} =~ /PERL_OBJECT/i;
 my $name = $0;
 $name =~ s#^(.*)\.PL$#../$1.SH#;
 open(SH,"<$name") || die "Cannot open $name:$!";
@@ -27,6 +28,7 @@ eval $str;
 die "$str:$@" if $@;
 
 open(H,">$file.new") || die "Cannot open $file.new:$!";
+binmode H;             # no CRs (which cause a spurious rebuild)
 while (<SH>)
  {
   last if /^$term$/o;
@@ -35,14 +37,25 @@ while (<SH>)
   munge();
   s/\\\$/\$/g;
   s#/[ *\*]*\*/#/**/#;
-  if (/#define\s+ARCHLIBEXP/)
+  # 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_get_stdlib(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/)
+   {
+     $_ = "#define SITELIB_EXP (win32_get_sitelib(patchlevel))\t/**/\n";
    }
   print H;
  }
 print H "#include <win32.h>
-#define ARCHLIBEXP (win32PerlLibPath())
-#define DEBUGGING
 ";
 close(H);
 close(SH);
@@ -52,15 +65,20 @@ chmod(0666,"../lib/CORE/config.h");
 copy("$file.new","../lib/CORE/config.h") || die "Cannot copy:$!";
 chmod(0444,"../lib/CORE/config.h");
 
-if (compare("$file.new",$file))
+if (!$OBJ && compare("$file.new",$file))
  {
   warn "$file has changed\n";
   chmod(0666,$file);
   unlink($file);
   rename("$file.new",$file);
-  chmod(0444,$file);
+  #chmod(0444,$file);
   exit(1);
  }
+else
+ {
+  unlink ("$file.new");
+  exit(0);
+ }
 
 sub Config
 {