1PERLCE(1) Perl Programmers Reference Guide PERLCE(1)
2
3
4
6 perlce - Perl for WinCE
7
9 This file gives the instructions for building Perl5.8 and above for
10 WinCE. Please read and understand the terms under which this software
11 is distributed.
12
14 This section describes the steps to be performed to build PerlCE. You
15 may find additional and newer information about building perl for WinCE
16 using following URL:
17
18 http://perlce.sourceforge.net
19
20 There should also be pre-built binaries there.
21
22 Don't be confused by large size of downloaded distribution or con‐
23 structed binaries: entire distribution could be large for WinCE ideol‐
24 ogy, but you may strip it at your wish and use only required parts.
25
26 Tools & SDK
27
28 For compiling, you need following:
29
30 * Microsoft Embedded Visual Tools
31 * Microsoft Visual C++
32 * Rainer Keuchel's celib-sources
33 * Rainer Keuchel's console-sources
34
35 Needed source files can be downloaded via:
36 www.rainer-keuchel.de/wince/dirlist.html
37
38 Make
39
40 Please pay attention that starting from 5.8.0 miniperl *is* built and
41 it facilitates in further building process. This means that in addition
42 to compiler installation for mobile device you also need to have Micro‐
43 soft Visual C++ installed as well.
44
45 On the bright side, you do not need to edit any files from ./win32 sub‐
46 directory. Normally you only need to edit ./wince/compile.bat to
47 reflect your system and run it.
48
49 File ./wince/compile.bat is actually a wrapper to call nmake -f make‐
50 file.ce with appropriate parameters and it accepts extra parameters and
51 forwards them to "nmake" command as additional arguments. You should
52 pass target this way.
53
54 To prepare distribution you need to do following:
55
56 * go to ./wince subdirectory
57 * edit file compile.bat
58 * run compile.bat
59 * run compile.bat dist
60
61 makefile.ce has CROSS_NAME macro, and it is used further to refer to
62 your cross-compilation scheme. You could assign a name to it, but this
63 is not necessary, because by default it is assigned after your machine
64 configuration name, such as "wince-sh3-hpc-wce211", and this is enough
65 to distinguish different builds at the same time. This option could be
66 handy for several different builds on same platform to perform, say,
67 threaded build. In a following example we assume that all required
68 environment variables are set properly for C cross-compiler (a special
69 *.bat file could fit perfectly to this purpose) and your compile.bat
70 has proper "MACHINE" parameter set, to, say,
71 "wince-mips-pocket-wce300".
72
73 compile.bat
74 compile.bat dist
75 compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" "USE_IMP_SYS=define" "USE_MULTI=define"
76 compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" "USE_IMP_SYS=define" "USE_MULTI=define" dist
77
78 If all goes okay and no errors during a build, you'll get two indepen‐
79 dent distributions: "wince-mips-pocket-wce300" and "mips-wce300-thr".
80
81 Target 'dist' prepares distribution file set. Target 'zipdist' performs
82 same as 'dist' but additionally compresses distribution files into zip
83 archive.
84
85 NOTE: during a build there could be created a number (or one) of Con‐
86 fig.pm for cross-compilation ("foreign" Config.pm) and those are hidden
87 inside ../xlib/$(CROSS_NAME) with other auxilary files, but, and this
88 is important to note, there should be *no* Config.pm for host miniperl.
89 If you'll get an error that perl could not find Config.pm somewhere in
90 building process this means something went wrong. Most probably you
91 forgot to specify a cross-compilation when invoking miniperl.exe to
92 Makefile.PL When building an extension for cross-compilation your com‐
93 mand line should look like
94
95 ..\miniperl.exe -I..\lib -MCross=mips-wce300-thr Makefile.PL
96
97 or just
98
99 ..\miniperl.exe -I..\lib -MCross Makefile.PL
100
101 to refer a cross-compilation that was created last time.
102
103 If you decided to build with fcrypt.c file, please refer to
104 README.win32 file, as long as all legal considerations and steps to do
105 are exactly same in this case.
106
107 All questions related to building for WinCE devices could be asked in
108 perlce-users@lists.sourceforge.net mailing list.
109
111 The port for Win32 was used as a reference.
112
114 Rainer Keuchel (keuchel@netwave.de) Vadim Konovalov (vkono‐
115 valov@spb.lucent.com)
116
117
118
119perl v5.8.8 2006-01-07 PERLCE(1)