Happy chainsaw stories; The removal of the 5005 threads
[p5sagit/p5-mst-13.2.git] / wince / Makefile.ce
index da36a2a..2771bcc 100644 (file)
@@ -3,8 +3,8 @@
 # Time-stamp: <26/10/01 15:10:06 keuchel@keuchelnt>
 
 SRCDIR     = ..
-PV         = 57
-INST_VER   = 5.7.3
+PV         = 59
+INST_VER   = 5.9.0
 
 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
 INSTALL_ROOT=/netzwerk/sprache/perl
@@ -55,8 +55,8 @@ NOOP     = @echo
 NULL      =
 
 
-CFG=DEBUG
-#CFG=RELEASE
+#CFG=DEBUG
+CFG=RELEASE
 
 !if "$(MACHINE)" == ""
 MACHINE=wince-arm-hpc-wce300
@@ -375,14 +375,6 @@ CRYPT_FLAG = -DHAVE_DES_FCRYPT
 PERL_MALLOC    = undef
 !ENDIF
 
-!IF "$(USE_5005THREADS)" == ""
-USE_5005THREADS        = undef
-!ENDIF
-
-!IF "$(USE_5005THREADS)" == "define"
-USE_ITHREADS   = undef
-!ENDIF
-
 !IF "$(USE_IMP_SYS)" == "define"
 PERL_MALLOC    = undef
 !ENDIF
@@ -407,16 +399,15 @@ USE_PERLIO        = undef
 USE_PERLCRT    = undef
 !ENDIF
 
-!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef"
+!IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
 USE_MULTI      = define
 !ENDIF
 
 !IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
 USE_MULTI      = define
-USE_5005THREADS        = undef
 !ENDIF
 
-!IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef"
+!IF "$(USE_MULTI)" != "undef"
 BUILDOPT       = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
 !ENDIF
 
@@ -526,6 +517,12 @@ PERLEXE            = $(MACHINE)\perl.exe
 CONFIGPM       = ..\xlib\$(CROSS_NAME)\Config.pm
 MINIMOD                = ..\lib\ExtUtils\Miniperl.pm
 
+# Nominate a target which causes extensions to be re-built
+# This used to be $(PERLEXE), but at worst it is the .dll that they depend
+# on and really only the interface - i.e. the .def file used to export symbols
+# from the .dll
+PERLDEP                = perldll.def
+
 MAKE           = nmake -nologo
 
 CFGSH_TMPL     = config.ce
@@ -534,7 +531,7 @@ CFGH_TMPL   = config_H.ce
 #
 # filenames given to xsubpp must have forward slashes (since it puts
 # full pathnames in #line strings)
-XSUBPP         = $(HPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \
+XSUBPP         = $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \
                -C++ -prototypes
 
 MICROCORE_SRC  =               \
@@ -728,7 +725,7 @@ CFG_VARS = \
  "INST_VER=$(INST_VER)" \
  "INST_ARCH=$(INST_ARCH)" \
  "archname=$(ARCHNAME)" \
- "cc=$(CC)" \
+ "CC=$(CC)" \
  "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
  "cf_by=Rainer Keuchel" \
  "cf_email=coyxc@rainer-keuchel.de" \
@@ -743,9 +740,7 @@ CFG_VARS = \
  "static_ext=$(STATIC_EXT)" \
  "dynamic_ext=$(DYNAMIC_EXT)" \
  "nonxs_ext=$(NONXS_EXT)" \
- "use5005threads=$(USE_5005THREADS)" \
  "useithreads=$(USE_ITHREADS)" \
- "usethreads=$(USE_5005THREADS)" \
  "usemultiplicity=$(USE_MULTI)" \
  "useperlio=$(USE_PERLIO)" \
  "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
@@ -755,7 +750,7 @@ CFG_VARS = \
 # Top targets
 #
 
-all: hostminiperl $(MINIMOD) $(CONFIGPM) $(PERLEXE)
+all: hostminiperl $(MINIMOD) $(CONFIGPM) $(PERLEXE) Extensions
 
 $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
 
@@ -766,14 +761,15 @@ $(CONFIGPM): .\config.h ..\config.sh ..\minimod.pl
        $(XCOPY) *.h $(XCOREDIR)\*.*
        $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
        $(RCOPY) include $(XCOREDIR)\*.*
-       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
+       -$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
+       if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
 
 .\config.h:
        -del /f config.h
        copy config_H.ce config.h
 
 ..\config.sh: config.ce config_sh.PL
-       $(HPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
+       $(HPERL) -I..\lib -I..\win32 config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
 
 $(MINIMOD) : ..\minimod.pl
        cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
@@ -784,8 +780,8 @@ perlmain.c : runperl.c
 $(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
        if not exist $(AUTODIR) mkdir $(AUTODIR)
        cd $(EXTDIR)\$(*B)
-       $(HPERL) -I..\..\lib $(*B)_pm.PL
-       $(HPERL) -I..\..\lib XSLoader_pm.PL
+       $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) $(*B)_pm.PL
+       $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) XSLoader_pm.PL
        cd ..\..\wince
        $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
        $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
@@ -796,6 +792,16 @@ $(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
 $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
        $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
 
+#----------------------------------------------------------------------------------
+Extensions: ..\win32\buildext.pl $(PERLDEP) $(CONFIGPM)
+       $(HPERL) -I..\lib -I..\win32 -MCross=$(CROSS_NAME) ..\win32\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \
+       !File/Glob !POSIX !Time/HiRes
+
+Extensions_clean: 
+       -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean
+
+#----------------------------------------------------------------------------------
+
 $(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs
        cd $(EXTDIR)\Data\$(*B)
        $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
@@ -1123,3 +1129,6 @@ host-install:
        perl -MConfig -MExtUtils::Install -we "install({'../xlib/$(CROSS_NAME)', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)#},1)"
        perl -MConfig -MFile::Copy -we "copy qq#./$(MACHINE)/perl$(PV).lib#, qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#"
        perl -MConfig -MFile::Copy -we "copy qq#../lib/Cross.pm#, qq#$$Config{installprefixexp}/lib#"
+       perl -MConfig -we "system qq#perl -pi.bak -we \"s{((arch^|priv)libexp)='.*'}{\$$1='# . \
+        quotemeta($$Config{installprefixexp}) . \
+        qq#/xlib/$(CROSS_NAME)'}\" $$Config{installprefixexp}/xlib/$(CROSS_NAME)/Config.pm#"