From 080c37298617406e02876f5945650ccf10840f28 Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Sat, 16 Jul 2011 21:51:11 +0100 Subject: [PATCH] Add an option TARG_DIR to makedef.pl, giving the path to files to read & write. 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 | 4 ++-- makedef.pl | 9 ++++++--- win32/Makefile | 2 +- win32/Makefile.ce | 2 +- win32/makefile.mk | 2 +- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/NetWare/Makefile b/NetWare/Makefile index 22d8e5f..4c14412 100644 --- a/NetWare/Makefile +++ b/NetWare/Makefile @@ -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 diff --git a/makedef.pl b/makedef.pl index 0f47ffb..c69589d 100644 --- a/makedef.pl +++ b/makedef.pl @@ -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!; } } diff --git a/win32/Makefile b/win32/Makefile index 1c9307a..1d680c0 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -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 @<< diff --git a/win32/Makefile.ce b/win32/Makefile.ce index 7209845..b1bf152 100644 --- a/win32/Makefile.ce +++ b/win32/Makefile.ce @@ -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:$@ \ diff --git a/win32/makefile.mk b/win32/makefile.mk index 93280e9..ec952a4 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -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" -- 1.8.3.1