diff options
author | Thomas Dorner <Thomas.Dorner@start.de> | 1998-09-29 14:29:36 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1998-10-17 14:49:46 +0000 |
commit | a1a0e61e30ae0c76c1d9cbf46512c19c0a966791 (patch) | |
tree | 87df3aae4267240a5d481ebb6ffe2eb12fe14667 /README.posix-bc | |
parent | 5b7e2fe55885acf170d7496132b9ef976ea5c02b (diff) | |
download | perl-a1a0e61e30ae0c76c1d9cbf46512c19c0a966791.tar.gz |
POSIX BC2000 port from perl-mvs:
Subject: Ported perl 5.005.02 to BS2000 / POSIX
Message-ID: <9CE47B416A24D2118BC40000F84009B20B72C5@start.de>
p4raw-id: //depot/cfgperl@2009
Diffstat (limited to 'README.posix-bc')
-rw-r--r-- | README.posix-bc | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/README.posix-bc b/README.posix-bc new file mode 100644 index 0000000000..e02510c316 --- /dev/null +++ b/README.posix-bc @@ -0,0 +1,108 @@ +This is a first ported perl for the POSIX subsystem in BS2000 VERSION +'V121', OSD V3.1, POSIX Shell V03.1A55. It may work on other +versions, but that's the one we've tested it on. + +You may need the following GNU programs in order to install perl: + +gzip: + +We used version 1.2.4, which could be installed out of the box with +one failure during 'make check'. + +bison: + +The yacc coming with BS2000 POSIX didn't work for us. So we had to +use bison. We had to make a few changes to perl in order to use the +pure (reentrant) parser of bison. We used version 1.25, but we had to +add a few changes due to EBCDIC. + + +UNPACKING: +========== + +To extract an ASCII tar archive on BS2000 POSIX you need an ASCII +filesystem (we used the mountpoint /usr/local/ascii for this). Now +you extract the archive in the ASCII filesystem without I/O-conversion: + +cd /usr/local/ascii +export IO_CONVERSION=NO +gunzip < /usr/local/src/perl.tar.gz | pax -r + +You may ignore the error message for the first element of the archive +(this doesn't look like a tar archive / skipping to next file...), +it's only the directory which will be made anyway. + +After extracting the archive you copy the whole directory tree to your +EBCDIC filesystem. This time you use I/O-conversion: + +cd /usr/local/src +IO_CONVERSION=YES +cp -r /usr/local/ascii/perl5.005_02 ./ + + +COMPILING: +========== + +There is a "hints" file for posix-bc that specifies the correct values +for most things. The major problem is (of course) the EBCDIC character +set. + +Configure did everything except the perl parser. + +Because of our problems with the native yacc we used GNU bison to +generate a pure (=reentrant) parser for perly.y: + +echo %pure_parser > /tmp/perly.y +cat perly.y >> /tmp/perly.y +/usr/local/bin/bison --yacc -d perly.y +cp y.tab.c perly.c +cp y.tab.h perly.h + +We build perl using GNU make, but it should compile with the native +make too. + + +TESTING: +======== + +We still got a few errors during 'make test'. Most of them are the +result of using bison. Bison prints 'parser error' instead of 'syntax +error', so we may ignore them. One error in the test op/regexp (and +op/regexp_noamp) seems a bit critical, the result was an 'Out of +memory' (core dump with op/regexp_noamp). The following list shows +our errors, your results may differ: + +comp/require........FAILED test 3 +op/misc.............FAILED tests 45-46 +op/pack.............FAILED tests 58-60 +op/regexp...........FAILED tests 402-485 (Out of memory!) +op/regexp_noamp.....FAILED tests 402-485 (core dump) +op/taint............FAILED test 73 +pragma/overload.....FAILED tests 152-153, 170-171 +pragma/subs.........FAILED tests 1-2 +lib/cgi-html........dubious, FAILED tests 1-17 (ALL) +lib/complex.........FAILED tests 264, 484 +lib/dumper..........FAILED tests MANY +lib/errno...........dubious (Errno.pm not found?) +lib/searchdict......FAILED tests 1-2 +Failed 13/186 test scripts, 93.01% okay. 224/6242 subtests failed, 96.41% +okay. + + +INSTALLING: +=========== + +We have no nroff on BS2000 POSIX (yet), so we ignored any errors while +installing the documentation. + + +USING PERL: +=========== + +BS2000 POSIX doesn't support the shebang notation +('#!/usr/local/bin/perl'), so you have to use the following lines +instead: + +: # use perl + eval 'exec /usr/local/bin/perl -S $0 ${1+"$@"}' + if $running_under_some_shell; |