=item gdbm in /usr/you
Suppose you have gdbm installed in some place other than /usr/local/,
-but you still want Configure to find it. To be specific, assume you
+but you still want Configure to find it. To be specific, assume you
have /usr/you/include/gdbm.h and /usr/you/lib/libgdbm.a. You
still have to add -I/usr/you/include to cc flags, but you have to take
an extra step to help Configure find libgdbm.a. Specifically, when
process, you can answer a question with &-d and Configure
will use the defaults from then on.
-By default, Configure will use the following directories for
-library files for 5.005 (archname is a string like sun4-sunos, determined
-by Configure).
+By default, Configure will use the following directories for library files
+for 5.005 (archname is a string like sun4-sunos, determined by Configure).
- /usr/local/lib/perl5/5.005/archname
- /usr/local/lib/perl5/5.005/share
- /usr/local/lib/perl5/site_perl/5.005/archname
- /usr/local/lib/perl5/site_perl/5.005/share
+ Configure variable Default value
+ $archlib /usr/local/lib/perl5/5.005/archname
+ $privlib /usr/local/lib/perl5/5.005
+ $sitearch /usr/local/lib/perl5/site_perl/5.005/archname
+ $sitelib /usr/local/lib/perl5/site_perl/5.005
-and the following directories for manual pages:
+Some users prefer to append a "/share" to $privlib and $sitelib
+to emphasize that those directories can be shared among different
+architectures.
- /usr/local/man/man1
- /usr/local/lib/perl5/man/man3
+By default, Configure will use the following directories for manual pages:
+
+ Configure variable Default value
+ $man1dir /usr/local/man/man1
+ $man3dir /usr/local/lib/perl5/man/man3
(Actually, Configure recognizes the SVR3-style
/usr/local/man/l_man/man1 directories, if present, and uses those
directory structure is simplified. For example, if you Configure with
-Dprefix=/opt/perl, then the defaults for 5.005 are
- /opt/perl/lib/5.005/archname
- /opt/perl/lib/5.005/share
- /opt/perl/lib/site_perl/5.005/archname
- /opt/perl/lib/site_perl/5.005/share
+ Configure variable Default value
+ $archlib /opt/perl/lib/5.005/archname
+ $privlib /opt/perl/lib/5.005
+ $sitearch /opt/perl/lib/site_perl/5.005/archname
+ $sitelib /opt/perl/lib/site_perl/5.005
- /opt/perl/man/man1
- /opt/perl/man/man3
+ $man1dir /opt/perl/man/man1
+ $man3dir /opt/perl/man/man3
The perl executable will search the libraries in the order given
above.
-The directories under site_perl are empty, but are intended to be used
+The directories under site_perl are empty, but are intended to be used
for installing local or site-wide extensions. Perl will automatically
look in these directories.
For example, you can replace the rand() and srand() functions in the
perl source by any other random number generator by a trick such as the
-following:
+following (this should all be on one line):
- sh Configure -Dccflags='-Drand=random -Dsrand=srandom'
+ sh Configure -Dccflags='-Dmy_rand=random -Dmy_srand=srandom' \
+ -Drandbits=31
-or by adding -Drand=random and -Dsrand=srandom to your ccflags
-at the appropriate Configure prompt. (Note: Although this worked for
-me, it might not work for you if your system's header files give
-different prototypes for rand() and random() or srand() and srandom().)
+or you can use the drand48 family of functions with
+
+ sh Configure -Dccflags='-Dmy_rand=lrand48 -Dmy_srand=srand48' \
+ -Drandbits=31
+
+or by adding the -D flags to your ccflags at the appropriate Configure
+prompt. (Read pp.c to see how this works.)
You should also run Configure interactively to verify that a hint file
doesn't inadvertently override your ccflags setting. (Hints files
will offer to use that hint file.
Several of the hint files contain additional important information.
-If you have any problems, it is a good idea to read the relevant hint
-file for further information. See hints/solaris_2.sh for an
-extensive example.
+If you have any problems, it is a good idea to read the relevant hint file
+for further information. See hints/solaris_2.sh for an extensive example.
+More information about writing good hints is in the hints/README.hints
+file.
=item *** WHOA THERE!!! ***
can also edit cflags directly, but beware that your changes will be
lost the next time you run Configure.
-To change the C flags for all the files, edit config.sh
-and change either $ccflags or $optimize,
-and then re-run
+To explore various ways of changing ccflags from within a hint file,
+see the file hints/README.hints.
+
+To change the C flags for all the files, edit config.sh and change either
+$ccflags or $optimize, and then re-run
sh Configure -S
make depend
If you can successfully build miniperl, but the process crashes
during the building of extensions, you should run
- make minitest
+ make minitest
to test your version of miniperl.
Installperl will also create the library directories $siteperl and
$sitearch listed in config.sh. Usually, these are something like
- /usr/local/lib/perl5/site_perl/5.005/share
+ /usr/local/lib/perl5/site_perl/5.005
/usr/local/lib/perl5/site_perl/5.005/archname
where archname is something like sun4-sunos. These directories
Configure variable Default value
$archlib /usr/local/lib/perl5/5.005/archname
- $privlib /usr/local/lib/perl5/5.005/share
+ $privlib /usr/local/lib/perl5/5.005
$sitearch /usr/local/lib/perl5/site_perl/5.005/archname
- $sitelib /usr/local/lib/perl5/site_perl/5.005/share
+ $sitelib /usr/local/lib/perl5/site_perl/5.005
while the directories searched by version 5.005_01 will be
$archlib /usr/local/lib/perl5/5.00501/archname
- $privlib /usr/local/lib/perl5/5.00501/share
+ $privlib /usr/local/lib/perl5/5.00501
$sitearch /usr/local/lib/perl5/site_perl/5.005/archname
- $sitelib /usr/local/lib/perl5/site_perl/5.005/share
+ $sitelib /usr/local/lib/perl5/site_perl/5.005
When you install an add-on extension, it gets installed into $sitelib (or
$sitearch if it is architecture-specific). This directory deliberately
the distribution. Alternatively, you can use the perlbug program that
comes with the perl distribution, but you need to have perl compiled
before you can use it. (If you have not installed it yet, you need to
-run C<./perlbug -Ilib> instead of a plain C<perlbug>.)
+run C<./perl -Ilib utils/perlbug> instead of a plain C<perlbug>.)
You might also find helpful information in the Porting directory of the
perl distribution.
heavily from the original README by Larry Wall, with lots of helpful
feedback and additions from the perl5-porters@perl.org folks.
-If you have problems or questions, please see L<"Reporting Problems">
-above.
+If you have problems, corrections, or questions, please see
+L<"Reporting Problems"> above.
+
+=head1 REDISTRIBUTION
+
+This document is part of the Perl package and may be distributed under
+the same terms as perl itself.
+
+If you are distributing a modified version of perl (perhaps as part of
+a larger package) please do modify these installation instructions and
+the contact information to match your distribution.
=head1 LAST MODIFIED
-$Id: INSTALL,v 1.38 1998/06/30 16:59:52 doughera Released $
+$Id: INSTALL,v 1.42 1998/07/15 18:04:44 doughera Released $