X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/5f578af9ed931912d211ccaae577f6fd38c9baea..36f453d19563f9476d4310b8310ce4080209b04f:/Policy_sh.SH diff --git a/Policy_sh.SH b/Policy_sh.SH old mode 100644 new mode 100755 index 133a9fa..1c99255 --- a/Policy_sh.SH +++ b/Policy_sh.SH @@ -1,4 +1,6 @@ -case $CONFIGDOTSH in +#!/bin/sh + +case $PERL_CONFIG_SH in '') . ./config.sh ;; esac echo "Extracting Policy.sh (with variable substitutions)" @@ -7,18 +9,33 @@ $startsh # # 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. @@ -32,19 +49,42 @@ esac # 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. @@ -59,8 +99,18 @@ esac # 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 @@ -72,12 +122,22 @@ esac !GROK!THIS! +# Set the following variables. Mention them here so metaconfig +# includes the appropriate code in Configure +# $bin $scriptdir $privlib $archlib +# $man1dir $man3dir $html1dir $html3dir +# $sitebin $sitescript $sitelib $sitearch +# $siteman1dir $siteman3dir $sitehtml1dir $sitehtml3dir +# $vendorbin $vendorscript $vendorlib $vendorarch +# $vendorman1dir $vendorman3dir $vendorhtml1dir $vendorhtml3dir + for var in \ - bin scriptdir privlib archlib man1dir man3dir html1dir html3dir \ - sitebin sitescriptdir sitelib sitearch \ + bin scriptdir privlib archlib man1dir man3dir man1ext man3ext \ + html1dir html3dir \ + sitebin sitescript sitelib sitearch \ siteman1dir siteman3dir sitehtml1dir sitehtml3dir \ vendorbin vendorscript vendorlib vendorarch \ - vendorman1 vendorman3 vendorhtml1 vendorhtml3 + vendorman1dir vendorman3dir vendorhtml1dir vendorhtml3dir do case "$var" in @@ -108,12 +168,11 @@ do # We don't know what to do with these yet. html1dir) dflt='' ;; - htm31dir) dflt='' ;; + html3dir) 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 @@ -122,29 +181,27 @@ do ;; 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" ;; + siteman1dir) dflt="$siteprefix/man/man1" ;; + siteman3dir) dflt="$siteprefix/man/man3" ;; # We don't know what to do with these yet. sitehtml1dir) dflt='' ;; - sitehtm31dir) dflt='' ;; + sitehtml3dir) 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 @@ -153,17 +210,17 @@ do ;; 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" ;; # We don't know what to do with these yet. vendorhtml1dir) dflt='' ;; - vendorhtm31dir) dflt='' ;; + vendorhtml3dir) dflt='' ;; esac # End of vendorprefix != '' fi @@ -197,5 +254,5 @@ $spitshell <>Policy.sh # 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 . +# Andy Dougherty . # This file may be distributed under the same terms as Perl itself.