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