X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.ce;h=83505af842d7de2d99078daf5777b119affa7110;hb=4325052d2625a06294068527f0d65e6f637a59ee;hp=23378a98dd0c70ae36420d35dc0bc71b9e63d139;hpb=2e64bfdbad05def7e878bb2b347fbafc957b682e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.ce b/README.ce index 23378a9..83505af 100644 --- a/README.ce +++ b/README.ce @@ -2,26 +2,30 @@ If you read this file _as_is_, just ignore the funny characters you see. It is written in the POD format (see pod/perlpod.pod) which is specifically designed to be readable as is. -=head1 Name +=head1 NAME -Perl for WinCE +perlce - Perl for WinCE -=head1 Description +=head1 DESCRIPTION This file gives the instructions for building Perl5.8 and above for WinCE. Please read and understand the terms under which this software is distributed. -=head1 Build +=head1 BUILD This section describes the steps to be performed to build PerlCE. You may find additional and newer information about building perl -for WincE using following URL: +for WinCE using following URL: http://perlce.sourceforge.net There should also be pre-built binaries there. +Don't be confused by large size of downloaded distribution or constructed +binaries: entire distribution could be large for WinCE ideology, but +you may strip it at your wish and use only required parts. + =head2 Tools & SDK For compiling, you need following: @@ -57,11 +61,7 @@ nmake -f makefile.ce with appropriate parameters and it accepts extra parameters and forwards them to "nmake" command as additional arguments. You should pass target this way. -Currently default target build all required perls, also there exists -target 'dist' that prepares distribution file set. Other targets -are currently in development stage. - -So, to prepare distribution you need to do following: +To prepare distribution you need to do following: =over 4 @@ -77,10 +77,56 @@ So, to prepare distribution you need to do following: =back -Before you start, you need to build celib.dll and w32console. -See instructions in these packages for building. +makefile.ce has CROSS_NAME macro, and it is used further to refer to +your cross-compilation scheme. You could assign a name to it, but this +is not necessary, because by default it is assigned after your machine +configuration name, such as "wince-sh3-hpc-wce211", and this is enough +to distinguish different builds at the same time. This option could be +handy for several different builds on same platform to perform, say, +threaded build. In a following example we assume that all required +environment variables are set properly for C cross-compiler (a special +*.bat file could fit perfectly to this purpose) and your compile.bat +has proper "MACHINE" parameter set, to, say, "wince-mips-pocket-wce300". + + compile.bat + compile.bat dist + compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" "USE_IMP_SYS=define" "USE_MULTI=define" + compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" "USE_IMP_SYS=define" "USE_MULTI=define" dist + +If all goes okay and no errors during a build, you'll get two independent +distributions: "wince-mips-pocket-wce300" and "mips-wce300-thr". + +Target 'dist' prepares distribution file set. Target 'zipdist' performs +same as 'dist' but additionally compresses distribution files into zip +archive. + +NOTE: during a build there could be created a number (or one) of Config.pm +for cross-compilation ("foreign" Config.pm) and those are hidden inside +../xlib/$(CROSS_NAME) with other auxilary files, but, and this is important to +note, there should be *no* Config.pm for host miniperl. +If you'll get an error that perl could not find Config.pm somewhere in building +process this means something went wrong. Most probably you forgot to +specify a cross-compilation when invoking miniperl.exe to Makefile.PL +When building an extension for cross-compilation your command line should +look like + + ..\miniperl.exe -I..\lib -MCross=mips-wce300-thr Makefile.PL + +or just + + ..\miniperl.exe -I..\lib -MCross Makefile.PL + +to refer a cross-compilation that was created last time. + + +If you decided to build with fcrypt.c file, please refer to README.win32 +file, as long as all legal considerations and steps to do are exactly same +in this case. + +All questions related to building for WinCE devices could be asked in +perlce-users@lists.sourceforge.net mailing list. -=head1 Acknowledgements +=head1 ACKNOWLEDGEMENTS The port for Win32 was used as a reference.