summaryrefslogtreecommitdiff
path: root/win32/Makefile
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-09-17 11:35:14 +0100
committerNicholas Clark <nick@ccl4.org>2009-09-17 11:35:14 +0100
commit281da5eaa82c552216e167aece73c3f8df066bd4 (patch)
tree2c1d9ffab18972a69bcc1c399fb17a4a5caddb01 /win32/Makefile
parentf58022876005bfeea1653994a1075151b3f2a25a (diff)
downloadperl-281da5eaa82c552216e167aece73c3f8df066bd4.tar.gz
Convert win32 to build DynaLoader with EU::MM in ext/DynaLoader
With help from Steve Hay. This converges the win32 build process with the ./Configure-based approach.
Diffstat (limited to 'win32/Makefile')
-rw-r--r--win32/Makefile38
1 files changed, 9 insertions, 29 deletions
diff --git a/win32/Makefile b/win32/Makefile
index d4eb178f86..fa02e3bd4e 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -713,8 +713,6 @@ WIN32_SRC = $(WIN32_SRC) .\win32io.c
WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)
!ENDIF
-DLL_SRC = $(DYNALOADER).c
-
X2P_SRC = \
..\x2p\a2p.c \
..\x2p\hash.c \
@@ -775,7 +773,7 @@ MINICORE_OBJ = $(MICROCORE_OBJ:..\=.\mini\) \
$(MINIDIR)\perlio$(o)
MINIWIN32_OBJ = $(WIN32_OBJ:.\=.\mini\)
MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ)
-DLL_OBJ = $(DLL_SRC:.c=.obj)
+DLL_OBJ = $(DYNALOADER)
X2P_OBJ = $(X2P_SRC:.c=.obj)
GENUUDMAP_OBJ = $(GENUUDMAP:.exe=.obj)
@@ -801,7 +799,7 @@ STATIC_EXT = * !Win32 !SDBM_File !Encode
STATIC_EXT = Win32CORE
!ENDIF
-DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader
+DYNALOADER = ..\DynaLoader$(o)
CFG_VARS = \
"INST_DRV=$(INST_DRV)" \
@@ -856,8 +854,6 @@ reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIMOD) $(CONFIGPM)
$(UNIDATAFILES) $(PERLEXE) $(X2P) Extensions_reonly
@echo Perl and 're' are up to date.
-$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
-
static: $(PERLEXESTATIC)
#------------------------------------------------------------
@@ -1035,21 +1031,6 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
$(LIBFILES) $(PERLEXEST_OBJ) $(SETARGV_OBJ) $(PERLEXE_RES)
$(EMBED_EXE_MANI)
-$(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM) Extensions_nonxs
- if not exist $(AUTODIR) mkdir $(AUTODIR)
- cd $(EXTDIR)\$(*B)
- ..\$(MINIPERL) -I..\..\lib $(*B)_pm.PL
- ..\$(MINIPERL) -I..\..\lib XSLoader_pm.PL
- cd ..\..\win32
- $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
- $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
- cd $(EXTDIR)\$(*B)
- $(XSUBPP) dl_win32.xs > $(*B).c
- cd ..\..\win32
-
-$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
- copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
-
MakePPPort: $(MINIPERL) $(CONFIGPM) Extensions_nonxs
$(MINIPERL) -I..\lib $(ICWD) ..\mkppport
@@ -1057,14 +1038,13 @@ MakePPPort_clean:
-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\mkppport --clean
#-------------------------------------------------------------------------------
-# The rule for $(DYNALOADER).c makes DynaLoader.pm, and that is needed for
-# ExtUtils::Mkbootstrap. There's no direct way to mark a dependency on
+# There's no direct way to mark a dependency on
# DynaLoader.pm, so this will have to do
-Extensions: ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER).c
+Extensions: ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynamic
-Extensions_reonly: ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER).c
+Extensions_reonly: ..\make_ext.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynamic +re
@@ -1077,6 +1057,10 @@ Extensions_nonxs: ..\make_ext.pl $(PERLDEP) $(CONFIGPM)
$(XCOPY) ..\*.h $(COREDIR)\*.*
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --nonxs
+$(DYNALOADER) : ..\make_ext.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
+ $(XCOPY) ..\*.h $(COREDIR)\*.*
+ $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader
+
Extensions_clean:
-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --all --target=clean
@@ -1155,10 +1139,6 @@ distclean: realclean
$(PERLIMPLIB) ..\miniperl.lib $(MINIMOD) \
$(PERLEXESTATIC) $(PERLSTATICLIB)
-del /f *.def *.map
- -del /f $(DYNALOADER).c
- -del /f $(EXTDIR)\DynaLoader\dl_win32.xs
- -del /f $(EXTDIR)\DynaLoader\DynaLoader.pm
- -del /f $(EXTDIR)\DynaLoader\XSLoader.pm
-del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm
-del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm
-del /f $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm