Change 30208 by [EMAIL PROTECTED] on 2007/02/10 23:36:59
Integrate:
[ 28513]
Integrate mkppport. All ppport.h files in the core will now
be autogenerated at build time (and removed during cleanup).
Affected files ...
... //depot/maint-5.8/perl/MANIFEST#317 integrate
... //depot/maint-5.8/perl/Makefile.SH#66 integrate
... //depot/maint-5.8/perl/ext/Cwd/ppport.h#3 delete
... //depot/maint-5.8/perl/ext/Time/HiRes/ppport.h#4 delete
... //depot/maint-5.8/perl/mkppport#1 branch
... //depot/maint-5.8/perl/mkppport.lst#1 branch
... //depot/maint-5.8/perl/vms/descrip_mms.template#47 integrate
... //depot/maint-5.8/perl/win32/Makefile#61 integrate
... //depot/maint-5.8/perl/win32/Makefile.ce#1 branch
... //depot/maint-5.8/perl/win32/ext/Win32API/File/ppport.h#2 delete
... //depot/maint-5.8/perl/win32/makefile.mk#69 integrate
Differences ...
==== //depot/maint-5.8/perl/MANIFEST#317 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#316~30207~ 2007-02-10 15:17:30.000000000 -0800
+++ perl/MANIFEST 2007-02-10 15:36:59.000000000 -0800
@@ -153,7 +153,6 @@
ext/Cwd/Changes Cwd extension Changelog
ext/Cwd/Cwd.xs Cwd extension external subroutines
ext/Cwd/Makefile.PL Cwd extension makefile maker
-ext/Cwd/ppport.h portability header for Cwd
ext/Cwd/t/cwd.t See if Cwd works
ext/Cwd/t/taint.t See if Cwd works with taint
ext/Cwd/t/win32.t See if Cwd works on Win32
@@ -976,7 +975,6 @@
ext/Time/HiRes/HiRes.pm Time::HiRes extension
ext/Time/HiRes/HiRes.xs Time::HiRes extension
ext/Time/HiRes/Makefile.PL Time::HiRes extension
-ext/Time/HiRes/ppport.h portability header for Time::HiRes
ext/Time/HiRes/t/HiRes.t Test for Time::HiRes
ext/Time/HiRes/typemap Time::HiRes extension
ext/Unicode/Normalize/Changes Unicode::Normalize
@@ -2186,6 +2184,8 @@
mint/stdio.h MiNT port
mint/sys/time.h MiNT port
mint/time.h MiNT port
+mkppport A script that distributes ppport.h
+mkppport.lst List of extensions that need a ppport.h
mpeix/mpeix.c MPE/iX port
mpeix/mpeixish.h MPE/iX port
mpeix/mpeix_setjmp.c MPE/iX port
@@ -3109,7 +3109,6 @@
win32/ext/Win32API/File/File.pm Win32API::File
extension
win32/ext/Win32API/File/File.xs Win32API::File
extension
win32/ext/Win32API/File/Makefile.PL Win32API::File
extension makefile write
-win32/ext/Win32API/File/ppport.h Win32API::File extension
win32/ext/Win32API/File/README Win32API::File
extension Readme
win32/ext/Win32API/File/t/file.t See if Win32API::File
extension works
win32/ext/Win32API/File/t/tie.t See if
Win32API::File extension works
==== //depot/maint-5.8/perl/Makefile.SH#66 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH#65~30206~ 2007-02-10 14:44:37.000000000 -0800
+++ perl/Makefile.SH 2007-02-10 15:36:59.000000000 -0800
@@ -830,6 +830,10 @@
autosplit_lib_modules(@ARGV)' lib/*/*.pm
$(MAKE) lib/re.pm
+.PHONY: makeppport
+makeppport: miniperl$(EXE_EXT) $(CONFIGPM)
+ $(LDLIBPTH) ./miniperl -Ilib mkppport
+
lib/Config.pod: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
$(LDLIBPTH) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl
lib/Config.pm
@@ -1037,10 +1041,10 @@
$(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE
@$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE)
LIBPERL_A=$(LIBPERL)
-d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER)
FORCE
+d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary makeppport
$(DYNALOADER) FORCE
@$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE)
LIBPERL_A=$(LIBPERL)
-s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary makeppport $(DYNALOADER)
FORCE
@$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE)
LIBPERL_A=$(LIBPERL)
n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
@@ -1113,6 +1117,7 @@
[EMAIL PROTECTED] x in $(DYNALOADER) $(dynamic_ext) $(static_ext)
$(nonxs_ext) ; do \
$(LDLIBPTH) sh ext/util/make_ext $(CLEAN) $$x MAKE=$(MAKE) ; \
done
+ $(LDLIBPTH) ./miniperl -Ilib mkppport --clean
# Some systems do not support "?", so keep these files separate.
_cleaner2:
==== //depot/maint-5.8/perl/mkppport#1 (text) ====
Index: perl/mkppport
--- /dev/null 2007-01-16 11:55:45.526841103 -0800
+++ perl/mkppport 2007-02-10 15:36:59.000000000 -0800
@@ -0,0 +1,181 @@
+use strict;
+use warnings;
+
+use Getopt::Long;
+use Pod::Usage;
+use File::Spec;
+use File::Copy qw( copy );
+use File::Basename qw( dirname );
+
+sub iterdirs(&);
+
+my $rootdir = dirname($0);
+
+unshift @INC, File::Spec->catfile($rootdir, 't', 'lib');
+
+eval q{ use MakeMaker::Test::Utils qw( which_perl ) };
+$@ and die $@;
+
+my %opt = (
+ list => File::Spec->catfile($rootdir, 'mkppport.lst'),
+ clean => 0,
+);
+
+GetOptions(\%opt, qw( clean list=s )) or pod2usage(2);
+
+my $absroot = File::Spec->rel2abs($rootdir);
+my @destdirs = readlist($opt{list});
+
+# Nothing to do...
+unless (@destdirs) {
+ print "no destination directories found in $opt{list}\n";
+ exit 0;
+}
+
+# Remove all installed ppport.h files
+if ($opt{clean}) {
+ iterdirs {
+ my($dir, $fulldir) = @_;
+ my $dest = File::Spec->catfile($fulldir, 'ppport.h');
+ if (-f $dest) {
+ print "removing ppport.h for $dir\n";
+ unlink $dest or warn "WARNING: could not remove $dest: $!\n";
+ 1 while unlink $dest; # remove any remaining versions
+ }
+ };
+ exit 0;
+}
+
+# Determine full perl location
+my $perl = which_perl();
+
+# We're now changing the directory, which confuses the deferred
+# loading in Config.pm, so we better use an absolute @INC path
+unshift @INC, File::Spec->catdir($absroot, 'lib');
+
+# Change to Devel::PPPort directory, as it needs the stuff
+# from the parts/ directory
+chdir File::Spec->catdir($rootdir, 'ext', 'Devel', 'PPPort');
+
+# Capture and remove temporary files
+my @unlink;
+
+END {
+ for my $file (@unlink) {
+ print "removing temporary file $file\n";
+ unlink $file or warn "WARNING: could not remove $file: $!\n";
+ 1 while unlink $file; # remove any remaining versions
+ }
+}
+
+# Try to create a ppport.h if it doesn't exist yet, and
+# remember all files that need to be removed later.
+unless (-e 'ppport.h') {
+ unless (-e 'PPPort.pm') {
+ run('PPPort_pm.PL');
+ push @unlink, 'PPPort.pm';
+ }
+ run('ppport_h.PL');
+ push @unlink, 'ppport.h';
+}
+
+# Now install the created ppport.h into extension directories
+iterdirs {
+ my($dir, $fulldir) = @_;
+ print "installing ppport.h for $dir\n";
+ my $dest = File::Spec->catfile($fulldir, 'ppport.h');
+ copy('ppport.h', $dest) or die "copying ppport.h to $dest failed: $!\n";
+};
+
+exit 0;
+
+#---------------------------------------
+# Iterate through extension directories
+#---------------------------------------
+sub iterdirs(&)
+{
+ my $code = shift;
+
+ for my $dir (@destdirs) {
+ my $fulldir = File::Spec->catdir($absroot, $dir);
+ if (-d $fulldir) {
+ $code->($dir, $fulldir);
+ }
+ else {
+ warn "WARNING: no such directory: $fulldir\n";
+ }
+ }
+}
+
+#----------------------------------------
+# Read the list of extension directories
+#----------------------------------------
+sub readlist
+{
+ my $list = shift;
+ my @dirs;
+ open LIST, $list or die "$list: $!\n";
+ while (<LIST>) {
+ chomp;
+ /^\s*(?:$|#)/ or push @dirs, $_;
+ }
+ close LIST;
+ return @dirs;
+}
+
+#----------------------------------------------
+# Runs a script in the Devel::PPPort directory
+#----------------------------------------------
+sub run
+{
+ my @args = ("-I" . File::Spec->catdir((File::Spec->updir) x 3, 'lib'), @_);
+ my $run = $perl =~ m/\s/ ? qq("$perl") : $perl;
+ for (@args) {
+ $_ = qq("$_") if $^O eq 'VMS' && /^[^"]/;
+ $run .= " $_";
+ }
+ print "running $run\n";
+ system $run and die "$run failed: $?\n";
+}
+
+__END__
+
+=head1 NAME
+
+mkppport - distribute ppport.h among extensions
+
+=head1 SYNOPSIS
+
+mkppport [B<--list>=I<file>] [B<--clean>]
+
+=head1 DESCRIPTION
+
+B<mkppport> generates a I<ppport.h> file using Devel::PPPort
+and distributes it to the various extension directories that
+need it to build.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--list>=I<file>
+
+Name of the file that holds the list of extension directories
+that I<ppport.h> should be distributed to.
+This defaults to I<mkppport.lst> in the same directory as this
+script.
+
+=item B<--clean>
+
+Run with this option to clean out all distributed I<ppport.h> files.
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2006 by Marcus Holland-Moritz <[EMAIL PROTECTED]>.
+
+This program is free software; you may redistribute it
+and/or modify it under the same terms as Perl itself.
+
+=cut
==== //depot/maint-5.8/perl/mkppport.lst#1 (text) ====
Index: perl/mkppport.lst
--- /dev/null 2007-01-16 11:55:45.526841103 -0800
+++ perl/mkppport.lst 2007-02-10 15:36:59.000000000 -0800
@@ -0,0 +1,14 @@
+#
+# List of directories into which a ppport.h should be installed.
+# Please try to keep the list sorted.
+#
+# This file is read by mkppport at build time.
+#
+
+ext/Compress/Raw/Zlib
+ext/Cwd
+ext/Digest/SHA
+ext/Sys/Syslog
+ext/Time/HiRes
+
+win32/ext/Win32API/File
==== //depot/maint-5.8/perl/vms/descrip_mms.template#47 (text) ====
Index: perl/vms/descrip_mms.template
--- perl/vms/descrip_mms.template#46~30164~ 2007-02-07 13:38:12.000000000
-0800
+++ perl/vms/descrip_mms.template 2007-02-10 15:36:59.000000000 -0800
@@ -526,7 +526,7 @@
$(MINIPERL) $(MMS$SOURCE)
@ Rename/Log XSLoader.pm [.ext.DynaLoader]
-dynext : $(LIBPREREQ) $(DBG)perlshr$(E) preplibrary
+dynext : $(LIBPREREQ) $(DBG)perlshr$(E) preplibrary makeppport
@make_ext "$(MINIPERL_EXE)" "$(MMS)"
[.lib]lib.pm : [.lib]lib_pm.PL
@@ -674,6 +674,9 @@
@ Create/Directory [.lib.auto]
@ $(MINIPERL) -e "use AutoSplit; autosplit_lib_modules(@ARGV)"
[.lib]*.pm [.lib.*]*.pm [.lib.*.*]*.pm
+makeppport : $(MINIPERL_EXE) $(ARCHDIR)Config.pm
+ $(MINIPERL) mkppport
+
[.lib.pods]perl.pod : [.pod]perl.pod
@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
@@ -1721,6 +1724,7 @@
realclean : clean
- @make_ext "$(MINIPERL_EXE)" "$(MMS)" realclean
+ - $(MINIPERL) mkppport "--clean"
- If F$Search("*$(OLB)").nes."" Then Delete/NoConfirm/Log *$(OLB);*
- If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*
- If F$Search("config.h").nes."" Then Delete/NoConfirm/Log config.h;*
==== //depot/maint-5.8/perl/win32/Makefile#61 (text) ====
Index: perl/win32/Makefile
--- perl/win32/Makefile#60~30207~ 2007-02-10 15:17:30.000000000 -0800
+++ perl/win32/Makefile 2007-02-10 15:36:59.000000000 -0800
@@ -925,7 +925,7 @@
#
all : .\config.h $(GLOBEXE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \
- $(X2P) Extensions
+ $(X2P) MakePPPort Extensions
@echo Everything is up to date. '$(MAKE_BARE) test' to run test suite.
$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
@@ -1081,6 +1081,12 @@
$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
+MakePPPort: $(MINIPERL) $(CONFIGPM)
+ $(MINIPERL) -I..\lib ..\mkppport
+
+MakePPPort_clean:
+ -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\mkppport --clean
+
#-------------------------------------------------------------------------------
Extensions: buildext.pl $(PERLDEP) $(CONFIGPM)
$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --dynamic
@@ -1326,7 +1332,7 @@
clean : Extensions_clean _clean
-realclean : Extensions_realclean _clean
+realclean : Extensions_realclean MakePPPort_clean _clean
# Handy way to run perlbug -ok without having to install and run the
# installed perlbug. We don't re-run the tests here - we trust the user.
==== //depot/maint-5.8/perl/win32/Makefile.ce#1 (text) ====
Index: perl/win32/Makefile.ce
--- /dev/null 2007-01-16 11:55:45.526841103 -0800
+++ perl/win32/Makefile.ce 2007-02-10 15:36:59.000000000 -0800
@@ -0,0 +1,951 @@
+#
+# perl makefile for wince
+# During the cross-compilation, it first uses Makefile file to build
+# miniperl on HOST and then build required platform
+#
+
+SRCDIR = ..
+PV = 59
+INST_VER = 5.9.4
+
+# 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\win32
+
+# WCEROOT is a directory where Windows CE Tools was installed
+WCEROOT = D:\Windows CE Tools
+
+# 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
+
+!if "$(MACHINE)" == ""
+MACHINE=wince-arm-hpc-wce300
+#MACHINE=wince-arm-hpc-wce211
+#MACHINE=wince-sh3-hpc-wce211
+#MACHINE=wince-mips-hpc-wce211
+#MACHINE=wince-sh3-hpc-wce200
+#MACHINE=wince-mips-hpc-wce200
+#MACHINE=wince-arm-pocket-wce300
+#MACHINE=wince-mips-pocket-wce300
+#MACHINE=wince-sh3-pocket-wce300
+#MACHINE=wince-x86em-pocket-wce300
+#MACHINE=wince-mips-palm-wce211
+#MACHINE=wince-sh3-palm-wce211
+#MACHINE=wince-x86em-palm-wce211
+!endif
+
+# set this to your email address
+#
+#EMAIL =
+
+##################### CHANGE THESE ONLY IF YOU MUST #####################
+
+######################################################################
+# machines
+
+!if "$(MACHINE)" == "wince-sh3-hpc-wce211"
+CC = shcl.exe
+ARCH = SH3
+CPU = SH3
+TARGETCPU = SH3
+CEVersion = 211
+OSVERSION = WCE211
+PLATFORM = MS HPC Pro
+MCFLAGS = -MDd -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,2.11
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-mips-hpc-wce211"
+CC = clmips.exe
+ARCH = MIPS
+CPU = MIPS
+TARGETCPU = MIPS
+CEVersion = 211
+OSVERSION = WCE211
+PLATFORM = MS HPC Pro
+MCFLAGS = -D _MT -D _DLL \
+ -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
+ -D PALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,2.11
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-mips-hpc-wce200"
+CC = clmips.exe
+ARCH = MIPS
+CPU = MIPS
+TARGETCPU = MIPS
+CEVersion = 200
+OSVERSION = WCE200
+PLATFORM = MS HPC
+# MUST USE -MD to get the right FPE stuff...
+MCFLAGS = -D _MT -D _DLL -MD \
+ -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
+ -D PALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,2.00
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-sh3-hpc-wce200"
+CC = shcl.exe
+ARCH = SH3
+CPU = SH3
+TARGETCPU = SH3
+CEVersion = 200
+OSVERSION = WCE200
+PLATFORM = MS HPC
+# MUST USE -MD to get the right FPE stuff...
+MCFLAGS = -D _MT -D _DLL -MD \
+ -D SH3 -D sh3 -D _SH3_ -D _sh3_ -D SHx -DPROCESSOR_SH3 \
+ -D PALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,2.00
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-arm-hpc-wce211"
+CC = clarm.exe
+ARCH = ARM
+CPU = ARM
+TARGETCPU = ARM
+CEVersion = 211
+OSVERSION = WCE211
+PLATFORM = MS HPC Pro
+MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
+ -DPROCESSOR_ARM -DPALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,2.11
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-arm-hpc-wce300"
+CC = clarm.exe
+ARCH = ARM
+CPU = ARM
+TARGETCPU = ARM
+CEVersion = 300
+OSVERSION = WCE300
+#PLATFORM = HPC2000
+MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
+ -DPROCESSOR_ARM -DPALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,3.00
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-mips-palm-wce211"
+CC = clmips.exe
+ARCH = MIPS
+CPU = MIPS
+TARGETCPU = MIPS
+CEVersion = 211
+OSVERSION = WCE211
+PLATFORM = MS Palm Size PC
+MCFLAGS = -DMIPS -D_MIPS_ -DPROCESSOR_MIPS -D PALM_SIZE -D _DLL -D _MT \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,2.11
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-sh3-palm-wce211"
+CC = shcl.exe
+ARCH = SH3
+CPU = SH3
+TARGETCPU = SH3
+CEVersion = 211
+OSVERSION = WCE211
+PLATFORM = MS Palm Size PC
+MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+SUBSYS = -subsystem:windowsce,2.11
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-x86em-palm-wce211"
+CC = cl.exe
+ARCH = X86EM
+CPU = X86
+TARGETCPU = X86
+CEVersion = 211
+OSVERSION = WCE211
+PLATFORM = MS Palm Size PC
+MCFLAGS = -MDd -DX86 -D_X86_ -DPROCESSOR_X86 \
+ -D_WIN32_WCE_EMULATION -DPALM_SIZE \
+ -I $(CELIBDLLDIR)\inc
+MACH = -machine:x86
+SUBSYS = -subsystem:windows
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-x86em-pocket-wce300"
+CC = cl.exe
+ARCH = X86EM
+CPU = X86
+TARGETCPU = X86
+CEVersion = 300
+OSVERSION = WCE300
+PLATFORM = MS Pocket PC
+MCFLAGS = -DX86 -D_X86_ -DPROCESSOR_X86 -D _MT -D _DLL \
+ -D_WIN32_WCE_EMULATION -DPALM_SIZE -DPOCKET_SIZE \
+ -I $(CELIBDLLDIR)\inc
+MACH = -machine:x86
+SUBSYS = -subsystem:windows
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-mips-pocket-wce300"
+CC = clmips.exe
+ARCH = MIPS
+CPU = MIPS
+TARGETCPU = MIPS
+CEVersion = 300
+OSVERSION = WCE300
+PLATFORM = MS Pocket PC
+MCFLAGS = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
+ -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
+ -I $(CELIBDLLDIR)\inc
+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
+
+!if "$(MACHINE)" == "wince-sh3-pocket-wce300"
+CC = shcl.exe
+ARCH = SH3
+CPU = SH3
+TARGETCPU = SH3
+CEVersion = 300
+OSVERSION = WCE300
+PLATFORM = MS Pocket PC
+MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 \
+ -DPALM_SIZE -DPOCKET_SIZE \
+ -I $(CELIBDLLDIR)\inc
+MACH = -machine:sh3
+SUBSYS = -subsystem:windowsce,3.00
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+!if "$(MACHINE)" == "wince-arm-pocket-wce300"
+CC = clarm.exe
+ARCH = ARM
+CPU = ARM
+TARGETCPU = ARM
+CEVersion = 300
+OSVERSION = WCE300
+PLATFORM = MS Pocket PC
+MCFLAGS = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \
+ -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
+ -I $(CELIBDLLDIR)\inc
+MACH = -machine:arm
+SUBSYS = -subsystem:windowsce,3.00
+CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
+LDLIBPATH = -libpath:$(CELIBPATH)
+STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+ $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
+######################################################################
+# common section
+
+CEDEFS = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \
+ $(MCFLAGS) -D PERL
+
+#CEDEFS = $(CEDEFS) -DDEBUGGING_OPS
+
+CECFLAGS = $(CEDEFS)
+
+!if "$(CFG)" == "DEBUG"
+CECFLAGS = $(CECFLAGS) -Zi -Od
+!endif
+
+!if "$(CFG)" == "RELEASE"
+# -O2 and -Ot give internal compiler error in perl.c and lexer.
+# Also the dll cannot be loaded by perl.exe...
+!if "$(CPU)" == "SH3"
+!else
+CECFLAGS = $(CECFLAGS) -O2 -Ot
+!endif
+
+!endif
+
+RCDEFS = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \
+ /d _WIN32_WCE=$(CEVersion)
+
+PATH=$(CEPATH);$(PATH)
+
+INCLUDE=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\include
+LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH)
+
+######################################################################
+
+!message
+!message Compiling for $(MACHINE)
+!message LIB=$(LIB)
+!message INCLUDE=$(INCLUDE)
+!message PATH=$(CEPATH)
+!message
+
+######################################################################
+#
+# Additional compiler flags can be specified here.
+#
+
+BUILDOPT = $(BUILDOPT) $(CECFLAGS) -DUSE_CROSS_COMPILE
+
+
+!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
+D_CRYPT = undef
+!ELSE
+D_CRYPT = define
+CRYPT_FLAG = -DHAVE_DES_FCRYPT
+!ENDIF
+
+!IF "$(PERL_MALLOC)" == ""
+PERL_MALLOC = undef
+!ENDIF
+
+!IF "$(USE_MULTI)" == ""
+USE_MULTI = undef
+!ENDIF
+
+!IF "$(USE_ITHREADS)" == ""
+USE_ITHREADS = undef
+!ENDIF
+
+!IF "$(USE_IMP_SYS)" == ""
+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)" == "defineundef"
+USE_MULTI = define
+!ENDIF
+
+!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
+USE_MULTI = define
+!ENDIF
+
+!IF "$(USE_MULTI)" != "undef"
+BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
+!ENDIF
+
+!IF "$(USE_IMP_SYS)" != "undef"
+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)
+ARCHDIR = ..\lib\$(ARCHNAME)
+COREDIR = ..\lib\CORE
+XCOREDIR = ..\xlib\$(CROSS_NAME)\CORE
+AUTODIR = ..\lib\auto
+LIBDIR = ..\lib
+EXTDIR = ..\ext
+PODDIR = ..\pod
+EXTUTILSDIR = $(LIBDIR)\ExtUtils
+
+LINK32 = link
+LIB32 = $(LINK32) -lib
+RSC = rc
+
+INCLUDES = -I.\include -I. -I..
+DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG)
$(CECFLAGS)
+LOCDEFS = -DPERLDLL -DPERL_CORE
+CXX_FLAG = -TP
+
+PERLEXE_RES = perl.res
+PERLDLL_RES =
+
+!if "$(CFG)" == "RELEASE"
+CELIB = celib.lib
+!endif
+
+!if "$(CFG)" == "DEBUG"
+CELIB = celib.lib
+!endif
+
+CELIBS = -nodefaultlib \
+ winsock.lib $(CELIB) coredll.lib
+
+!if $(CEVersion) > 200
+CELIBS = $(CELIBS) corelibc.lib
+!else
+CELIBS = $(CELIBS) msvcrt.lib
+!endif
+
+LIBBASEFILES = $(CRYPT_LIB) $(CELIBS)
+
+LIBFILES = $(LIBBASEFILES) $(LIBC)
+
+CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \
+ $(PCHFLAGS) $(OPTIMIZE)
+
+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
+EXEOUT_FLAG = -Fe
+
+CFLAGS_O = $(CFLAGS) $(BUILDOPT)
+
+o = .obj
+
+#
+# Rules
+#
+
+.SUFFIXES : .c $(o) .dll .lib .exe .rc .res
+
+.c$(o):
+ $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
+
+.y.c:
+ $(NOOP)
+
+$(o).dll:
+ $(LINK32) -dll $(SUBSYS) $(LDLIBPATH) \
+ -implib:$(*B).lib -def:$(*B).def \
+ -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
+
+.rc.res:
+ $(RSC) -i.. $<
+
+# This must be relative to ../lib/CORE, else the ext dll build fails...
+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 = ..\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
+# from the .dll
+PERLDEP = perldll.def
+
+MAKE = nmake -nologo
+
+CFGSH_TMPL = config.ce
+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 -MCross=$(CROSS_NAME)
..\$(EXTUTILSDIR)\xsubpp \
+ -C++ -prototypes
+
+MICROCORE_SRC = \
+ ..\av.c \
+ ..\deb.c \
+ ..\doio.c \
+ ..\doop.c \
+ ..\dump.c \
+ ..\globals.c \
+ ..\gv.c \
+ ..\hv.c \
+ ..\mg.c \
+ ..\op.c \
+ ..\pad.c \
+ ..\perl.c \
+ ..\perlapi.c \
+ ..\perly.c \
+ ..\pp.c \
+ ..\pp_ctl.c \
+ ..\pp_hot.c \
+ ..\pp_pack.c \
+ ..\pp_sort.c \
+ ..\pp_sys.c \
+ ..\reentr.c \
+ ..\regcomp.c \
+ ..\regexec.c \
+ ..\run.c \
+ ..\scope.c \
+ ..\sv.c \
+ ..\taint.c \
+ ..\toke.c \
+ ..\universal.c \
+ ..\utf8.c \
+ ..\util.c \
+ ..\xsutils.c
+
+EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
+
+!IF "$(PERL_MALLOC)" == "define"
+EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
+!ENDIF
+
+EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c .\win32io.c
+
+WIN32_SRC = \
+ .\wince.c \
+ .\wincesck.c \
+ .\win32thread.c
+
+!IF "$(CRYPT_SRC)" != ""
+WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)
+!ENDIF
+
+DLL_SRC = $(DYNALOADER).c
+
+CORE_NOCFG_H = \
+ ..\av.h \
+ ..\cop.h \
+ ..\cv.h \
+ ..\dosish.h \
+ ..\embed.h \
+ ..\form.h \
+ ..\gv.h \
+ ..\handy.h \
+ ..\hv.h \
+ ..\iperlsys.h \
+ ..\mg.h \
+ ..\nostdio.h \
+ ..\op.h \
+ ..\opcode.h \
+ ..\perl.h \
+ ..\perlapi.h \
+ ..\perlsdio.h \
+ ..\perlsfio.h \
+ ..\perly.h \
+ ..\pp.h \
+ ..\proto.h \
+ ..\regexp.h \
+ ..\scope.h \
+ ..\sv.h \
+ ..\thread.h \
+ ..\unixish.h \
+ ..\utf8.h \
+ ..\util.h \
+ ..\warnings.h \
+ ..\XSUB.h \
+ ..\EXTERN.h \
+ ..\perlvars.h \
+ ..\intrpvar.h \
+ ..\thrdvar.h \
+ .\include\dirent.h \
+ .\include\netdb.h \
+ .\include\sys\socket.h \
+ .\win32.h
+
+DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
+ Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
+ Sys/Hostname
+
+STATIC_EXT = DynaLoader
+
+DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader
+
+ERRNO_PM = $(LIBDIR)\Errno.pm
+
+
+EXTENSION_PM = \
+ $(ERRNO_PM)
+
+POD2HTML = $(PODDIR)\pod2html
+POD2MAN = $(PODDIR)\pod2man
+POD2LATEX = $(PODDIR)\pod2latex
+POD2TEXT = $(PODDIR)\pod2text
+
+CFG_VARS = \
+ "INST_DRV=$(INST_DRV)" \
+ "INST_TOP=$(INST_TOP)" \
+ "INST_VER=$(INST_VER)" \
+ "INST_ARCH=$(INST_ARCH)" \
+ "archname=$(ARCHNAME)" \
+ "CC=$(CC)" \
+ "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
+ "cppflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
+ "cf_by=vkon" \
+ "cf_email=$(EMAIL)" \
+ "d_crypt=$(D_CRYPT)" \
+ "d_mymalloc=$(PERL_MALLOC)" \
+ "libs=$(LIBFILES)" \
+ "incpath=$(CCINCDIR)" \
+ "libperl=$(PERLIMPLIB_EXP)" \
+ "libpth=$(LIBPATH)" \
+ "libc=$(LIBC)" \
+ "make=nmake" \
+ "static_ext=$(STATIC_EXT)" \
+ "dynamic_ext=$(DYNAMIC_EXT)" \
+ "useithreads=$(USE_ITHREADS)" \
+ "usemultiplicity=$(USE_MULTI)" \
+ "useperlio=$(USE_PERLIO)" \
+ "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
+ "optimize=$(OPTIMIZE)"
+
+#
+# Top targets
+#
+
+all: hostminiperl $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) MakePPPort
Extensions
+
+$(DYNALOADER)$(o) : $(DYNALOADER).c xconfig.h $(EXTDIR)\DynaLoader\dlutils.c
+
+$(CONFIGPM) : $(HPERL) ..\config.sh config_h.PL ..\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)" "CONFIG_H=xconfig.h"
+ $(XCOPY) xconfig.h $(XCOREDIR)\config.h
+
+.\xconfig.h:
+ -del /f xconfig.h
+ copy config_H.ce xconfig.h
+
+..\config.sh: config.ce config_sh.PL
+ $(HPERL) -I..\lib -I. config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
+
+$(MINIMOD) : ..\minimod.pl
+ cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
+
+$(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
+ if not exist $(AUTODIR) mkdir $(AUTODIR)
+ cd $(EXTDIR)\$(*B)
+ $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) $(*B)_pm.PL
+ $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) 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)
+ $(MINIPERL) -I..\lib ..\mkppport
+
+MakePPPort_clean:
+ -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\mkppport --clean
+
+#----------------------------------------------------------------------------------
+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: .\buildext.pl $(PERLDEP) $(CONFIGPM)
+ $(HPERL) -I..\lib -I. -MCross=$(CROSS_NAME) .\buildext.pl $(MAKE)
$(PERLDEP) $(EXTDIR) \
+ !POSIX $(NOT_COMPILE_EXT)
+
+Extensions_clean:
+ -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE)
$(PERLDEP) $(EXTDIR) clean
+
+#----------------------------------------------------------------------------------
+
+$(PERLEXE_RES): perl.rc perl.ico
+ rc $(RCDEFS) perl.rc
+
+clean:
+ -rm -f $(MACHINE)/dll/*
+ -rm -f $(MACHINE)/*.obj
+ -rm -f $(MACHINE)/*.exe
+ -rm -f $(MACHINE)/*.dll
+ -rm -f $(MACHINE)/*.lib
+ -rm -f ../config.sh ../lib/Config.pm
+ -rm -f config.h xconfig.h perl.res
+
+XDLLOBJS = \
+$(DLLDIR)\av.obj \
+$(DLLDIR)\deb.obj \
+$(DLLDIR)\doio.obj \
+$(DLLDIR)\doop.obj \
+$(DLLDIR)\dump.obj \
+$(DLLDIR)\globals.obj \
+$(DLLDIR)\gv.obj \
+$(DLLDIR)\hv.obj \
+$(DLLDIR)\locale.obj \
+$(DLLDIR)\mathoms.obj \
+$(DLLDIR)\mg.obj \
+$(DLLDIR)\numeric.obj \
+$(DLLDIR)\op.obj \
+$(DLLDIR)\pad.obj \
+$(DLLDIR)\perl.obj \
+$(DLLDIR)\perlapi.obj \
+$(DLLDIR)\perlio.obj \
+$(DLLDIR)\perly.obj \
+$(DLLDIR)\pp.obj \
+$(DLLDIR)\pp_ctl.obj \
+$(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)\sv.obj \
+$(DLLDIR)\taint.obj \
+$(DLLDIR)\toke.obj \
+$(DLLDIR)\universal.obj \
+$(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_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)/win32}.c{$(DLLDIR)}.obj:
+ $(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) -MCross -I..\lib buildext.pl --create-perllibst-h
+ $(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:$@ \
+ $(SUBSYS) $(LDLIBPATH) \
+ $(LINK_FLAGS) $(LIBFILES) \
+ $(XDLLOBJS) $(PERLDLL_RES)
+
+$(DLLDIR) :
+ if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"
+
+$(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
+ $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
+ $(EXTDIR)\DynaLoader\DynaLoader.c
+
+XPERLEXEOBJS = \
+$(MACHINE)\perlmaince.obj
+
+$(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
+ $(XCOPY) $(MACHINE)\*.lib $(XCOREDIR)
+ $(LINK32) $(SUBSYS) $(LDLIBPATH) \
+ -entry:wWinMainCRTStartup \
+ -out:$(MACHINE)\perl.exe \
+ -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
+ $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)
+
+$(MACHINE)\perlmaince.obj : perlmaince.c
+ $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmaince.c
+
+iodll: $(IO_DLL)
+socketdll: $(SOCKET_DLL)
+dumperdll: $(DUMPER_DLL)
+
+dlls: socketdll iodll dumperdll
+ -xmkdir -p $(MACHINE)/lib/auto/IO
+ cp ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO
+ cp ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO
+ -xmkdir $(MACHINE)/lib/auto/Socket
+ cp ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket
+ cp ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket
+ -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper
+ cp ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper
+ cp ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper
+
+makedist: all dlls
+ $(COPY) $(CELIBPATH)\celib.dll $(MACHINE)
+ cp perl.txt $(MACHINE)
+ cp registry.bat $(MACHINE)
+ cp ../lib/Config.pm $(MACHINE)/lib
+ cd $(MACHINE)
+ rm -f perl-$(MACHINE).tar.gz
+ sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib"
+ gzip -9 perl-$(MACHINE).tar
+ mv perl-$(MACHINE).tar.gz h:/freenet/new
+ cd ..
+
+install: all
+ -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"
+
+$(UNIDATAFILES) : $(HPERL) $(CONFIGPM) ..\lib\unicore\mktables
+ cd ..\lib\unicore && \
+ $(HPERL) -I.. mktables
+
+dist: all
+ $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl
--distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
+
+zipdist: all
+ $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl
--distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
+ $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl
--distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
+
+zip:
+ $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl
--distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
+
+perl.ico:
+ $(HPERL) makeico.pl perl.ico
+
+hostminiperl: ..\miniperl.exe
+
+..\miniperl.exe:
+ 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
+
+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#"
==== //depot/maint-5.8/perl/win32/makefile.mk#69 (text) ====
Index: perl/win32/makefile.mk
--- perl/win32/makefile.mk#68~30207~ 2007-02-10 15:17:30.000000000 -0800
+++ perl/win32/makefile.mk 2007-02-10 15:36:59.000000000 -0800
@@ -978,7 +978,7 @@
all : .\config.h $(GLOBEXE) $(MINIPERL) $(MK2) \
$(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \
- $(X2P) Extensions
+ $(X2P) MakePPPort Extensions
$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
@@ -1236,6 +1236,12 @@
$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
+MakePPPort: $(MINIPERL) $(CONFIGPM)
+ $(MINIPERL) -I..\lib ..\mkppport
+
+MakePPPort_clean:
+ -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\mkppport --clean
+
#-------------------------------------------------------------------------------
Extensions : buildext.pl $(PERLDEP) $(CONFIGPM)
$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) --dynamic
@@ -1480,7 +1486,7 @@
clean : Extensions_clean _clean
-realclean : Extensions_realclean _clean
+realclean : Extensions_realclean MakePPPort_clean _clean
# Handy way to run perlbug -ok without having to install and run the
# installed perlbug. We don't re-run the tests here - we trust the user.
End of Patch.