Only compile Perl_hv_assert with DEBUGGING.
[p5sagit/p5-mst-13.2.git] / wince / Makefile.ce
index af482dc..1becaaf 100644 (file)
@@ -4,7 +4,7 @@
 
 SRCDIR     = ..
 PV         = 59
-INST_VER   = 5.9.0
+INST_VER   = 5.9.4
 
 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
 INSTALL_ROOT=/netzwerk/sprache/perl
@@ -289,7 +289,9 @@ MCFLAGS    = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
 MACH       = -machine:mips
 SUBSYS     = -subsystem:windowsce,3.00
 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release
+#STDLIBPATH = $(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(CPU)
 LDLIBPATH  = -libpath:$(CELIBPATH)
+#"-libpath:$(STDLIBPATH)"
 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
 !endif
@@ -454,10 +456,10 @@ LINK32            = link
 LIB32          = $(LINK32) -lib
 RSC            = rc
 
-INCLUDES       = -I.\include -I. -I..
+INCLUDES       = -I.\include -I..\win32\include -I. -I..
 DEFINES                = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) $(CECFLAGS)
 LOCDEFS                = -DPERLDLL -DPERL_CORE
-CXX_FLAG       = -TP -GX
+CXX_FLAG       = -TP
 
 PERLEXE_RES    = perl.res
 PERLDLL_RES    =
@@ -532,6 +534,16 @@ PERLEXE            = $(MACHINE)\perl.exe
 CONFIGPM       = ..\xlib\$(CROSS_NAME)\Config.pm
 MINIMOD                = ..\lib\ExtUtils\Miniperl.pm
 
+# Unicode data files generated by mktables
+UNIDATAFILES    = ..\lib\unicore\Canonical.pl ..\lib\unicore\Exact.pl \
+                  ..\lib\unicore\Properties ..\lib\unicore\Decomposition.pl \
+                  ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
+                  ..\lib\unicore\PVA.pl
+
+# Directories of Unicode data files generated by mktables
+UNIDATADIR1    = ..\lib\unicore\To
+UNIDATADIR2    = ..\lib\unicore\lib
+
 # 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
@@ -693,7 +705,8 @@ CFG_VARS = \
  "archname=$(ARCHNAME)" \
  "CC=$(CC)" \
  "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
- "cf_by=Rainer Keuchel" \
+ "cppflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
+ "cf_by=vkon" \
  "cf_email=$(EMAIL)" \
  "d_crypt=$(D_CRYPT)" \
  "d_mymalloc=$(PERL_MALLOC)" \
@@ -715,7 +728,7 @@ CFG_VARS = \
 # Top targets
 #
 
-all: hostminiperl $(MINIMOD) $(CONFIGPM) $(PERLEXE) Extensions
+all: hostminiperl $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) Extensions
 
 $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
 
@@ -723,11 +736,12 @@ $(CONFIGPM): .\config.h ..\config.sh ..\minimod.pl
        cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
        -mkdir $(XCOREDIR)
        $(XCOPY) ..\*.h $(XCOREDIR)\*.*
+       $(XCOPY) ..\*.inc $(XCOREDIR)\*.*
        $(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)"
-       if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
+       $(XCOPY) ..\win32\include $(XCOREDIR)\*.*
+       $(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
 
 .\config.h:
        -del /f config.h
@@ -758,9 +772,17 @@ $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
        $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
 
 #----------------------------------------------------------------------------------
+NOT_COMPILE_EXT =
+!if "$(MACHINE)" == "wince-sh3-palm-wce211"
+NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap
+!endif
+!if "$(MACHINE)" == "wince-mips-palm-wce211"
+NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap
+!endif
+
 Extensions: ..\win32\buildext.pl $(PERLDEP) $(CONFIGPM)
        $(HPERL) -I..\lib -I..\win32 -MCross=$(CROSS_NAME) ..\win32\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \
-       !POSIX !Time/HiRes !XS/Typemap
+       !POSIX $(NOT_COMPILE_EXT)
 
 Extensions_clean: 
        -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean
@@ -789,6 +811,7 @@ $(DLLDIR)\globals.obj \
 $(DLLDIR)\gv.obj \
 $(DLLDIR)\hv.obj \
 $(DLLDIR)\locale.obj \
+$(DLLDIR)\mathoms.obj \
 $(DLLDIR)\mg.obj \
 $(DLLDIR)\numeric.obj \
 $(DLLDIR)\op.obj \
@@ -824,12 +847,28 @@ $(DLLDIR)\DynaLoader.obj
 !IF "$(PERL_MALLOC)" == "define"
 XDLLOBJS       = $(XDLLOBJS) $(DLLDIR)\malloc.obj
 !ENDIF
+!IF "$(CRYPT_SRC)" != ""
+XDLLOBJS       = $(XDLLOBJS) $(DLLDIR)\fcrypt.obj
+!ENDIF
 
 {$(SRCDIR)}.c{$(DLLDIR)}.obj:
-    $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
+    $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
+
+# compiler explains that it will optimize toke.c if we'll give it an
+# option -QMOb<num> with num>=4178
+$(DLLDIR)\toke.obj:
+    $(CC) -c $(CFLAGS_O) -QMOb9000 -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ ..\toke.c
 
 {$(SRCDIR)/wince}.c{$(DLLDIR)}.obj:
-    $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
+    $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
+
+# -DPERL_IMPLICIT_SYS needs C++ for perllib.c
+# This is the only file that depends on perlhost.h, vmem.h, and vdir.h
+!IF "$(USE_IMP_SYS)" == "define"
+$(DLLDIR)\perllib$(o)  : perllib.c .\perlhost.h .\vdir.h .\vmem.h
+       $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c
+       rem (frustrated) mv perllib.obj $(DLLDIR)
+!ENDIF
 
 perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
        $(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
@@ -845,7 +884,7 @@ $(DLLDIR) :
        if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"
 
 $(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
-    $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
+    $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
           $(EXTDIR)\DynaLoader\DynaLoader.c
 
 XPERLEXEOBJS = \
@@ -889,13 +928,6 @@ makedist: all dlls
        mv perl-$(MACHINE).tar.gz h:/freenet/new
        cd ..
 
-!if "$(MACHINE)" == "wince-arm-hpc-wce300"
-install: all
-       $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
-       $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
-install_dlls: dlls
-       $(CECOPY) pc:../lib/auto/IO/io.dll ce:$(INSTALL_ROOT)/lib/auto/IO/io.dll
-!else
 install: all
        -cemkdir "$(INSTALL_ROOT)"
        -cemkdir "$(INSTALL_ROOT)\bin"
@@ -903,7 +935,10 @@ install: all
        $(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin"
        $(CECOPY) "pc:$(MACHINE)/perl$(PV).dll" "ce:$(INSTALL_ROOT)/bin"
        $(CECOPY) "pc:../xlib/$(CROSS_NAME)/Config.pm" "ce:$(INSTALL_ROOT)/lib"
-!endif
+
+$(UNIDATAFILES) : $(HPERL) $(CONFIGPM) ..\lib\unicore\mktables
+       cd ..\lib\unicore && \
+       $(HPERL) -I.. mktables
 
 dist: all
        $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)