summaryrefslogtreecommitdiff
path: root/atarist/README.ST
diff options
context:
space:
mode:
Diffstat (limited to 'atarist/README.ST')
-rw-r--r--atarist/README.ST186
1 files changed, 0 insertions, 186 deletions
diff --git a/atarist/README.ST b/atarist/README.ST
deleted file mode 100644
index 0d42ba0c6d..0000000000
--- a/atarist/README.ST
+++ /dev/null
@@ -1,186 +0,0 @@
-See: FILES for a shipping list of files in this archive.
-See: explain for a brief explaination of the diffs in perl.diffs.
-
-Here is a port of perl 4.0 Patchlevel 19 to the atariST series.:
-
-Whats new since atariST perl 4.010
- - many minor problems fixed.
-
- - configuration cleaned up.
-
- - makefiles now have a uperl.a target, so that usub's can be
- linked. (see usub/* to see how to make cursesperl)
-
- - perl will now compile and run correctly with or without
- the malloc that comes with perl.
-
- - FILEs opened for write now correctly contain CR/LF unless
- they are binmode'ed.
-
- - complete support for gemdos/xbios/bios calls. see osbind.pl
- and osexample.pl on how to use this facility.
-
- - tracked perl to Patchlevel 19.
-
-known problems:
- - $! still does'nt contain the correct value when there is no error.
- i still have'nt been able to track this down.
-
--------------------------------------------------------------------------
-
-Here is a port of perl 4.0 Patchlevel 10 to the atariST series.
-
-What you'll need:
- - a decent shell (i use gulam for obvious reasons), other
- highly recommended ones are bash 1.08/1.10, gemini/mufpel, okami,
- microCsh, init from apratt for MiNT. avoid neodesk. avoid the
- desktop like the plague. The shell should be setup to use
- atari/mwc conventions for command lines and environment setup
- and passing. (in gulam be sure to `set env_style mw').
-
- - a decent set of file utils (ls, rm, mv, etc etc) in your $PATH.
- if you dont have these, look on atari.archive. the gnuFileutils
- are available there.
-
- - included here are echo and perlglob that you will need.
-
- - setting UNIXMODE is recommended but not required. If you are
- going to run the perl tests, then set UNIXMODE to atleast
- "/.,LAd", else you will get a lot of unnecessary failures.
- (alternately you will have to go in and edit long path names.
- get rid of things dealing with links, and rename paths
- beginning with "/dev/..." etc)
-
- - if you are going to compile: you'll need gcc distribution,
- (i used gcc-1.40 and libs at Patchlevel 73 initially. i
- currently use gcc-2.1 and libs at Patchlevel 80). Also you will
- need the port of gdbm (i used v1.5). you'll also need bison.
- all these are available on atari.archive, in atari/gnustuff/tos
- the diffs as enclosed in this kit assume you have gcc libs at
- Patchlevel 80.
-
-Compiling:
- - get and install gnu gdbm (i used v1.5 -- see README.ST in
- the gdbm distribution on how to make the gdbm library).
-
- - get the perl kit at Patchlevel 19
-
- - copy config.h usersub.c atarist.c echo.c wildmat.c perlglob.c
- makefile.sm makefile.smd makefile.st makefile.std makefile.stm
-
- - apply the diffs in file `perl.diffs' using patch
-
- - decide which makefile you want to use:
- makefile.st perl with gcc library malloc
- makefile.sm perl with malloc that comes with perl
-
- - hit make -f <MAKEFILE>. (if you are not cross-compiling,
- you'll have to adjust the makefile yourself -- watchout for
- perly.fixer).
- This will result in 3 executables, perl.ttp, perlglob.ttp
- and echo.ttp. Put all these executables in a sub-directory
- in your $PATH (and depending on your shell, issue a rehash).
- (if you use makefile.std instead of makefile.st, the executable
- will be called perld.ttp. this is perl compiled with
- -DDEBUGGING)
-
-Compiling usubs:
- see the files in usub/* and the makefile.st there.
-
-Testing:
- - run perl from a decent shell. i use either gulam or bash
- if you are going to be running from gulam, be sure to
- set env_style mw
- (this can be done automatically by including the above
- line in the gulam.g startup file). bash always uses
- atari/mwc conventions so you dont have to do anything special.
- (if you run perl from the desktop, you are asking for trouble!)
-
- - you'll have to run the tests by hand. Almost all the tests
- pass. You'll have to judge for yourself when a test fails
- if it should have. I was able to explain all failures. If you
- cant, ask me via mail. (one day i will cook up a script to
- do this).
-
- - It helps to have all the gnu fileutils in your PATH here.
- especially echo.ttp and perlglob.ttp.
-
- - Also a lot more tests will pass if you have UNIXMODE setup
- i use "/.,LAd". If you dont use UNIXMODE, you'll have to hack
- some of the tests.
-
- - You may have to fix up a few Pathnames in the tests if you
- are cd'ing to a particular test sub-directory to run the tests.
-
- - Compare your tests with the results i got -- see file RESULTS.
-
-General:
- - setenv PERLLIB to point at the subdirectory containing lib/*
- (if you want PERLLIB to contain more than one path, seperate
- them with commas)
-
- - UNIXMODE is supported not required.
-
- - Pipes are a little flakey sometimes, but mostly work fine.
- Pipes, `prog` etc are much more efficient if you have set
- the environment var TEMP to point to a ramdisk. Note, when
- you set TEMP, it should contain *no* tailing backslash (or slash).
-
- - to force binary mode use "binmode FILE"
-
- - browse thru config.h to see whats supported
-
- - should MiNT'ize this much more.
-
- - avoid using the backtick (`commands`). Use 'open(FOO, "command |")'
- and use the filehandle FOO as appro.
-
- - the command passed to system etc can contain
- redirections of stdin/out, but system does not understand
- fancy pipelines etc.
-
- - syscall() to make gemdos/bios/xbios are fully supported now.
- (note: we dont use ioctl like messy-dos to do this, as we can do
- real ioctl's on devices)
-
- - i still need to cons up the lineA stuff.
- it should be just as easy to cons up aes/vdi outcalls too. imagine
- graphics from perl!.
-
- - watch out for re-directions. TOS blows up if you try to
- re-direct a re-directed handle. atari has greatly improved this
- situation. hopefully, the next general release of TOS will contain
- these fixes.
-
- - in the perl libs (particularly perldb.pl) you will
- need to s?/dev/tty?/dev/console?. perl -d works just fine.
- for instance: (for this to work, UNIXMODE should include the
- 'd' option):
-*** /home/bammi/etc/src/perl/lib/perldb.pl Tue Jun 11 17:40:17 1991
---- perldb.pl Mon Oct 7 21:46:28 1991
-***************
-*** 49,56 ****
- #
- #
-
-! open(IN, "</dev/tty") || open(IN, "<&STDIN"); # so we don't dingle stdin
-! open(OUT,">/dev/tty") || open(OUT, ">&STDOUT"); # so we don't dongle stdout
- select(OUT);
- $| = 1; # for DB'OUT
- select(STDOUT);
---- 49,56 ----
- #
- #
-
-! open(IN, "</dev/console") || open(IN, "<&STDIN"); # so we don't dingle stdin
-! open(OUT,">/dev/console") || open(OUT, ">&STDOUT"); # so we don't dongle stdout
- select(OUT);
- $| = 1; # for DB'OUT
- select(STDOUT);
-
-cheers,
---
-bang: uunet!cadence!bammi jwahar r. bammi
-domain: bammi@cadence.com
-GEnie: J.Bammi
-CIS: 71515,155