-=head2 GNU-style configure
-
-If you prefer the GNU-style configure command line interface, you can
-use the supplied configure.gnu command, e.g.
-
- CC=gcc ./configure.gnu
-
-The configure.gnu script emulates a few of the more common configure
-options. Try
-
- ./configure.gnu --help
-
-for a listing.
-
-(The file is called configure.gnu to avoid problems on systems
-that would not distinguish the files "Configure" and "configure".)
-
-See L<Cross-compilation> below for information on cross-compiling.
-
-=head2 Installation Directories
-
-The installation directories can all be changed by answering the
-appropriate questions in Configure. For convenience, all the
-installation questions are near the beginning of Configure.
-Do not include trailing slashes on directory names.
-
-I highly recommend running Configure interactively to be sure it puts
-everything where you want it. At any point during the Configure
-process, you can answer a question with &-d and Configure will use
-the defaults from then on. Alternatively, you can
-
- grep '^install' config.sh
-
-after Configure has run to verify the installation paths.
-
-The defaults are intended to be reasonable and sensible for most
-people building from sources. Those who build and distribute binary
-distributions or who export perl to a range of systems will probably
-need to alter them. If you are content to just accept the defaults,
-you can safely skip the next section.
-
-The directories set up by Configure fall into three broad categories.
-
-=over 4
-
-=item Directories for the perl distribution
-
-By default, Configure will use the following directories for 5.8.0.
-$version is the full perl version number, including subversion, e.g.
-5.8.0 or 5.8.1, and $archname is a string like sun4-sunos,
-determined by Configure. The full definitions of all Configure
-variables are in the file Porting/Glossary.
-
- Configure variable Default value
- $prefix /usr/local
- $bin $prefix/bin
- $scriptdir $prefix/bin
- $privlib $prefix/lib/perl5/$version
- $archlib $prefix/lib/perl5/$version/$archname
- $man1dir $prefix/man/man1
- $man3dir $prefix/man/man3
- $html1dir (none)
- $html3dir (none)
-
-Actually, Configure recognizes the SVR3-style
-/usr/local/man/l_man/man1 directories, if present, and uses those
-instead. Also, if $prefix contains the string "perl", the library
-directories are simplified as described below. For simplicity, only
-the common style is shown here.
-
-=item Directories for site-specific add-on files
-
-After perl is installed, you may later wish to add modules (e.g. from
-CPAN) or scripts. Configure will set up the following directories to
-be used for installing those add-on modules and scripts.
-
- Configure variable Default value
- $siteprefix $prefix
- $sitebin $siteprefix/bin
- $sitescript $siteprefix/bin
- $sitelib $siteprefix/lib/perl5/site_perl/$version
- $sitearch $siteprefix/lib/perl5/site_perl/$version/$archname
- $siteman1dir $siteprefix/man/man1
- $siteman3dir $siteprefix/man/man3
- $sitehtml1dir (none)
- $sitehtml3dir (none)
-
-By default, ExtUtils::MakeMaker will install architecture-independent
-modules into $sitelib and architecture-dependent modules into $sitearch.
-
-=item Directories for vendor-supplied add-on files
-
-Lastly, if you are building a binary distribution of perl for
-distribution, Configure can optionally set up the following directories
-for you to use to distribute add-on modules.
-
- Configure variable Default value
- $vendorprefix (none)
- (The next ones are set only if vendorprefix is set.)
- $vendorbin $vendorprefix/bin
- $vendorscript $vendorprefix/bin
- $vendorlib $vendorprefix/lib/perl5/vendor_perl/$version
- $vendorarch $vendorprefix/lib/perl5/vendor_perl/$version/$archname
- $vendorman1dir $vendorprefix/man/man1
- $vendorman3dir $vendorprefix/man/man3
- $vendorhtml1dir (none)
- $vendorhtml3dir (none)
-
-These are normally empty, but may be set as needed. For example,
-a vendor might choose the following settings:
-
- $prefix /usr
- $siteprefix /usr/local
- $vendorprefix /usr
-
-This would have the effect of setting the following:
-
- $bin /usr/bin
- $scriptdir /usr/bin
- $privlib /usr/lib/perl5/$version
- $archlib /usr/lib/perl5/$version/$archname
- $man1dir /usr/man/man1
- $man3dir /usr/man/man3
-
- $sitebin /usr/local/bin
- $sitescript /usr/local/bin
- $sitelib /usr/local/lib/perl5/site_perl/$version
- $sitearch /usr/local/lib/perl5/site_perl/$version/$archname
- $siteman1dir /usr/local/man/man1
- $siteman3dir /usr/local/man/man3
-
- $vendorbin /usr/bin
- $vendorscript /usr/bin
- $vendorlib /usr/lib/perl5/vendor_perl/$version
- $vendorarch /usr/lib/perl5/vendor_perl/$version/$archname
- $vendorman1dir /usr/man/man1
- $vendorman3dir /usr/man/man3
-
-Note how in this example, the vendor-supplied directories are in the
-/usr hierarchy, while the directories reserved for the end-user are in
-the /usr/local hierarchy.
-
-The entire installed library hierarchy is installed in locations with
-version numbers, keeping the installations of different versions distinct.
-However, later installations of Perl can still be configured to search the
-installed libraries corresponding to compatible earlier versions.
-See L<"Coexistence with earlier versions of perl5"> below for more details
-on how Perl can be made to search older version directories.
-
-Of course you may use these directories however you see fit. For
-example, you may wish to use $siteprefix for site-specific files that
-are stored locally on your own disk and use $vendorprefix for
-site-specific files that are stored elsewhere on your organization's
-network. One way to do that would be something like
-
- sh Configure -Dsiteprefix=/usr/local -Dvendorprefix=/usr/share/perl
-
-=item otherlibdirs
-
-As a final catch-all, Configure also offers an $otherlibdirs
-variable. This variable contains a colon-separated list of additional
-directories to add to @INC. By default, it will be empty.
-Perl will search these directories (including architecture and
-version-specific subdirectories) for add-on modules and extensions.
-
-For example, if you have a bundle of perl libraries from a previous
-installation, perhaps in a strange place:
-
- Configure -Dotherlibdirs=/usr/lib/perl5/site_perl/5.6.1
-
-=item APPLLIB_EXP
-
-There is one other way of adding paths to @INC at perl build time, and
-that is by setting the APPLLIB_EXP C pre-processor token to a colon-
-separated list of directories, like this
-
- sh Configure -Accflags='-DAPPLLIB_EXP=\"/usr/libperl\"'
-
-The directories defined by APPLLIB_EXP get added to @INC I<first>,
-ahead of any others, and so provide a way to override the standard perl
-modules should you, for example, want to distribute fixes without
-touching the perl distribution proper. And, like otherlib dirs,
-version and architecture specific subdirectories are also searched, if
-present, at run time. Of course, you can still search other @INC
-directories ahead of those in APPLLIB_EXP by using any of the standard
-run-time methods: $PERLLIB, $PERL5LIB, -I, use lib, etc.
-
-=item Man Pages
-
-In versions 5.005_57 and earlier, the default was to store module man
-pages in a version-specific directory, such as
-/usr/local/lib/perl5/$version/man/man3. The default for 5.005_58 and
-after is /usr/local/man/man3 so that most users can find the man pages
-without resetting MANPATH.
-
-You can continue to use the old default from the command line with
-
- sh Configure -Dman3dir=/usr/local/lib/perl5/5.8.0/man/man3
-
-Some users also prefer to use a .3pm suffix. You can do that with
-
- sh Configure -Dman3ext=3pm
-
-Again, these are just the defaults, and can be changed as you run
-Configure.
-
-=item HTML pages
-
-Currently, the standard perl installation does not do anything with
-HTML documentation, but that may change in the future. Further, some
-add-on modules may wish to install HTML documents. The html Configure
-variables listed above are provided if you wish to specify where such
-documents should be placed. The default is "none", but will likely
-eventually change to something useful based on user feedback.
-
-=back
-
-Some users prefer to append a "/share" to $privlib and $sitelib
-to emphasize that those directories can be shared among different
-architectures.
-
-Note that these are just the defaults. You can actually structure the
-directories any way you like. They don't even have to be on the same
-filesystem.
-
-Further details about the installation directories, maintenance and
-development subversions, and about supporting multiple versions are
-discussed in L<"Coexistence with earlier versions of perl5"> below.
-
-If you specify a prefix that contains the string "perl", then the
-library directory structure is slightly simplified. Instead of
-suggesting $prefix/lib/perl5/, Configure will suggest $prefix/lib.
-
-Thus, for example, if you Configure with
--Dprefix=/opt/perl, then the default library directories for 5.8.0 are
-
- Configure variable Default value
- $privlib /opt/perl/lib/5.8.0
- $archlib /opt/perl/lib/5.8.0/$archname
- $sitelib /opt/perl/lib/site_perl/5.8.0
- $sitearch /opt/perl/lib/site_perl/5.8.0/$archname
-
-=head2 Changing the installation directory
-
-Configure distinguishes between the directory in which perl (and its
-associated files) should be installed and the directory in which it
-will eventually reside. For most sites, these two are the same; for
-sites that use AFS, this distinction is handled automatically.
-However, sites that use software such as depot to manage software
-packages, or users building binary packages for distribution may also
-wish to install perl into a different directory and use that
-management software to move perl to its final destination. This
-section describes how to do that.
-
-Suppose you want to install perl under the /tmp/perl5 directory. You
-could edit config.sh and change all the install* variables to point to
-/tmp/perl5 instead of /usr/local, or you could simply use the
-following command line:
-
- sh Configure -Dinstallprefix=/tmp/perl5
-
-(replace /tmp/perl5 by a directory of your choice).
-
-Beware, though, that if you go to try to install new add-on
-modules, they too will get installed in under '/tmp/perl5' if you
-follow this example. The next section shows one way of dealing with
-that problem.
-
-=head2 Creating an installable tar archive
-
-If you need to install perl on many identical systems, it is
-convenient to compile it once and create an archive that can be
-installed on multiple systems. Suppose, for example, that you want to
-create an archive that can be installed in /opt/perl.
-Here's one way to do that:
-
- # Set up to install perl into a different directory,
- # e.g. /tmp/perl5 (see previous part).
- sh Configure -Dinstallprefix=/tmp/perl5 -Dprefix=/opt/perl -des
- make
- make test
- make install # This will install everything into /tmp/perl5.
- cd /tmp/perl5
- # Edit $archlib/Config.pm and $archlib/.packlist to change all the
- # install* variables back to reflect where everything will
- # really be installed. (That is, change /tmp/perl5 to /opt/perl
- # everywhere in those files.)
- # Check the scripts in $scriptdir to make sure they have the correct
- # #!/wherever/perl line.
- tar cvf ../perl5-archive.tar .
- # Then, on each machine where you want to install perl,
- cd /opt/perl # Or wherever you specified as $prefix
- tar xvf perl5-archive.tar
-
-Alternatively, the DESTDIR variable is honored during C<make install>.
-The DESTDIR is automatically prepended to all the installation paths
-(and there is no need to edit anything). With DESTDIR, the above
-example can we written as:
-
- sh Configure -Dprefix=/opt/perl -des
- make
- make test
- make install DESTDIR=/tmp/perl5
- cd /tmp/perl5/opt/perl
- tar cvf /tmp/perl5-archive.tar .
-
-=head2 Site-wide Policy settings
-
-After Configure runs, it stores a number of common site-wide "policy"
-answers (such as installation directories and the local perl contact
-person) in the Policy.sh file. If you want to build perl on another
-system using the same policy defaults, simply copy the Policy.sh file
-to the new system and Configure will use it along with the appropriate
-hint file for your system.