This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Silence Win32 compiler warnings following change 25280
[perl5.git] / wince / README.perlce
1 NAME
2         PerlCE - perl for Windows CE
3
4 DESCRIPTION
5         PerlCE is a simple port of perl to Windows CE. The program
6         is currently linked with a simple console window, so it also
7         works on non-hpc devices.
8
9         The simple stdio implementation creates the files stdin.txt,
10         stdout.txt and stderr.txt, so you might examine them if your
11         console has only a liminted number of cols.
12
13         When exitcode is non-zero, a message box appears, otherwise the
14         console closes, so you might have to catch an exit with
15         status 0 in your program to see any output.
16
17         stdout/stderr now go into the files /perl-stdout.txt and
18         /perl-stderr.txt.
19
20 LIMITATIONS
21         No fork(), pipe(), popen() etc.
22
23 ENVIRONMENT
24         All environment vars must be stored in HKLM\Environment as
25         strings. They are read at process startup.
26
27         PERL5LIB        - Usual perl lib path (semi-list).
28         PATH            - Semi-list for executables.
29         TMP             - Tempdir.
30         UNIXROOTPATH    - Root for accessing some special files,
31                           i.e. /dev/null, /etc/services.
32         ROWS/COLS       - Rows/cols for console.
33         HOME            - Home directory.
34         CONSOLEFONTSIZE - Size for console font.
35
36         You can set these with cereg.exe, a (remote) registry editor
37         or via the PerlIDE.
38
39 REGISTRY
40         To start perl by clicking on a perl source file, you have
41         to make the according entries in HKCR (see wince-reg.bat).
42         cereg.exe (which must be executed on a desktop pc with
43         ActiveSync) is reported not to work on some devices.
44         You have to create the registry entries by hand using a 
45         registry editor.
46
47 FILES
48         $(UNIXROOTPATH)/dev/null - nul simulation, needed for perl -V
49         $(UNIXROOTPATH)/etc/services - services file
50
51         /perl-stdin.txt
52         /perl-stdout.txt
53         /perl-stderr.txt   
54
55 PERLFILES 
56         Only a limited set of perl files is provided in the
57         distribution archiv. You have to copy the original PERL5LIB
58         files from a perl for win32 installation and put the
59         distributed files into the right directories.
60
61         The following files are a reasonable minimum if you want to do
62         some socket stuff:
63
64         ./auto
65         ./auto/DynaLoader
66         ./auto/DynaLoader/autosplit.ix
67         ./auto/DynaLoader/dl_expandspec.al
68         ./auto/DynaLoader/dl_findfile.al
69         ./auto/DynaLoader/dl_find_symbol_anywhere.al
70         ./auto/IO
71         ./auto/IO/IO.bs
72         ./auto/IO/IO.dll
73         ./auto/Socket
74         ./auto/Socket/Socket.bs
75         ./auto/Socket/Socket.dll
76         ./Carp
77         ./Carp/Heavy.pm
78         ./Carp.pm
79         ./Config.pm
80         ./DynaLoader.pm
81         ./Exporter
82         ./Exporter/Heavy.pm
83         ./Exporter.pm
84         ./IO
85         ./IO/File.pm
86         ./IO/Handle.pm
87         ./IO/Socket.pm
88         ./IO.pm
89         ./SelectSaver.pm
90         ./Socket.pm
91         ./strict.pm
92         ./Symbol.pm
93         ./warnings
94         ./warnings/register.pm
95         ./warnings.pm
96         ./XSLoader.pm
97
98 XS
99         The following Win32-Methods are built-in:
100
101         newXS("Win32::GetCwd", w32_GetCwd, file);
102         newXS("Win32::SetCwd", w32_SetCwd, file);
103         newXS("Win32::GetTickCount", w32_GetTickCount, file);
104         newXS("Win32::GetOSVersion", w32_GetOSVersion, file);
105         newXS("Win32::IsWinNT", w32_IsWinNT, file);
106         newXS("Win32::IsWin95", w32_IsWin95, file);
107         newXS("Win32::IsWinCE", w32_IsWinCE, file);
108         newXS("Win32::CopyFile", w32_CopyFile, file);
109         newXS("Win32::Sleep", w32_Sleep, file);
110         newXS("Win32::MessageBox", w32_MessageBox, file);
111         newXS("Win32::GetPowerStatus", w32_GetPowerStatus, file);
112         newXS("Win32::GetOemInfo", w32_GetOemInfo, file);
113         newXS("Win32::ShellEx", w32_ShellEx, file);
114
115 DLLS
116         In the newest version, my celib.dll is needed. Some XS dlls
117         might be needed. Currently, Socket and IO are provided.
118
119 BUGS
120         Opening files for read-write is currently not supported if
121         they use stdio (normal perl file handles).
122
123         If you find bugs or if it does not work at all on your
124         device, send mail to the address below. Please report
125         the details of your device (processor, ceversion, 
126         devicetype (hpc/palm/pocket)) and the date of the downloaded
127         files. 
128
129         I currently have only a Compaq/MIPS HPC, a Jornada/SH3 HPC and
130         a Jornada/ARM HPC, so I can only test on these devices and
131         under the Emulators.
132
133 INSTALLATION
134         This is only a suggestion...
135
136         * Unpack the tar archive on your desktop.
137         * Create directories /bin, /lib/perl5, /home, /dev and /etc,
138           possibly on a CF card with the path to the card 
139           prepended (i.e. /memcard/bin etc).
140         * Copy perl.exe, perl56.dll and celib.dll from your desktop to
141           /bin. The dlls can also be copied to your /windows
142           directory, but if you use a CF card, you might want to store
143           them there.
144         * Copy the other DLLs to the corresponding auto directory.
145         * Copy any needed perl module-files to /lib/perl5.
146         * Create the registry entries.
147         * If you need tcp service-name resolution, create
148           the file "services" in /etc and put int the entries you need.
149
150         * Under WINCE200, all dlls must be copied to the windows
151           directory.
152
153 MISC
154         If you think a certain XS module should be ported, send
155         me mail and explain why.
156
157         If you write useful scripts for perlce, please send me
158         a copy.
159
160 TERMINAL
161         There are simple terminal control sequences now. See the
162         readme file that comes with the console program.
163
164 AUTHOR
165         Rainer Keuchel <coyxc@rainer-keuchel.de> 2001
166