summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-05-30 22:59:41 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-05-30 22:59:41 +0000
commit16d20bd98cd29be76029ebf04027a7edd34d817b (patch)
tree9ff5dd75c8b63cfd0da63bc9e4d59f464986bc0e /README
parent3b35bae3d5913952e779006fe378c78297e23080 (diff)
downloadperl-16d20bd98cd29be76029ebf04027a7edd34d817b.tar.gz
This is my patch patch.1i for perl5.001.
To apply, change to your perl directory, run the commands above, then apply with patch -p1 -N < thispatch. After you apply this patch, I would recommend: rm config.sh sh Configure [whatever options you use] make depend make make test Here are the highlights: All pod documentation now installed, along with corresponding man pages, if possible (Configure allows you to change this). cppstdin no longer points back to the build directory. This necessitated two changes to the test suite: comp/cpp.t is now a front end that punts if cppstdin is not yet available (the old perl4 trick doesn't work for perl5). The op/misc.t test ./perl -P -e 'use POSIX;' has been dropped since I couldn't think of an elegant way to bypass it for systems that need the cppstdin wrapper. Grand autoload patch included (minus the installperl, lib/, and ext/ changes). The lib/ changes are in patch.1g, and the ext/ changes are in patch.1h. Better detection and use of stdio variants, especially on SVR4. Sarathy's consolidated patches (for ties) included. New filter stuff included. Three patches from Larry (gv.c, toke.c, pp_ctl.c) Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College Easton, PA 18042 Here's the file-by-file breakdown of what's included: Changes.Conf Document changes in the Configure & build process. Configure Upgrade to metaconfig PL55. Add /opt hierarchy to paths searched for programs. Tye McQueen's updated std stdio testing. Prompting for installation info for perl module pages. Add possible SITELIB to include site-specific include directories. By default this is disabled, but it seemed a neat idea now that the standard perl library is getting so big. Check that the compiler chosen exists and actually supports the options the user specified. Correctly sort multiple shared library version numbers. Use a compile & link test for gconvert(), dlopen(), and dlerror(). Do not include build directory name in cppstdin wrapper. MANIFEST Updated. Makefile.SH Reorganized a bit to support separate install.perl and install.man targets to use the new installman script and to accomodate those who don't want to install the man pages. Organize cleanup of .SH files a little better. No longer automatically make the pod/*.man files. This is done by installman only if requested. Include additional error messages and info for regenerating the automatically maintained header files. Add 'minitest' target. README Updated. README.vms Fix perl5-porters subscription info. config_H Updated. config_h.SH Updated. configpm Embedded pod. configure GNU configure-like front end to metaconfig's Configure. Only supports a few options. doio.c Updated to use new std stdio testing. embed.h Add new symbols for filtering. global.sym see embed.h. gv.c C<sub method;> patch from lwall. hints/README.hints Updated. hints/aux.sh Updated. hints/cxux.sh Updated. hints/epix.sh New file. hints/freebsd.sh Updated. hints/irix_4.sh Updated. hints/irix_5.sh Updated. hints/irix_6.sh Updated. hints/linux.sh Updated. hints/powerunix.sh Updated. installman New file to install pod/*.pod and lib/*.p(m|od) man pages. installperl Move installation of man pages over to installman script. Install pod/*.pod files in $privlib/pod/. Preserve timestamps on .a files. makedepend.SH Now includes . and .. in PATH to explicitly find cppstdin wrapper. opcode.h opcode.pl shmwrite fix. perl.c Changed unofficial patchlevel message. Included optional SITELIB directory. perl.h #include <memory.h> cryptswitch gone/filters added. EUNICE replaced by UNLINK_ALL_VERSIONS. Only matters for VMS. perldoc.SH New file. pod/perl.pod Describe where modpods are. pp_ctl.c sort bug fix from lwall. pp_hot.c csh glob bug fix from tchrist. Sarathy's consolidated "tie" patch for NETaa13753 N 2 trey pp_sys.c Emulate flock with lockf, if possible. Use new std stdio unit. proto.h Filters stuff. prototype for unlnk() is only needed #if UNLINK_ALL_VERSIONS sv.c Sarathy's consolidated "tie" patch for NETaa13753 N 2 trey Sarathy's consolidated patch for nested ties. Use new std stdio unit. t/comp/cpp.aux New file. This only gets called if cppstdin is avaiable. t/comp/cpp.t Calls cpp.aux test only if cppstdin is available. t/op/misc.t Drop perl -P -e 'use POSIX;' test. it couldn't work on systems without the cppstdin wrapper installed, and is usually misleading when it fails anyway. toke.c filter stuff. fix for NETaa13798 from lwall. unixish.h undef UNLINK_ALL_VERSIONS since it's irrelevant for unix. util.c s/EUNICE/UNLINK_ALL_VERSIONS/ for the unlnk() function. vms/config.vms VMS updates from Charles Bailey. std stdio updates to match changes in perl sources. add UNLINK_ALL_VERSIONS constant, but leave it #undef. vms/ext/MM_VMS.pm vms/ext/VMS/stdio/stdio.xs vms/perlvms.pod vms/vms.c VMS updates from Charles Bailey. x2p/Makefile.SH Updated to match man page Configure questions. Slight clean-up on .SH targets. x2p/str.c Use new std stdio unit.
Diffstat (limited to 'README')
-rw-r--r--README76
1 files changed, 49 insertions, 27 deletions
diff --git a/README b/README
index 7ad35b7888..23bc7cafee 100644
--- a/README
+++ b/README
@@ -68,14 +68,16 @@ Installation
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
- then edit config.sh to patch up any flaws and run Configure -S.
+ If you're a hotshot, run Configure -d to take all the defaults,
+ edit config.sh to patch up any flaws, and then run 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. This is the
- preferred way to invoke an alternate compiler, since the hints
- files can then set appropriate defaults.
+ 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.
If you change compilers or make other significant changes, you should
probably _not_ re-use your old config.sh. Simply remove it or
@@ -94,7 +96,7 @@ Installation
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
+ (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.
@@ -130,37 +132,50 @@ Installation
Makefile.SH, since a default rule only takes effect in the
absence of a specific rule.
- Many of the following hints are now done automatically by Configure.
- Some of the hints here were for Perl 4, and are probably obsolete.
- They're left here for the moment just to give you some ideas for
- what to try if you're having trouble.
+ 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:
- AIX/RT may need a -a switch and -DCRIPPLED_CC.
- Ultrix 3.[01] on MIPS needs to undefine WAITPID--the system call is busted.
- MIPS machines may need to undef d_volatile.
- MIPS machines may need to turn off -O on some files.
- Some MIPS machines may need to undefine CASTNEGFLOAT.
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.
- A/UX may appear to work with -O -B/usr/lib/big/ optimizer flags.
- A/UX may need -lposix to find rewinddir.
- A/UX may need -ZP -DPOSIX, and -g if big cc is used.
+
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.
+ 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.
@@ -173,13 +188,14 @@ Installation
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 do this. If
- you are not root, you must own the directories in question and you should
- ignore any messages about chown not working.
+ 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 also install the following:
+ make install will install the following:
perl,
perl5.nnn where nnn is the current release number. This
will be a link to perl.
@@ -192,6 +208,7 @@ Installation
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
@@ -200,6 +217,9 @@ Installation
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
@@ -208,9 +228,11 @@ Installation
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 format. Type
+ in HTML and LaTeX format. Type
cd pod; make html; cd ..
- to generate the html versions.
+ to generate the html versions, and
+ cd pod; make tex; cd ..
+ to generate the LaTeX versions.
7) Read the manual entries before running perl.