Add an option TARG_DIR to makedef.pl, giving the path to files to read & write.
authorNicholas Clark <nick@ccl4.org>
Sat, 16 Jul 2011 20:51:11 +0000 (21:51 +0100)
committerNicholas Clark <nick@ccl4.org>
Sun, 24 Jul 2011 08:30:17 +0000 (10:30 +0200)
Change the Makefiles for Win32, WinCE and NetWare to pass in TARG_DIR of ..\
Previously ..\ was hardcoded for PLATFORM=win32, wince or netware. Making it a
parameter allows portable testing of makedef.pl.

NetWare/Makefile
makedef.pl
win32/Makefile
win32/Makefile.ce
win32/makefile.mk

index 22d8e5f..4c14412 100644 (file)
@@ -1063,10 +1063,10 @@ $(PERLIMPLIB): perllib.imp
 
 perllib.imp : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl
 #      $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=def $(ADD_BUILDOPT) \
-#          CCTYPE=$(CCTYPE) > perllib.def
+#          CCTYPE=$(CCTYPE) TARG_DIR=..\ > perllib.def
        @echo (Perl) > perl.imp
        $(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=imp $(BS_CFLAGS) $(DEFINES) $(ADD_BUILDOPT) \
-           CCTYPE=$(CCTYPE) >> perl.imp
+           CCTYPE=$(CCTYPE) TARG_DIR=..\ >> perl.imp
        copy perl.imp $(COREDIR)
   
 $(DLL_OBJ) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
index 0f47ffb..c69589d 100644 (file)
@@ -36,7 +36,9 @@ BEGIN { unshift @INC, "lib" }
 use Config;
 use strict;
 
-use vars qw($PLATFORM $CCTYPE $FILETYPE $CONFIG_ARGS $ARCHNAME $PATCHLEVEL);
+use vars qw($PLATFORM $CCTYPE $FILETYPE $CONFIG_ARGS $ARCHNAME $PATCHLEVEL $TARG_DIR);
+
+$TARG_DIR = '';
 
 my (%define, %ordinal);
 
@@ -56,6 +58,7 @@ while (@ARGV) {
     if ($PLATFORM eq 'netware') {
        $FILETYPE = $1 if ($flag =~ /^FILETYPE=(\w+)$/);
     }
+    $TARG_DIR = $1 if $flag =~ /^TARG_DIR=(.+)$/;
 }
 
 my @PLATFORM = qw(aix win32 wince os2 netware vms);
@@ -112,9 +115,9 @@ if ($PLATFORM eq 'aix') {
 }
 elsif ($PLATFORM =~ /^win(?:32|ce)$/ || $PLATFORM eq 'netware') {
     $CCTYPE = "MSVC" unless defined $CCTYPE;
-    foreach ($intrpvar_h, $perlvars_h, $global_sym, $globvar_sym, $perlio_sym
+    foreach ($intrpvar_h, $perlvars_h, $global_sym, $globvar_sym, $perlio_sym,
             $config_sh) {
-       s!^!..\\!;
+       s!^!$TARG_DIR!;
     }
 }
 
index 1c9307a..1d680c0 100644 (file)
@@ -902,7 +902,7 @@ $(X2P_OBJ)  : $(CORE_H)
 perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl create_perllibst_h.pl
        $(MINIPERL) -I..\lib create_perllibst_h.pl
        $(MINIPERL) -I..\lib -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
-           CCTYPE=$(CCTYPE) > perldll.def
+           CCTYPE=$(CCTYPE) TARG_DIR=..\ > perldll.def
 
 $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
        $(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ @Extensions_static @<<
index 7209845..b1bf152 100644 (file)
@@ -848,7 +848,7 @@ $(DLLDIR)\perllib$(o)       : perllib.c .\perlhost.h .\vdir.h .\vmem.h
 perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl create_perllibst_h.pl
        $(HPERL) -MCross -I..\lib create_perllibst_h.pl
        $(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
-           CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) > perldll.def
+           CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) TARG_DIR=..\ > perldll.def
 
 $(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
        $(LINK32) -dll -def:perldll.def -out:$@ \
index 93280e9..ec952a4 100644 (file)
@@ -1206,7 +1206,7 @@ $(X2P_OBJ)        : $(CORE_H)
 perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl create_perllibst_h.pl
        $(MINIPERL) -I..\lib create_perllibst_h.pl
        $(MINIPERL) -I..\lib -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) \
-       $(BUILDOPT) CCTYPE=$(CCTYPE) > perldll.def
+       $(BUILDOPT) CCTYPE=$(CCTYPE) TARG_DIR=..\ > perldll.def
 
 $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
 .IF "$(CCTYPE)" == "BORLAND"