summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-10-31 03:33:09 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-10-31 03:33:09 +0000
commit8e07c86ebc651fe92eb7e3b25f801f57cfb8dd6f (patch)
treebd67a65038befe4bef8b330a688bf7d915cab92f /README
parente50aee73b3d4c555c37e4b4a16694765fb16c887 (diff)
downloadperl-8e07c86ebc651fe92eb7e3b25f801f57cfb8dd6f.tar.gz
This is my patch patch.1n for perl5.001.perl-5.001n
To apply, change to your perl directory, run the command above, then apply with patch -p1 -N < thispatch. This is a consolidation patch. It contains many of the most commonly applied or agreed-to patches that have been circulating since patch.1m. It also changes the 'unofficial patchlevel' in perl.c. There are some problems (see items marked with '***'). I will attempt to address those in a patch.1o in a few days. This patch contains the following packages: My Jumbo Configure patch vs. 1m, with subsequent patches 1, 2, and 3. Mainly, this provides easier use of local libraries, documents the installation process in a new INSTALL file, moves important questions towards the beginning, and improves detection of signal names (mostly for Linux). xsubpp-1.922. Patches from Larry: eval "1" memory leak patch (as modified by GSAR to apply to 5.001m). NETaa14551 Infinite loop in formats, NETaa13729 scope.c patch (fixed problems on AIX and others) NETaa14138 "substr() & s///" (pp_hot.c) Patches from ftp.perl.com: ftp://ftp.perl.com/pub/perl/src/patches/closure-bug.patch, version of 20 Sep 1995 Includes fix for NETaa14347 (32k limit in regex), and other fixes. ftp://ftp.perl.com/pub/perl/src/patches/debugger.patch, version of 27 Aug 1995 ftp://ftp.perl.com/pub/perl/src/patches/glob-undef.patch, version of 4 Sep 1995 NETaa14421 $_ doesn't undef ftp://ftp.perl.com/pub/perl/src/patches/op-segfault.patch, version of 21 Aug 1995 ftp://ftp.perl.com/pub/perl/src/patches/warn-ref-hash-key.patch, version of 5 Jun 1995 Tim Bunce's Jumbo DynaLoader patch for Perl5.001m, which is NETaa14636 Jumbo DynaLoader patch for Perl5.001m, and Additional patch for NETaa14636 Jumbo DynaLoader patch for Perl5.001m version of 09 Oct 1995. ***This needs some additional parentheses.*** MakeMaker-5.00. Supercedes NETaa13540 (VMS MakeMaker patches). (Updates minimod.PL as well.) ***This has a couple of minor problems. pod2man is run even if it isn't available. LD_RUN_PATH gets set to some mysterious values.*** NETaa14657 Paul Marquess Net::Ping patch. I've included Net-Ping-1.00. NETaa14661 Dean Roehrich DProf. Installed as ext/Devel/DProf. Configure should pick this up automatically. (5 Apr 1995 version.) NETaa13742 Jack Shirazi Socket in 5.001. I've also included his socket.t test in t/lib/socket.t. c2ph-1.7. Dean's perlapi patches of Oct 12, 1995, which superceded those of Oct 8, 1995. This is the one that did mv perlapi.pid perlxs.pod. NETaa14310 Tim Bunce A trivial patch for configpm (handy for shell scripts) DB_File-1.0 patch from Paul Marquess (pmarquess@bfsec.bt.co.uk) last modified 7th October 1995 version 1.0 Added or updated the following hints files: hints/hpux.sh hints/ncr_tower.sh hints/netbsd.sh hints/ultrix.sh Patch and enjoy. Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042
Diffstat (limited to 'README')
-rw-r--r--README229
1 files changed, 29 insertions, 200 deletions
diff --git a/README b/README
index 66ab6fa5cf..0f92ea5ffa 100644
--- a/README
+++ b/README
@@ -6,7 +6,7 @@
This program is free software; you can redistribute it and/or modify
it under the terms of either:
-
+
a) the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
@@ -62,205 +62,34 @@ in MANIFEST.
Installation
-1) Run Configure. This will figure out various things about your
- system. Some things Configure will figure out for itself, other
- things it will ask you about. If the test scripts and programs
- run ok, the defaults will usually be right. It will then proceed to
- make config.h, config.sh, and Makefile. You may have to explicitly
- say sh Configure to ensure that Configure is run under sh.
- If you're a hotshot, run Configure -d to take all the defaults
- and edit config.sh to patch up any flaws.
-
- If you later make any changes to config.sh, you should propagate
- them to all the .SH files by running Configure -S.
-
- Configure supports a number of useful options. Run Configure -h
- to get a listing. To compile with gcc, for example, you can run
- Configure -Dcc=gcc, or answer 'gcc' at the cc prompt.
-
- If you wish to use gcc (or another alternative compiler)
- you should use Configure -Dcc=gcc. That way, the the hints
- files can set appropriate defaults.
-
- By default, perl will be installed in /usr/local/{bin, lib, man}.
- You can specify a different 'prefix' for the default installation
- directory, when Configure prompts you or by using the Configure
- command line option -Dprefix='/some/directory'.
-
- By default, perl will use dynamic extensions if your system
- supports it. If you want to force perl to be compiled statically,
- you can either choose this when Configure prompts you or by using
- the Configure command line option -Uusedl
-
- If you change compilers or make other significant changes, you should
- probably _not_ re-use your old config.sh. Simply remove it or
- rename it, e.g. mv config.sh config.sh.old. Then rerun Configure
- with the options you want to use.
-
- You can also supply a file config.over to over-ride Configure's
- guesses. It will get loaded up at the very end, just before
- config.sh is created.
-
- You might possibly have to trim # comments from the front of Configure
- if your sh doesn't handle them, but all other # comments will be taken
- care of.
-
- (If you don't have sh, you'll have to copy the sample file config_H to
- config.h and edit the config.h to reflect your system's peculiarities.)
-
-2) Glance through config.h to make sure system dependencies are correct.
- Most of them should have been taken care of by running the Configure script.
-
- If you have any additional changes to make to the C definitions, they
- can be done in cflags.SH. For instance, to turn off the optimizer
- on toke.c, find the line in the switch structure for toke.c and
- put the command optimize='-g' before the ;;. To change the C flags
- for all the files, edit config.sh and change either $ccflags or $optimize,
- and then re-run Configure -S ; make depend.
-
-
-3) make depend
-
- This will look for all the includes and modify Makefile accordingly.
- Configure will offer to do this for you.
-
-4) make
-
- This will attempt to make perl in the current directory.
-
- If you can't compile successfully, try adding a -DCRIPPLED_CC flag.
- (Just because you get no errors doesn't mean it compiled right!)
- This simplifies some complicated expressions for compilers that
- get indigestion easily. If that has no effect, try turning off
- optimization. If you have missing routines, you probably need to
- add some library or other, or you need to undefine some feature that
- Configure thought was there but is defective or incomplete.
-
- Some compilers will not compile or optimize the larger files without
- some extra switches to use larger jump offsets or allocate larger
- internal tables. You can customize the switches for each file in
- cflags.SH. It's okay to insert rules for specific files into
- Makefile.SH, since a default rule only takes effect in the
- absence of a specific rule.
-
- If you used a hint file, try reading the comments in the hint file
- for further tips and information.
-
- If you can successfully build miniperl, but the process crashes
- during the building of extensions, you should run
- make minitest
- to test your version of miniperl.
-
- Some additional things that have been reported for either perl4 or
- perl5:
-
- Genix may need to use libc rather than libc_s, or #undef VARARGS.
-
- NCR Tower 32 (OS 2.01.01) may need -W2,-Sl,2000 and #undef MKDIR.
-
- UTS may need one or more of -DCRIPPLED_CC, -K or -g, and undef LSTAT.
-
- If you get syntax errors on '(', try -DCRIPPLED_CC.
-
- Machines with half-implemented dbm routines will need to #undef I_ODBM
-
- SCO prior to 3.2.4 may be missing dbmclose(). An upgrade to 3.2.4
- that includes libdbm.nfs (which includes dbmclose()) may be available.
-
- If you get duplicates upon linking for malloc et al, say -DHIDEMYMALLOC.
-
- If you get duplicate function definitions (a perl function has the
- same name as another function on your system) try -DEMBED.
-
- If you get varags problems with gcc, be sure that gcc is installed
- correctly. When using gcc, you should probably have i_stdarg='define'
- and i_varags='undef' in config.sh. The problem is usually solved
- by running fixincludes correctly.
-
- If you wish to use dynamic loading on SunOS or Solaris, and you
- have GNU as and GNU ld installed, you may need to add -B/bin/ to
- your $ccflags and $ldflags so that the system's versions of as
- and ld are used.
-
- If you run into dynamic loading problems, check your setting of
- the LD_LIBRARY_PATH environment variable. Perl should build
- fine with LD_LIBRARY_PATH unset, though that may depend on details
- of your local set-up.
-
-5) make test
-
- This will run the regression tests on the perl you just made.
- If it doesn't say "All tests successful" then something went wrong.
- See the README in the t subdirectory. Note that you can't run it
- in background if this disables opening of /dev/tty. If "make test"
- bombs out, just cd to the t directory and run TEST by hand to see if
- it makes any difference. If individual tests bomb, you can run
- them by hand, e.g., ./perl op/groups.t
-
-6) make install
-
- This will put perl into a public directory (such as
- /usr/local/bin). It will also try to put the man pages in a
- reasonable place. It will not nroff the man page, however. You
- may need to be root to run make install. If you are not root, you
- must own the directories in question and you should ignore any
- messages about chown not working.
-
- make install will install the following:
- perl,
- perl5.nnn where nnn is the current release number. This
- will be a link to perl.
- suidperl,
- sperl5.nnn If you requested setuid emulation.
- a2p awk-to-perl translator
- cppstdin This is used by perl -P, if your cc -E can't
- read from stdin.
- c2ph, pstruct Scripts for handling C structures in header files.
- s2p sed-to-perl translator
- find2perl find-to-perl translator
- h2xs Converts C .h header files to Perl extensions.
- perldoc Tool to read perl's pod documentation.
- pod2html, Converters from perl's pod documentation format
- pod2latex, and to other useful formats.
- pod2man
-
- library files in $privlib and $archlib specified to
- Configure, usually under /usr/local/lib/perl5/.
- man pages in the location specified to Configure, usually
- something like /usr/local/man/man1.
- module in the location specified to Configure, usually
- man pages under /usr/local/lib/perl5/man/man3.
- pod/*.pod in $privlib/pod/.
-
- Perl's *.h header files and the libperl.a library are also
- installed under $archlib so that you may later build new
- extensions even if the Perl source is no longer available.
-
- make install may also offer to install perl in a "standard" location.
-
- Most of the documentation in the pod/ directory is also available
- in HTML and LaTeX format. Type
- cd pod; make html; cd ..
- to generate the html versions, and
- cd pod; make tex; cd ..
- to generate the LaTeX versions.
-
-7) Read the manual entries before running perl.
-
-8) IMPORTANT! Help save the world! Communicate any problems and suggested
- patches to me, lwall@netlabs.com (Larry Wall), so we can
- keep the world in sync. If you have a problem, there's someone else
- out there who either has had or will have the same problem.
-
- If possible, send in patches such that the patch program will apply them.
- Context diffs are the best, then normal diffs. Don't send ed scripts--
- I've probably changed my copy since the version you have. It's also
- helpful if you send the output of "uname -a".
-
- Watch for perl patches in comp.lang.perl. Patches will generally be
- in a form usable by the patch program. If you are just now bringing up
- perl and aren't sure how many patches there are, write to me and I'll
- send any you don't have. Your current patch level is shown in patchlevel.h.
+1) Detailed instructions are in the file INSTALL. In brief, the
+following should work on most systems:
+ rm -f config.sh
+ sh Configure
+ make
+ make test
+ make install
+For most systems, it should be safe to accept all the Configure
+defaults.
+
+2) Read the manual entries before running perl.
+
+3) IMPORTANT! Help save the world! Communicate any problems and suggested
+patches to me, lwall@netlabs.com (Larry Wall), so we can
+keep the world in sync. If you have a problem, there's someone else
+out there who either has had or will have the same problem.
+It's usually helpful if you send the output of the "myconfig" script
+in the main perl directory.
+
+If possible, send in patches such that the patch program will apply them.
+Context diffs are the best, then normal diffs. Don't send ed scripts--
+I've probably changed my copy since the version you have.
+
+Watch for perl patches in comp.lang.perl.announce. Patches will generally
+be in a form usable by the patch program. If you are just now bringing
+up perl and aren't sure how many patches there are, write to me and I'll
+send any you don't have. Your current patch level is shown in
+patchlevel.h.
Just a personal note: I want you to know that I create nice things like this