X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=wince%2FMakefile.ce;h=842df4a8dca2496f9fb327d0cd14ed3960a61ab8;hb=cde9c2113453df62687a8b4e5904da70e91f3a36;hp=343095ed3865def1143c7a14469261369cd446ef;hpb=84d4ea48280f6b54fdc70fe4c8b9494e3331071e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/wince/Makefile.ce b/wince/Makefile.ce index 343095e..842df4a 100644 --- a/wince/Makefile.ce +++ b/wince/Makefile.ce @@ -3,28 +3,68 @@ # Time-stamp: <26/10/01 15:10:06 keuchel@keuchelnt> SRCDIR = .. -PV = 57 -INST_VER = 5.7.2 +PV = 59 +INST_VER = 5.9.3 + +# INSTALL_ROOT specifies a path where this perl will be installed on CE device +INSTALL_ROOT=/netzwerk/sprache/perl +INST_TOP=$(INSTALL_ROOT) +INST_VER= + +# PERLCEDIR shoud be set to current directory PERLCEDIR = H:\src\wince\perl\wince -WCEROOT = N:\Windows CE Tools + +# WCEROOT is a directory where Windows CE Tools was installed WCEROOT = D:\Windows CE Tools -NTPERL = N:\Programme\perl\bin\perl.exe -NTPERL = D:\Programme\ActiveState\perl-5.6\bin\Perl.exe -CEPATH = N:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN + +# HPERL stands for host perl, which is perl on local desktop machine +# which is usually ..\miniperl.exe +#HPERL = N:\Programme\perl\bin\perl.exe +HPERL = $(MAKEDIR)\..\miniperl.exe + CEPATH = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN CELIBDLLDIR = h:\src\wince\celib-palm-3.0 CECONSOLEDIR = h:\src\wince\w32console + +# specify following options to build perl on local machine, by MSVC +MSVCDIR = D:\MSVStudio\VC98 +CCHOME = $(MSVCDIR) +CCINCDIR = $(CCHOME)\include +CCLIBDIR = $(CCHOME)\lib + # Only for WIN2000 #YES = /y COPY = copy $(YES) XCOPY = xcopy $(YES) /f /r /i /d RCOPY = xcopy $(YES) /f /r /i /e /d + +# cecopy program. Make shure it is in your path, as well as cemkdir, cedel +CECOPY = cecopy + +# +# Comment out next assign to disable perl's I/O subsystem and use compiler's +# stdio for IO - depending on your compiler vendor and run time library you may +# then get a number of fails from make test i.e. bugs - complain to them not us ;-). +# You will also be unable to take full advantage of perl5.8's support for multiple +# encodings and may see lower IO performance. You have been warned. +USE_PERLIO = define + +# +# set this if you wish to use perl's malloc +# This will make perl run few times faster +# WARNING: Turning this on/off WILL break binary compatibility with extensions +# you may have compiled with/without it. +# +PERL_MALLOC = define + + NOOP = @echo # keep this untouched! NULL = -CFG=DEBUG -#CFG=RELEASE + +#CFG=DEBUG +CFG=RELEASE !if "$(MACHINE)" == "" MACHINE=wince-arm-hpc-wce300 @@ -42,6 +82,12 @@ MACHINE=wince-arm-hpc-wce300 #MACHINE=wince-x86em-palm-wce211 !endif +# set this to your email address +# +#EMAIL = + +##################### CHANGE THESE ONLY IF YOU MUST ##################### + ###################################################################### # machines @@ -146,7 +192,7 @@ CPU = ARM TARGETCPU = ARM CEVersion = 300 OSVERSION = WCE300 -PLATFORM = HPC2000 +#PLATFORM = HPC2000 MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \ -DPROCESSOR_ARM -DPALM_SIZE \ -I $(CELIBDLLDIR)\inc @@ -243,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 @@ -259,7 +307,7 @@ PLATFORM = MS Pocket PC MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 \ -DPALM_SIZE -DPOCKET_SIZE \ -I $(CELIBDLLDIR)\inc -MACH = -machine:mips +MACH = -machine:sh3 SUBSYS = -subsystem:windowsce,3.00 CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release LDLIBPATH = -libpath:$(CELIBPATH) @@ -303,7 +351,11 @@ CECFLAGS = $(CECFLAGS) -Zi -Od !if "$(CFG)" == "RELEASE" # -O2 and -Ot give internal compiler error in perl.c and lexer. # Also the dll cannot be loaded by perl.exe... -CECFLAGS = $(CECFLAGS) +!if "$(CPU)" == "SH3" +!else +CECFLAGS = $(CECFLAGS) -O2 -Ot +!endif + !endif RCDEFS = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \ @@ -330,7 +382,6 @@ LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH) BUILDOPT = $(BUILDOPT) $(CECFLAGS) -##################### CHANGE THESE ONLY IF YOU MUST ##################### !IF "$(CRYPT_SRC)$(CRYPT_LIB)" == "" D_CRYPT = undef @@ -343,18 +394,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 - !IF "$(USE_MULTI)" == "" USE_MULTI = undef !ENDIF @@ -367,20 +406,23 @@ USE_ITHREADS = undef USE_IMP_SYS = undef !ENDIF +!IF "$(USE_PERLIO)" == "" +USE_PERLIO = undef +!ENDIF + !IF "$(USE_PERLCRT)" == "" 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 @@ -388,14 +430,22 @@ BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS !ENDIF +!IF "$(USE_PERLIO)" == "define" +BUILDOPT = $(BUILDOPT) -DUSE_PERLIO +!ENDIF + +!IF "$(CROSS_NAME)" == "" +CROSS_NAME = $(MACHINE) +!ENDIF + # new option - automatically defined in perl.h... #BUILDOPT = $(BUILDOPT) -DUSE_ENVIRON_ARRAY PROCESSOR_ARCHITECTURE = $(TARGETCPU) ARCHNAME = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE) -# unused yet ARCHDIR = ..\lib\$(ARCHNAME) COREDIR = ..\lib\CORE +XCOREDIR = ..\xlib\$(CROSS_NAME)\CORE AUTODIR = ..\lib\auto LIBDIR = ..\lib EXTDIR = ..\ext @@ -406,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 = @@ -442,6 +492,8 @@ LINK_FLAGS = -nologo -machine:$(PROCESSOR_ARCHITECTURE) !if "$(CFG)" == "DEBUG" LINK_FLAGS = $(LINK_FLAGS) -debug:full -pdb:none +!else +LINK_FLAGS = $(LINK_FLAGS) -release !endif OBJOUT_FLAG = -Fo @@ -472,16 +524,22 @@ $(o).dll: $(RSC) -i.. $< # This must be relative to ../lib/CORE, else the ext dll build fails... -PERLIMPLIB_EXP = ..\..\wince\$(MACHINE)\perl$(PV).lib +PERLIMPLIB_EXP = ..\..\..\xlib\$(CROSS_NAME)\CORE\perl$(PV).lib PERLIMPLIB = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib PERLDLL = $(MACHINE)\perl$(PV).dll DLLDIR = $(MACHINE)\dll PERLEXE = $(MACHINE)\perl.exe -CONFIGPM = ..\lib\Config.pm +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 @@ -490,7 +548,7 @@ CFGH_TMPL = config_H.ce # # filenames given to xsubpp must have forward slashes (since it puts # full pathnames in #line strings) -XSUBPP = $(NTPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \ +XSUBPP = $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \ -C++ -prototypes MICROCORE_SRC = \ @@ -504,6 +562,7 @@ MICROCORE_SRC = \ ..\hv.c \ ..\mg.c \ ..\op.c \ + ..\pad.c \ ..\perl.c \ ..\perlapi.c \ ..\perly.c \ @@ -513,11 +572,11 @@ MICROCORE_SRC = \ ..\pp_pack.c \ ..\pp_sort.c \ ..\pp_sys.c \ + ..\reentr.c \ ..\regcomp.c \ ..\regexec.c \ ..\run.c \ ..\scope.c \ - ..\sharedsv.c \ ..\sv.c \ ..\taint.c \ ..\toke.c \ @@ -532,7 +591,7 @@ EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c !ENDIF -EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c +EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c .\win32io.c WIN32_SRC = \ .\wince.c \ @@ -569,7 +628,6 @@ CORE_NOCFG_H = \ ..\proto.h \ ..\regexp.h \ ..\scope.h \ - ..\sharedsv.h \ ..\sv.h \ ..\thread.h \ ..\unixish.h \ @@ -586,6 +644,26 @@ CORE_NOCFG_H = \ .\include\sys\socket.h \ .\win32.h +CORE_H = $(CORE_NOCFG_H) .\config.h + +MICROCORE_OBJ = $(MICROCORE_SRC:.c=.obj) +CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.obj) +WIN32_OBJ = $(WIN32_SRC:.c=.obj) +#WIN32_OBJ = $(WIN32_OBJ:.\=.\$(DLLDIR)\) +MINICORE_OBJ = $(MICROCORE_OBJ:..\=.\$(DLLDIR)\) \ + $(MINIDIR)\miniperlmain$(o) \ + $(MINIDIR)\perlio$(o) +MINIWIN32_OBJ = $(WIN32_OBJ:.\=.\$(DLLDIR)\) +MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ) +DLL_OBJ = $(DLL_SRC:.c=.obj) +X2P_OBJ = $(X2P_SRC:.c=.obj) + +PERLDLL_OBJ = $(CORE_OBJ) +PERLEXE_OBJ = perlmain$(o) + +PERLDLL_OBJ = $(PERLDLL_OBJ) $(WIN32_OBJ) $(DLL_OBJ) +#PERLEXE_OBJ = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ) + !IF "$(USE_SETARGV)" != "" SETARGV_OBJ = setargv$(o) !ENDIF @@ -595,81 +673,11 @@ DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \ Sys/Hostname STATIC_EXT = DynaLoader -NONXS_EXT = Errno DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader -SOCKET = $(EXTDIR)\Socket\Socket -IO = $(EXTDIR)\IO\IO -DUMPER = $(EXTDIR)\Data\Dumper\Dumper -# -FCNTL = $(EXTDIR)\Fcntl\Fcntl -OPCODE = $(EXTDIR)\Opcode\Opcode -SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File -POSIX = $(EXTDIR)\POSIX\POSIX -ATTRS = $(EXTDIR)\attrs\attrs -THREAD = $(EXTDIR)\Thread\Thread -B = $(EXTDIR)\B\B -RE = $(EXTDIR)\re\re -ERRNO = $(EXTDIR)\Errno\Errno -PEEK = $(EXTDIR)\Devel\Peek\Peek -BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader -DPROF = $(EXTDIR)\Devel\DProf\DProf -GLOB = $(EXTDIR)\File\Glob\Glob -HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname -SOCKET_DLL = $(AUTODIR)\Socket\Socket.dll -FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll -OPCODE_DLL = $(AUTODIR)\Opcode\Opcode.dll -SDBM_FILE_DLL = $(AUTODIR)\SDBM_File\SDBM_File.dll -IO_DLL = $(AUTODIR)\IO\IO.dll -POSIX_DLL = $(AUTODIR)\POSIX\POSIX.dll -ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll -THREAD_DLL = $(AUTODIR)\Thread\Thread.dll -B_DLL = $(AUTODIR)\B\B.dll -DUMPER_DLL = $(AUTODIR)\Data\Dumper\Dumper.dll -PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll -RE_DLL = $(AUTODIR)\re\re.dll -BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll -DPROF_DLL = $(AUTODIR)\Devel\DProf\DProf.dll -GLOB_DLL = $(AUTODIR)\File\Glob\Glob.dll -HOSTNAME_DLL = $(AUTODIR)\Sys\Hostname\Hostname.dll ERRNO_PM = $(LIBDIR)\Errno.pm -EXTENSION_C = \ - $(SOCKET).c \ - $(FCNTL).c \ - $(OPCODE).c \ - $(SDBM_FILE).c \ - $(IO).c \ - $(POSIX).c \ - $(ATTRS).c \ - $(THREAD).c \ - $(RE).c \ - $(DUMPER).c \ - $(PEEK).c \ - $(B).c \ - $(BYTELOADER).c \ - $(DPROF).c \ - $(GLOB).c \ - $(HOSTNAME).c - -EXTENSION_DLL = \ - $(SOCKET_DLL) \ - $(FCNTL_DLL) \ - $(OPCODE_DLL) \ - $(SDBM_FILE_DLL)\ - $(IO_DLL) \ - $(POSIX_DLL) \ - $(ATTRS_DLL) \ - $(DUMPER_DLL) \ - $(PEEK_DLL) \ - $(B_DLL) \ - $(RE_DLL) \ - $(THREAD_DLL) \ - $(BYTELOADER_DLL) \ - $(DPROF_DLL) \ - $(GLOB_DLL) \ - $(HOSTNAME_DLL) EXTENSION_PM = \ $(ERRNO_PM) @@ -685,10 +693,10 @@ 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" \ + "cf_email=$(EMAIL)" \ "d_crypt=$(D_CRYPT)" \ "d_mymalloc=$(PERL_MALLOC)" \ "libs=$(LIBFILES)" \ @@ -699,11 +707,9 @@ CFG_VARS = \ "make=nmake" \ "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)" \ "optimize=$(OPTIMIZE)" @@ -711,24 +717,31 @@ CFG_VARS = \ # Top targets # -all: $(MINIMOD) $(CONFIGPM) $(PERLEXE) +all: hostminiperl $(MINIMOD) $(CONFIGPM) $(PERLEXE) Extensions $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c -$(CONFIGPM): config.h ..\config.sh ..\minimod.pl - cd .. && $(NTPERL) configpm - -mkdir $(COREDIR) - $(XCOPY) ..\*.h $(COREDIR)\*.* - $(XCOPY) *.h $(COREDIR)\*.* +$(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 $(COREDIR)\*.* - $(NTPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)" + $(RCOPY) include $(XCOREDIR)\*.* + $(XCOPY) ..\win32\include $(XCOREDIR)\*.* + -$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)" + if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM) -..\config.sh config.h: config.ce config_sh.PL - $(NTPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh +.\config.h: + -del /f config.h + copy config_H.ce config.h + +..\config.sh: config.ce config_sh.PL + $(HPERL) -I..\lib -I..\win32 config_sh.PL $(CFG_VARS) config.ce > ..\config.sh $(MINIMOD) : ..\minimod.pl - cd .. && $(NTPERL) minimod.pl > lib\ExtUtils\Miniperl.pm + cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm perlmain.c : runperl.c $(COPY) runperl.c perlmain.c @@ -736,8 +749,8 @@ perlmain.c : runperl.c $(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM) if not exist $(AUTODIR) mkdir $(AUTODIR) cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib $(*B)_pm.PL - $(NTPERL) -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) @@ -748,107 +761,23 @@ $(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 -$(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs - cd $(EXTDIR)\Data\$(*B) - $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\..\wince - -$(DPROF_DLL): $(PERLEXE) $(DPROF).xs - cd $(EXTDIR)\Devel\$(*B) - $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\..\wince - -$(GLOB_DLL): $(PERLEXE) $(GLOB).xs - cd $(EXTDIR)\File\$(*B) - $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\..\wince - -$(PEEK_DLL): $(PERLEXE) $(PEEK).xs - cd $(EXTDIR)\Devel\$(*B) - $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\..\wince - -$(RE_DLL): $(PERLEXE) $(RE).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(B_DLL): $(PERLEXE) $(B).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(THREAD_DLL): $(PERLEXE) $(THREAD).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(POSIX_DLL): $(PERLEXE) $(POSIX).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(IO_DLL): $(PERLEXE) $(IO).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince - -$(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince +#---------------------------------------------------------------------------------- +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 -$(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs - cd $(EXTDIR)\Sys\$(*B) - $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\..\wince +Extensions: ..\win32\buildext.pl $(PERLDEP) $(CONFIGPM) + $(HPERL) -I..\lib -I..\win32 -MCross=$(CROSS_NAME) ..\win32\buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) \ + !POSIX $(NOT_COMPILE_EXT) -$(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince +Extensions_clean: + -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean -$(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL - cd $(EXTDIR)\$(*B) - $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl - $(MAKE) - cd ..\..\wince +#---------------------------------------------------------------------------------- $(PERLEXE_RES): perl.rc perl.ico rc $(RCDEFS) perl.rc @@ -862,83 +791,6 @@ clean: -rm -f ../config.sh ../lib/Config.pm -rm -f config.h perl.res -!if "$(MACHINE)" == "wince-sh3-hpc" -install_perlexe: $(PERLEXE) - cedel /speicherkarte2/bin/perl.exe - cecopy pc:../perl.exe ce:/speicherkarte2/bin - -install_perldll: $(PERLDLL) - cedel /speicherkarte2/bin/perl$(PV).dll - cecopy pc:../perl$(PV).dll ce:/speicherkarte2/bin - -install_perl: install_perlexe install_perldll - -test_perl: - cecopy pc:test.pl ce:/speicherkarte2/bin - ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl -# ceexec /speicherkarte2/bin/perl.exe -V - -install_lib: ../lib/Config.pm - cecopy pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5 -!endif - -!if "$(MACHINE)" == "wince-arm-hpc" -install_perlexe: $(PERLEXE) - -cedel /speicherkarte/bin/perl.exe - cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin - -install_perldll: $(PERLDLL) - -cedel /speicherkarte/bin/perl$(PV).dll - cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin - -install_perl: install_perlexe install_perldll - -test_perl: - cecopy pc:test.pl ce:/speicherkarte/bin - ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl -# ceexec /speicherkarte2/bin/perl.exe -V - -install_lib: ../lib/Config.pm - cecopy pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5 -!endif - -!if "$(MACHINE)" == "wince-mips-hpc" -install_perlexe: $(PERLEXE) - cecopy pc:../perl.exe ce:/netzwerk/compaq/bin - -install_perldll: $(PERLDLL) - cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin - -install_perl: install_perlexe install_perldll - -test_perl: - cecopy pc:test.pl ce:/netzwerk/compaq/bin - ceexec /netzwerk/compaq/bin/perl.exe /netzwerk/compaq/bin/test.pl -# ceexec /netzwerk/compaq/bin/perl.exe -V - -install_lib: ../lib/Config.pm - cecopy pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5 -!endif - -!if "$(MACHINE)" == "wince-x86em-pocket" -install_lib: - ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib - ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib - ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter - -install_perlexe: $(PERLEXE) - cecopy pc:../perl.exe ce:/netzwerk/compaq/bin - -install_perldll: $(PERLDLL) - cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin - -install_perl: install_perlexe install_perldll - -test_perl: - echo Not yet -!endif - - XDLLOBJS = \ $(DLLDIR)\av.obj \ $(DLLDIR)\deb.obj \ @@ -952,6 +804,7 @@ $(DLLDIR)\locale.obj \ $(DLLDIR)\mg.obj \ $(DLLDIR)\numeric.obj \ $(DLLDIR)\op.obj \ +$(DLLDIR)\pad.obj \ $(DLLDIR)\perl.obj \ $(DLLDIR)\perlapi.obj \ $(DLLDIR)\perlio.obj \ @@ -962,11 +815,11 @@ $(DLLDIR)\pp_hot.obj \ $(DLLDIR)\pp_pack.obj \ $(DLLDIR)\pp_sort.obj \ $(DLLDIR)\pp_sys.obj \ +$(DLLDIR)\reentr.obj \ $(DLLDIR)\regcomp.obj \ $(DLLDIR)\regexec.obj \ $(DLLDIR)\run.obj \ $(DLLDIR)\scope.obj \ -$(DLLDIR)\sharedsv.obj \ $(DLLDIR)\sv.obj \ $(DLLDIR)\taint.obj \ $(DLLDIR)\toke.obj \ @@ -975,16 +828,40 @@ $(DLLDIR)\utf8.obj \ $(DLLDIR)\util.obj \ $(DLLDIR)\win32thread.obj \ $(DLLDIR)\wince.obj \ +$(DLLDIR)\win32io.obj \ $(DLLDIR)\wincesck.obj \ $(DLLDIR)\xsutils.obj \ $(DLLDIR)\perllib.obj \ $(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 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) \ + CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) > perldll.def $(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES) $(LINK32) -dll -def:perldll.def -out:$@ \ @@ -996,13 +873,14 @@ $(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 = \ $(MACHINE)\perlmain.obj $(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS) + $(XCOPY) $(MACHINE)\*.lib $(XCOREDIR) $(LINK32) $(SUBSYS) $(LDLIBPATH) \ -entry:wWinMainCRTStartup \ -out:$(MACHINE)\perl.exe \ @@ -1041,35 +919,46 @@ makedist: all dlls !if "$(MACHINE)" == "wince-arm-hpc-wce300" install: all - cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin - cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin + $(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:/speicherkarte/usr/lib/perl5/auto/IO/io.dll -!endif - -!if "$(MACHINE)" == "wince-arm-hpc-wce211" + $(CECOPY) pc:../lib/auto/IO/io.dll ce:$(INSTALL_ROOT)/lib/auto/IO/io.dll +!else install: all - cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin - cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin + -cemkdir "$(INSTALL_ROOT)" + -cemkdir "$(INSTALL_ROOT)\bin" + -cemkdir "$(INSTALL_ROOT)\lib" + $(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 -!if "$(MACHINE)" == "wince-mips-hpc-wce211" -install: - cecopy pc:$(MACHINE)/perl.exe ce:/bin - cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin -!endif +dist: all + $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) -!if "$(MACHINE)" == "wince-mips-hpc-wce200" -install: - cecopy pc:$(MACHINE)/perl.exe ce:/bin - cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin -!endif +zipdist: all + $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) + $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip -!if "$(MACHINE)" == "wince-sh3-hpc-wce211" -install: - cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte2/bin - cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte2/bin -!endif +zip: + $(HPERL) -I..\lib -MCross=$(CROSS_NAME) makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip perl.ico: - perl makeico.pl + $(HPERL) makeico.pl + +hostminiperl: ..\miniperl.exe + +..\miniperl.exe: + cd ../win32 + set PATH=$(CCHOME)\bin;$(PATH) + $(MAKE) -f Makefile "CCHOME=$(MSVCDIR)" "CCINCDIR=$(CCHOME)\include" "CCLIBDIR=$(CCHOME)\lib" "INCLUDE=$(CCHOME)\include" "LIB=$(CCHOME)\lib" "LINK_FLAGS=" .\config.h ..\miniperl.exe + cd ../wince + +host-install: + perl -MConfig -MExtUtils::Install -we "install({'../lib/CORE', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#},1)" + 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#"