     Copyright (c) 1994 Louis J. LaBash, Jr. {lou@minuet.siue.edu}
                         Revised 20 Jul 94 -ljl-

Purpose:
Facilitate creation of a custom-fitted Perl; unlike a binary distribution
which necessarily must be one-size-fits-all, configured so it can be used
on any system.  Pre-built programs may lack features supported by your 
installation: in situ compilation eliminates any such restrictions.

Note: If your already have perl installed, backup all of its files, then
delete them before running 'Configure' (start with a CLEAN slate).  Perl's
'Configure' snoops around your system and presents defaults based on its
analysis in conjunction with hints in 'linux.sh'.  You'll need > 8M to
compile perl with "-O2" optimization, I used 8M RAM + 4M Swap.


Manifest:
README.1st	/* this file */
hints/linux.sh	/* Linux hints, used by Perl's Configure: suggest defaults */
perl.udf	/* Smartens Perl's Configure, fixes doio.c, brands 'perl.c',
                 * and removes trailing comment in 'cpp.t'. */
patch-pwd.udf	/* changes all occurrences of `pwd` to `'pwd'` in t subdir */
Info/perl.*	/* Info files for Perl */
perl-4.036-linux-kit.lsm	/* Linux Software Map */


Quick Start:
    Unpack sources:
	cd /usr/src
	zcat perl-4.036-linux-kit.tar.gz | tar xvf -
	zcat perl-4.036.tar.gz | tar xvf -
	cd perl-4.036

    Patching Perl:
	patch <perl.udf

    Making Perl:
	make realclean	/* if exist, remove
	rm config.sh	 * old stuff */
	sh Configure	/* accept defaults */
	make depend
	make
	make install
	make test

    If you don't see the cherished message "All tests successful"
    then see Trouble: (below)

	install -m 444  Info/* /usr/info   /*optional, Perl-Info*/
        cd /usr/info
    Edit 'dir' to include the following line:
  * perl:(perl).  Perl Version 4.036 (Practical Extraction & Report Language)


Trouble:
if 'make test' issues " Can't exec "pwd": No such file or directory ..."
    patch <patch-pwd.udf 
    rerun 'make test'
No errors should be reported, read Perl's README for other help.


Notes & Hints:
Perl built with this kit has Linux's conventional signal behaviour.
If you require BSD-ish style signals ..., see Mitch DSouza's GCC-FAQ.

Larry Wall, creator of Perl, assumed all machines have an external
'pwd' (aka C-Shell).  Two of his test programs, in the t subdirectory,
use the following Perl syntax: $val=`pwd`.  In Perl, COMMAND SUBSTITUTION
only works for external commands, -normally.  However, shell's internal
commands *can* be used if they are encapsulated in single-quotes, then
placed inside back-quotes; this is what 'patch-pwd.udf' does.  Another
work-around is to use an external 'pwd'.  The following elegant BASH
script was provided by Chet Ramey (chet@odin.ins.cwru.edu):
	#! /bin/bash
	builtin pwd
Create a file named 'pwd' containing the above two lines, make it
executable with 'chmod', and then move it to '/usr/bin'.

Another problem, 'cpp.t' has a *trailing-comment* : '#' (sharp) is a
reserved character for the C Pre Processor (cpp) and this isn't allowed.
The 'perl.udf' correct this error as well as another in 'doio.c'.
Some binaries disabled SysV IPC in order to compile perl because of
the bug in 'doio.c'.


Resource Guide:
Locations having Perl related materials:
    convex.com[130.168.1.1]: /pub/perl/info/faq
    ftp.uu.net [192.48.96.9]: /languages/perl
    (see also) /published/oreilly/nutshell/programming_perl/perl.tar.Z

    ftp.cis.ufl.edu [128.227.100.198]: /pub/perl

USENET's news group "comp.lang.perl", in digest format, is available on
Internet via mail:
    request-address: almanac@ruby.oce.orst.edu
    body-of-mail   : subscribe perl-users

If as a result of this package, or its product; you learned one thing:
I've been rewarded; I have :-).

I thank the following for their valuable feedback:
A. V. LeBlanc {LeBlanc@mcc.ac.uk}
Clay Haapala {clay@haapi.mn.org}
Lance Shorb {les@gasco.com}
Richard Soderberg {richard@micb.mic.ki.se}
Warren Smith {warrens@asbestos.lib.rmit.edu.au}
Dimitri Bougoulias {dbougo@leon.nrcps.ariadne-t.gr}
Fritz Heinrichmeyer {fritz.heinrichmeyer@fernuni-hagen.de}

Antoinette J. LaBash {mother@heaven.space}

Louis-ljl-{lou@minuet.siue.edu}
---------
