Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / man / man1 / perlce.1
CommitLineData
920dae64
AT
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "PERLCE 1"
132.TH PERLCE 1 "2006-01-07" "perl v5.8.8" "Perl Programmers Reference Guide"
133.SH "NAME"
134perlce \- Perl for WinCE\r
135.SH "DESCRIPTION"
136.IX Header "DESCRIPTION"
137This file gives the instructions for building Perl5.8 and above for\r
138WinCE. Please read and understand the terms under which this\r
139software is distributed.\r
140.SH "BUILD"
141.IX Header "BUILD"
142This section describes the steps to be performed to build PerlCE.\r
143You may find additional and newer information about building perl\r
144for WinCE using following \s-1URL:\s0\r
145.PP
146.Vb 1
147\& http://perlce.sourceforge.net
148.Ve
149.PP
150There should also be pre-built binaries there.\r
151.PP
152Don't be confused by large size of downloaded distribution or constructed\r
153binaries: entire distribution could be large for WinCE ideology, but\r
154you may strip it at your wish and use only required parts.\r
155.Sh "Tools & \s-1SDK\s0"
156.IX Subsection "Tools & SDK"
157For compiling, you need following:\r
158.IP "* Microsoft Embedded Visual Tools" 4
159.IX Item "Microsoft Embedded Visual Tools"
160.PD 0
161.IP "* Microsoft Visual \*(C+" 4
162.IX Item "Microsoft Visual "
163.IP "* Rainer Keuchel's celib-sources" 4
164.IX Item "Rainer Keuchel's celib-sources"
165.IP "* Rainer Keuchel's console-sources" 4
166.IX Item "Rainer Keuchel's console-sources"
167.PD
168.PP
169Needed source files can be downloaded via:\r
170www.rainer\-keuchel.de/wince/dirlist.html\r
171.Sh "Make"
172.IX Subsection "Make"
173Please pay attention that starting from 5.8.0 miniperl *is* built\r
174and it facilitates in further building process. This means that\r
175in addition to compiler installation for mobile device you also need\r
176to have Microsoft Visual \*(C+ installed as well.\r
177.PP
178On the bright side, you do not need to edit any files from ./win32\r
179subdirectory. Normally you only need to edit ./wince/compile.bat\r
180to reflect your system and run it.\r
181.PP
182File ./wince/compile.bat is actually a wrapper to call\r
183nmake \-f makefile.ce with appropriate parameters and it accepts extra\r
184parameters and forwards them to \*(L"nmake\*(R" command as additional\r
185arguments. You should pass target this way.\r
186.PP
187To prepare distribution you need to do following:\r
188.IP "* go to ./wince subdirectory" 4
189.IX Item "go to ./wince subdirectory"
190.PD 0
191.IP "* edit file compile.bat" 4
192.IX Item "edit file compile.bat"
193.IP "* run compile.bat" 4
194.IX Item "run compile.bat"
195.IP "* run compile.bat dist" 4
196.IX Item "run compile.bat dist"
197.PD
198.PP
199makefile.ce has \s-1CROSS_NAME\s0 macro, and it is used further to refer to\r
200your cross-compilation scheme. You could assign a name to it, but this\r
201is not necessary, because by default it is assigned after your machine\r
202configuration name, such as \*(L"wince\-sh3\-hpc\-wce211\*(R", and this is enough\r
203to distinguish different builds at the same time. This option could be\r
204handy for several different builds on same platform to perform, say,\r
205threaded build. In a following example we assume that all required\r
206environment variables are set properly for C cross-compiler (a special\r
207*.bat file could fit perfectly to this purpose) and your compile.bat\r
208has proper \*(L"\s-1MACHINE\s0\*(R" parameter set, to, say, \*(L"wince\-mips\-pocket\-wce300\*(R".\r
209.PP
210.Vb 4
211\& compile.bat\r
212\& compile.bat dist\r
213\& compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" "USE_IMP_SYS=define" "USE_MULTI=define"\r
214\& compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" "USE_IMP_SYS=define" "USE_MULTI=define" dist
215.Ve
216.PP
217If all goes okay and no errors during a build, you'll get two independent\r
218distributions: \*(L"wince\-mips\-pocket\-wce300\*(R" and \*(L"mips\-wce300\-thr\*(R".\r
219.PP
220Target 'dist' prepares distribution file set. Target 'zipdist' performs\r
221same as 'dist' but additionally compresses distribution files into zip\r
222archive.\r
223.PP
224\&\s-1NOTE:\s0 during a build there could be created a number (or one) of Config.pm\r
225for cross-compilation (\*(L"foreign\*(R" Config.pm) and those are hidden inside\r
226\&../xlib/$(\s-1CROSS_NAME\s0) with other auxilary files, but, and this is important to\r
227note, there should be *no* Config.pm for host miniperl.\r
228If you'll get an error that perl could not find Config.pm somewhere in building\r
229process this means something went wrong. Most probably you forgot to\r
230specify a cross-compilation when invoking miniperl.exe to Makefile.PL\r
231When building an extension for cross-compilation your command line should\r
232look like\r
233.PP
234.Vb 1
235\& ..\eminiperl.exe -I..\elib -MCross=mips-wce300-thr Makefile.PL
236.Ve
237.PP
238or just\r
239.PP
240.Vb 1
241\& ..\eminiperl.exe -I..\elib -MCross Makefile.PL
242.Ve
243.PP
244to refer a cross-compilation that was created last time.\r
245.PP
246If you decided to build with fcrypt.c file, please refer to \s-1README\s0.win32\r
247file, as long as all legal considerations and steps to do are exactly same \r
248in this case.\r
249.PP
250All questions related to building for WinCE devices could be asked in\r
251perlce\-users@lists.sourceforge.net mailing list.\r
252.SH "ACKNOWLEDGEMENTS"
253.IX Header "ACKNOWLEDGEMENTS"
254The port for Win32 was used as a reference.\r
255.SH "AUTHORS"
256.IX Header "AUTHORS"
257Rainer Keuchel (keuchel@netwave.de)\r
258Vadim Konovalov (vkonovalov@spb.lucent.com)\r