#
# This file was produced by running the Policy_sh.SH script, which
# gets its values from config.sh, which is generally produced by
-# running Configure. The Policy.sh file gets overwritten each time
-# Configure is run. Any variables you add to Policy.sh will be lost
-# unless you copy Policy.sh somewhere else before running Configure.
+# running Configure.
#
# The idea here is to distill in one place the common site-wide
# "policy" answers (such as installation directories) that are
# to be "sticky". If you keep the file Policy.sh around in
# the same directory as you are building Perl, then Configure will
# (by default) load up the Policy.sh file just before the
-# platform-specific hints file.
+# platform-specific hints file and rewrite it at the end.
+#
+# The sequence of events is as follows:
+# A: If you are NOT re-using an old config.sh:
+# 1. At start-up, Configure loads up the defaults from the
+# os-specific hints/osname_osvers.sh file and any previous
+# Policy.sh file.
+# 2. At the end, Configure runs Policy_sh.SH, which creates
+# Policy.sh, overwriting a previous Policy.sh if necessary.
+#
+# B: If you are re-using an old config.sh:
+# 1. At start-up, Configure loads up the defaults from config.sh,
+# ignoring any previous Policy.sh file.
+# 2. At the end, Configure runs Policy_sh.SH, which creates
+# Policy.sh, overwriting a previous Policy.sh if necessary.
+#
+# Thus the Policy.sh file gets overwritten each time
+# Configure is run. Any variables you add to Policy.sh will be lost
+# unless you copy Policy.sh somewhere else before running Configure.
#
-
# Allow Configure command-line overrides; usually these won't be
# needed, but something like -Dprefix=/test/location can be quite
# useful for testing out new versions.
# Installation prefixes. Allow a Configure -D override. You
# may wish to reinstall perl under a different prefix, perhaps
# in order to test a different configuration.
+# For an explanation of the installation directories, see the
+# INSTALL file section on "Installation Directories".
case "\$prefix" in
'') prefix='$prefix' ;;
esac
+
+# By default, the next three are the same as \$prefix.
+# If the user changes \$prefix, and previously \$siteprefix was the
+# same as \$prefix, then change \$siteprefix as well.
+# Use similar logic for \$vendorprefix and \$installprefix.
+
case "\$siteprefix" in
-'') siteprefix='$siteprefix' ;;
+'') if test "$siteprefix" = "$prefix"; then
+ siteprefix="\$prefix"
+ else
+ siteprefix='$siteprefix'
+ fi
+ ;;
esac
case "\$vendorprefix" in
-'') vendorprefix='$vendorprefix' ;;
+'') if test "$vendorprefix" = "$prefix"; then
+ vendorprefix="\$prefix"
+ else
+ vendorprefix='$vendorprefix'
+ fi
+ ;;
esac
# Where installperl puts things.
case "\$installprefix" in
-'') installprefix='$installprefix' ;;
+'') if test "$installprefix" = "$prefix"; then
+ installprefix="\$prefix"
+ else
+ installprefix='$installprefix'
+ fi
+ ;;
esac
# Installation directives. Note that each one comes in three flavors.
# this too is handled automatically by Configure based on
# $installprefix, so it isn't included here either.
#
+# Note also that there are three broad hierarchies of installation
+# directories, as discussed in the INSTALL file under
+# "Installation Directories":
+#
+# =item Directories for the perl distribution
+#
+# =item Directories for site-specific add-on files
+#
+# =item Directories for vendor-supplied add-on files
+#
# See Porting/Glossary for the definitions of these names, and see the
-# INSTALL file for some examples.
+# INSTALL file for further explanation and some examples.
#
# In each case, if your previous value was the default, leave it commented
# out. That way, if you override prefix, all of these will be
for var in \
bin scriptdir privlib archlib man1dir man3dir html1dir html3dir \
- sitebin sitescriptdir sitelib sitearch \
- siteman1dir siteman3dir sitehtml1dir sitehtml3dir \
+ sitebin sitescript sitelib sitearch \
+ siteman1 siteman3 sitehtml1 sitehtml3 \
vendorbin vendorscript vendorlib vendorarch \
vendorman1 vendorman3 vendorhtml1 vendorhtml3
do
html1dir) dflt='' ;;
htm31dir) dflt='' ;;
- # Site-specific add-ons.
+ # Directories for site-specific add-on files
sitebin) dflt=$siteprefix/bin ;;
- # The scriptdir test is more complex, but this is probably usually ok.
- sitescriptdir)
+ sitescript)
if $test -d $siteprefix/script; then
dflt=$siteprefix/script
else
;;
sitelib)
case "$siteprefix" in
- *perl*) dflt=$prefix/lib/site_perl ;;
- *) dflt=$prefix/lib/$package/site_perl ;;
+ *perl*) dflt=$prefix/lib/site_perl/$version ;;
+ *) dflt=$prefix/lib/$package/site_perl/$version ;;
esac
;;
- sitearch) dflt="$sitelib/$apiversion/$archname" ;;
+ sitearch) dflt="$sitelib/$archname" ;;
- siteman1dir) dflt="$siteprefix/man/man1" ;;
- siteman3dir) dflt="$siteprefix/man/man3" ;;
+ siteman1) dflt="$siteprefix/man/man1" ;;
+ siteman3) dflt="$siteprefix/man/man3" ;;
# We don't know what to do with these yet.
- sitehtml1dir) dflt='' ;;
+ sitehtml1) dflt='' ;;
sitehtm31dir) dflt='' ;;
- # Vendor-specific add-ons. These are all usually empty.
+ # Directories for vendor-supplied add-on files
+ # These are all usually empty.
vendor*)
if test X"$vendorprefix" = X""; then
dflt=''
else
case "$var" in
vendorbin) dflt=$vendorprefix/bin ;;
-
- # The scriptdir test is more complex,
- # but this is probably usually ok.
- vendorscriptdir)
+ vendorscript)
if $test -d $vendorprefix/script; then
dflt=$vendorprefix/script
else
;;
vendorlib)
case "$vendorprefix" in
- *perl*) dflt=$prefix/lib/vendor_perl ;;
- *) dflt=$prefix/lib/$package/vendor_perl ;;
+ *perl*) dflt=$prefix/lib/vendor_perl/$version ;;
+ *) dflt=$prefix/lib/$package/vendor_perl/$version ;;
esac
;;
- vendorarch) dflt="$vendorlib/$apiversion/$archname" ;;
+ vendorarch) dflt="$vendorlib/$archname" ;;
- vendorman1dir) dflt="$vendorprefix/man/man1" ;;
- vendorman3dir) dflt="$vendorprefix/man/man3" ;;
+ vendorman1) dflt="$vendorprefix/man/man1" ;;
+ vendorman3) dflt="$vendorprefix/man/man3" ;;
# We don't know what to do with these yet.
- vendorhtml1dir) dflt='' ;;
- vendorhtm31dir) dflt='' ;;
+ vendorhtml1) dflt='' ;;
+ vendorhtm3) dflt='' ;;
esac # End of vendorprefix != ''
fi
# The original design for this Policy.sh file came from Wayne Davison,
# maintainer of trn.
# This version for Perl5.004_61 originally written by
-# Andy Dougherty <doughera@lafcol.lafayette.edu>.
+# Andy Dougherty <doughera@lafayette.edu>.
# This file may be distributed under the same terms as Perl itself.