X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/de2902a66f5c4d896fc31460aaaf35320b576183..e1052518d48fc4ba035c937b203ddad70d6ccb11:/README.symbian diff --git a/README.symbian b/README.symbian index 2572631..cb4a42f 100644 --- a/README.symbian +++ b/README.symbian @@ -30,182 +30,182 @@ mainly as demonstrations. (0) You need to have the appropriate Symbian SDK installed. - These instructions have been tested under various Nokia Series 60 - Symbian SDKs (1.2 to 2.6, 2.8 should also work, 1.2 compiles but - does not work), Series 80 2.0, and Nokia 7710 (Series 90) SDK. - You can get the SDKs from Forum Nokia (L). - A very rough port ("it compiles") to UIQ 2.1 has also been made. +These instructions have been tested under various Nokia Series 60 +Symbian SDKs (1.2 to 2.6, 2.8 should also work, 1.2 compiles but +does not work), Series 80 2.0, and Nokia 7710 (Series 90) SDK. +You can get the SDKs from Forum Nokia (L). +A very rough port ("it compiles") to UIQ 2.1 has also been made. - A prerequisite for any of the SDKs is to install ActivePerl - from ActiveState, L +A prerequisite for any of the SDKs is to install ActivePerl +from ActiveState, L - Having the SDK installed also means that you need to have either - the Metrowerks CodeWarrior installed (2.8 and 3.0 were used in testing) - or the Microsoft Visual C++ 6.0 installed (SP3 minimum, SP5 recommended). +Having the SDK installed also means that you need to have either +the Metrowerks CodeWarrior installed (2.8 and 3.0 were used in testing) +or the Microsoft Visual C++ 6.0 installed (SP3 minimum, SP5 recommended). - Note that for example the Series 60 2.0 VC SDK installation talks - about ActivePerl build 518, which does no more (as of mid-2005) exist - at the ActiveState website. The ActivePerl 5.8.4 build 810 was - used successfully for compiling Perl on Symbian. The 5.6.x ActivePerls - do not work. +Note that for example the Series 60 2.0 VC SDK installation talks +about ActivePerl build 518, which does no more (as of mid-2005) exist +at the ActiveState website. The ActivePerl 5.8.4 build 810 was +used successfully for compiling Perl on Symbian. The 5.6.x ActivePerls +do not work. - Other SDKs or compilers like Visual.NET, command-line-only - Visual.NET, Borland, GnuPoc, or sdk2unix have not been tried. +Other SDKs or compilers like Visual.NET, command-line-only +Visual.NET, Borland, GnuPoc, or sdk2unix have not been tried. - These instructions almost certainly won't work with older Symbian - releases or other SDKs. Patches to get this port running in other - releases, SDKs, compilers, platforms, or devices are naturally welcome. +These instructions almost certainly won't work with older Symbian +releases or other SDKs. Patches to get this port running in other +releases, SDKs, compilers, platforms, or devices are naturally welcome. (1) Get a Perl source code distribution (for example the file - perl-5.9.2.tar.gz is fine) from L - and unpack it in your the C:/Symbian directory of your Windows - system. +perl-5.9.2.tar.gz is fine) from L +and unpack it in your the C:/Symbian directory of your Windows +system. (2) Change to the perl source directory. - cd c:\Symbian\perl-5.x.x + cd c:\Symbian\perl-5.x.x (3) Run the following script using the perl coming with the SDK - perl symbian\config.pl + perl symbian\config.pl - You must use the cmd.exe, the Cygwin shell will not work. - The PATH must include the SDK tools, including a Perl, - which should be the case under cmd.exe. If you do not - have that, see the end of symbian\sdk.pl for notes of - how your environment should be set up for Symbian compiles. +You must use the cmd.exe, the Cygwin shell will not work. +The PATH must include the SDK tools, including a Perl, +which should be the case under cmd.exe. If you do not +have that, see the end of symbian\sdk.pl for notes of +how your environment should be set up for Symbian compiles. (4) Build the project, either by - make all + make all - in cmd.exe or by using either the Metrowerks CodeWarrior - or the Visual C++ 6.0, or the Visual Studio 8 (the Visual C++ - 2005 Express Edition works fine). +in cmd.exe or by using either the Metrowerks CodeWarrior +or the Visual C++ 6.0, or the Visual Studio 8 (the Visual C++ +2005 Express Edition works fine). - If you use the VC IDE, you will have to run F - first using the cmd.exe, and then run 'make win.mf vc6.mf' to generate - the VC6 makefiles and workspaces. "make vc6" will compile for the VC6, - and "make cw" for the CodeWarrior. +If you use the VC IDE, you will have to run F +first using the cmd.exe, and then run 'make win.mf vc6.mf' to generate +the VC6 makefiles and workspaces. "make vc6" will compile for the VC6, +and "make cw" for the CodeWarrior. - The following SDK and compiler configurations and Nokia phones were - tested at some point in time (+ = compiled and PerlApp run, - = not), - both for Perl 5.8.x and 5.9.x: +The following SDK and compiler configurations and Nokia phones were +tested at some point in time (+ = compiled and PerlApp run, - = not), +both for Perl 5.8.x and 5.9.x: - SDK | VC | CW | - --------+----+----+--- - S60 1.2 | + | + | 3650 (*) - S60 2.0 | + | + | 6600 - S60 2.1 | - | + | 6670 - S60 2.6 | + | + | 6630 - S60 2.8 | + | + | (not tested in a device) - S80 2.6 | - | + | 9300 - S90 1.1 | + | - | 7710 - UIQ 2.1 | - | + | (not tested in a device) + SDK | VC | CW | + --------+----+----+--- + S60 1.2 | + | + | 3650 (*) + S60 2.0 | + | + | 6600 + S60 2.1 | - | + | 6670 + S60 2.6 | + | + | 6630 + S60 2.8 | + | + | (not tested in a device) + S80 2.6 | - | + | 9300 + S90 1.1 | + | - | 7710 + UIQ 2.1 | - | + | (not tested in a device) - (*) Compiles but does not work, unfortunately, a problem with Symbian. + (*) Compiles but does not work, unfortunately, a problem with Symbian. - If you are using the 'make' directly, it is the GNU make from the SDKs, - and it will invoke the right make commands for the Windows emulator - build and the Arm target builds ('thumb' by default) as necessary. +If you are using the 'make' directly, it is the GNU make from the SDKs, +and it will invoke the right make commands for the Windows emulator +build and the Arm target builds ('thumb' by default) as necessary. - The build scripts assume the 'absolute style' SDK installs under C:, - the 'subst style' will not work. +The build scripts assume the 'absolute style' SDK installs under C:, +the 'subst style' will not work. - If using the VC IDE, to build use for example the File->Open Workspace-> - C:\Symbian\8.0a\S60_2nd_FP2\epoc32\build\symbian\perl\perl\wins\perl.dsw - The emulator binaries will appear in the same directory. +If using the VC IDE, to build use for example the File->Open Workspace-> +C:\Symbian\8.0a\S60_2nd_FP2\epoc32\build\symbian\perl\perl\wins\perl.dsw +The emulator binaries will appear in the same directory. - If using the VC IDE, you will a lot of warnings in the beginning of - the build because a lot of headers mentioned by the source cannot - be found, but this is not serious since those headers are not used. +If using the VC IDE, you will a lot of warnings in the beginning of +the build because a lot of headers mentioned by the source cannot +be found, but this is not serious since those headers are not used. - The Metrowerks will give a lot of warnings about unused variables and - empty declarations, you can ignore those. +The Metrowerks will give a lot of warnings about unused variables and +empty declarations, you can ignore those. - When the Windows and Arm DLLs are built do not be scared by a very long - messages whizzing by: it is the "export freeze" phase where the whole - (rather large) API of Perl is listed. +When the Windows and Arm DLLs are built do not be scared by a very long +messages whizzing by: it is the "export freeze" phase where the whole +(rather large) API of Perl is listed. - Once the build is completed you need to create the DLL SIS file by +Once the build is completed you need to create the DLL SIS file by - make perldll.sis + make perldll.sis - which will create the file perlXYZ.sis (the XYZ being the Perl version) - which you can then install into your Symbian device: an easy way - to do this is to send them via Bluetooth or infrared and just open - the messages. +which will create the file perlXYZ.sis (the XYZ being the Perl version) +which you can then install into your Symbian device: an easy way +to do this is to send them via Bluetooth or infrared and just open +the messages. - Since the total size of all Perl SIS files once installed is - over 2 MB, it is recommended to do the installation into a - memory card (drive E:) instead of the C: drive. +Since the total size of all Perl SIS files once installed is +over 2 MB, it is recommended to do the installation into a +memory card (drive E:) instead of the C: drive. - The size of the perlXYZ.SIS is about 370 kB but once it is in the - device it is about one 750 kB (according to the application manager). +The size of the perlXYZ.SIS is about 370 kB but once it is in the +device it is about one 750 kB (according to the application manager). - The perlXYZ.sis includes only the Perl DLL: to create an additional - SIS file which includes some of the standard (pure) Perl libraries, - issue the command +The perlXYZ.sis includes only the Perl DLL: to create an additional +SIS file which includes some of the standard (pure) Perl libraries, +issue the command - make perllib.sis + make perllib.sis - Some of the standard Perl libraries are included, but not all: - see L or F for more details - (250 kB -> 700 kB). +Some of the standard Perl libraries are included, but not all: +see L or F for more details +(250 kB -> 700 kB). - Some of the standard Perl XS extensions (see L are - also available: +Some of the standard Perl XS extensions (see L are +also available: - make perlext.sis + make perlext.sis - which will create perlXYZext.sis (290 kB -> 770 kB). +which will create perlXYZext.sis (290 kB -> 770 kB). - To compile the demonstration application PerlApp you need first to - install the Perl headers under the SDK. +To compile the demonstration application PerlApp you need first to +install the Perl headers under the SDK. - To install the Perl headers and the class CPerlBase documentation - so that you no more need the Perl sources around to compile Perl - applications using the SDK: +To install the Perl headers and the class CPerlBase documentation +so that you no more need the Perl sources around to compile Perl +applications using the SDK: - make sdkinstall + make sdkinstall - The destination directory is C:\Symbian\perl\X.Y.Z. For more - details, see F. +The destination directory is C:\Symbian\perl\X.Y.Z. For more +details, see F. - Once the headers have been installed, you can create a SIS for - the PerlApp: +Once the headers have been installed, you can create a SIS for +the PerlApp: - make perlapp.sis + make perlapp.sis - The perlapp.sis (11 kB -> 16 kB) will be built in the symbian - subdirectory, but a copy will also be made to the main directory. +The perlapp.sis (11 kB -> 16 kB) will be built in the symbian +subdirectory, but a copy will also be made to the main directory. - If you want to package the Perl DLLs (one for WINS, one for ARMI), - the headers, and the documentation: +If you want to package the Perl DLLs (one for WINS, one for ARMI), +the headers, and the documentation: - make perlsdk.zip + make perlsdk.zip - which will create perlXYZsdk.zip that can be used in another - Windows system with the SDK, without having to compile Perl in - that system. +which will create perlXYZsdk.zip that can be used in another +Windows system with the SDK, without having to compile Perl in +that system. - If you want to package the PerlApp sources: +If you want to package the PerlApp sources: - make perlapp.zip + make perlapp.zip - If you want to package the perl.exe and miniperl.exe, you - can use the perlexe.sis and miniperlexe.sis make targets. - You also probably want the perllib.sis for the libraries - and maybe even the perlapp.sis for the recognizer. +If you want to package the perl.exe and miniperl.exe, you +can use the perlexe.sis and miniperlexe.sis make targets. +You also probably want the perllib.sis for the libraries +and maybe even the perlapp.sis for the recognizer. - The make target 'allsis' combines all the above SIS targets. +The make target 'allsis' combines all the above SIS targets. - To clean up after compilation you can use either of +To clean up after compilation you can use either of - make clean - make distclean + make clean + make distclean - depending on how clean you want to be. +depending on how clean you want to be. =head2 Compilation problems @@ -349,28 +349,30 @@ The Symbian port is licensed under the same terms as Perl itself. (This will show as "0.01" in the Symbian Installer.) - - The console window is a very simple console indeed: one can - get the newline with "000" and the "C" button is a backspace. - Do not expect a terminal capable of vt100 or ANSI sequences. - The console is also "ASCII", you cannot input e.g. any accented - letters. Because of obvious physical constraints the console is - also very small: (in Nokia 6600) 22 columns, 17 rows. - - The following libraries are available: - AnyDBM_File AutoLoader base Carp Config Cwd constant - DynaLoader Exporter File::Spec integer lib strict Symbol - vars warnings XSLoader - - The following extensions are available: - attributes Compress::Zlib Cwd Data::Dumper Devel::Peek Digest::MD5 DynaLoader - Fcntl File::Glob Filter::Util::Call IO List::Util MIME::Base64 - PerlIO::scalar PerlIO::via SDBM_File Socket Storable Time::HiRes - - The following extensions are missing for various technical reasons: - B ByteLoader Devel::DProf Devel::PPPort Encode GDBM_File - I18N::Langinfo IPC::SysV NDBM_File Opcode PerlIO::encoding POSIX - re Safe Sys::Hostname Sys::Syslog - threads threads::shared Unicode::Normalize - - Using MakeMaker or the Module::* to build and install modules - is not supported. - - Building XS other than the ones in the core is not supported. + - The console window is a very simple console indeed: one can + get the newline with "000" and the "C" button is a backspace. + Do not expect a terminal capable of vt100 or ANSI sequences. + The console is also "ASCII", you cannot input e.g. any accented + letters. Because of obvious physical constraints the console is + also very small: (in Nokia 6600) 22 columns, 17 rows. + - The following libraries are available: + AnyDBM_File AutoLoader base Carp Config Cwd constant + DynaLoader Exporter File::Spec integer lib strict Symbol + vars warnings XSLoader + - The following extensions are available: + attributes Compress::Zlib Cwd Data::Dumper Devel::Peek + Digest::MD5 DynaLoader Fcntl File::Glob Filter::Util::Call + IO List::Util MIME::Base64 + PerlIO::scalar PerlIO::via SDBM_File Socket Storable Time::HiRes + - The following extensions are missing for various technical + reasons: + B ByteLoader Devel::DProf Devel::PPPort Encode GDBM_File + IPC::SysV NDBM_File Opcode PerlIO::encoding POSIX + re Safe Sys::Hostname Sys::Syslog + threads threads::shared Unicode::Normalize + - Using MakeMaker or the Module::* to build and install modules + is not supported. + - Building XS other than the ones in the core is not supported. Since this is 0.something release, any future releases are almost guaranteed to be binary incompatible. As a sign of this the Symbian