source: trunk/third/perl/README.ce @ 20075

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