X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Policy_sh.SH;h=aefa08f3671b47ded4d177e721eae96f52587595;hb=ccf874816b57b9b91848a81cf43371bf7b3f17c8;hp=831585422ab3cefbb157a5d28d19cd57cabb29ec;hpb=85364e4e9e38fdbb16a5f77f54ec36d6f5e0162b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Policy_sh.SH b/Policy_sh.SH index 8315854..aefa08f 100644 --- a/Policy_sh.SH +++ b/Policy_sh.SH @@ -1,4 +1,4 @@ -case $CONFIG in +case $PERL_CONFIG_SH in '') . ./config.sh ;; esac echo "Extracting Policy.sh (with variable substitutions)" @@ -7,71 +7,240 @@ $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. +# 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". That is, if you keep the file Policy.sh around in +# 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. -#Credits: -# 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 . -# This file may be distributed under the same terms as Perl itself. +#Site-specific values: +case "\$perladmin" in +'') perladmin='$perladmin' ;; +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. -# Site-specific values +case "\$siteprefix" in +'') if test "$siteprefix" = "$prefix"; then + siteprefix="\$prefix" + else + siteprefix='$siteprefix' + fi + ;; +esac +case "\$vendorprefix" in +'') if test "$vendorprefix" = "$prefix"; then + vendorprefix="\$prefix" + else + vendorprefix='$vendorprefix' + fi + ;; +esac -perladmin='$perladmin' +# Where installperl puts things. +case "\$installprefix" in +'') if test "$installprefix" = "$prefix"; then + installprefix="\$prefix" + else + installprefix='$installprefix' + fi + ;; +esac # Installation directives. Note that each one comes in three flavors. # For example, we have privlib, privlibexp, and installprivlib. # privlib is for private (to perl) library files. -# privlibexp is the same, expcept any '~' the user gave to Configure +# privlibexp is the same, except any '~' the user gave to Configure # is expanded to the user's home directory. This is figured -# out automatically by Configure, so you don't have to include it here. +# out automatically by Configure, so you don't have to include it here. # installprivlib is for systems (such as those running AFS) that # need to distinguish between the place where things -# get installed and where they finally will reside. -# A full Glossary of all these config.sh variables is in the -# Porting/Glossary file. +# get installed and where they finally will reside. As of 5.005_6x, +# 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 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 +# automatically adjusted. +# +# WARNING: Be especially careful about architecture-dependent and +# version-dependent names, particularly if you reuse this file for +# different versions of perl. + +!GROK!THIS! + +for var in \ + bin scriptdir privlib archlib man1dir man3dir html1dir html3dir \ + sitebin sitescript sitelib sitearch \ + siteman1 siteman3 sitehtml1 sitehtml3 \ + vendorbin vendorscript vendorlib vendorarch \ + vendorman1 vendorman3 vendorhtml1 vendorhtml3 +do + + case "$var" in -# Installation Prefix. -prefix='$prefix' + # Directories for the core perl components + bin) dflt=$prefix/bin ;; + # The scriptdir test is more complex, but this is probably usually ok. + scriptdir) + if $test -d $prefix/script; then + dflt=$prefix/script + else + dflt=$bin + fi + ;; + privlib) + case "$prefix" in + *perl*) dflt=$prefix/lib/$version ;; + *) dflt=$prefix/lib/$package/$version ;; + esac + ;; + archlib) dflt="$privlib/$archname" ;; -bin='$bin' -installbin='$installbin' + man1dir) dflt="$prefix/man/man1" ;; + man3dir) dflt="$prefix/man/man3" ;; + # Can we assume all sed's have greedy matching? + man1ext) dflt=`echo $man1dir | sed -e 's!.*man!!' -e 's!^\.!!'` ;; + man3ext) dflt=`echo $man3dir | sed -e 's!.*man!!' -e 's!^\.!!'` ;; -scriptdir='$scriptdir' -installscript='$installscript' + # We don't know what to do with these yet. + html1dir) dflt='' ;; + htm31dir) dflt='' ;; -privlib='$privlib' -installprivlib='$installprivlib' + # Directories for site-specific add-on files + sitebin) dflt=$siteprefix/bin ;; + sitescript) + if $test -d $siteprefix/script; then + dflt=$siteprefix/script + else + dflt=$sitebin + fi + ;; + sitelib) + case "$siteprefix" in + *perl*) dflt=$prefix/lib/site_perl/$version ;; + *) dflt=$prefix/lib/$package/site_perl/$version ;; + esac + ;; + sitearch) dflt="$sitelib/$archname" ;; -archlib='$archlib' -installarchlib='$installarchlib' + siteman1) dflt="$siteprefix/man/man1" ;; + siteman3) dflt="$siteprefix/man/man3" ;; + # We don't know what to do with these yet. + sitehtml1) dflt='' ;; + sitehtm31dir) dflt='' ;; + + # 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 ;; + vendorscript) + if $test -d $vendorprefix/script; then + dflt=$vendorprefix/script + else + dflt=$vendorbin + fi + ;; + vendorlib) + case "$vendorprefix" in + *perl*) dflt=$prefix/lib/vendor_perl/$version ;; + *) dflt=$prefix/lib/$package/vendor_perl/$version ;; + esac + ;; + vendorarch) dflt="$vendorlib/$archname" ;; -sitearch='$sitearch' -installsitearch='$installsitearch' + vendorman1) dflt="$vendorprefix/man/man1" ;; + vendorman3) dflt="$vendorprefix/man/man3" ;; + # We don't know what to do with these yet. + vendorhtml1) dflt='' ;; + vendorhtm3) dflt='' ;; -sitelib='$sitelib' -installsitelib='$installsitelib' + esac # End of vendorprefix != '' + fi + ;; + esac + + eval val="\$$var" + if test X"$val" = X"$dflt"; then + echo "# $var='$dflt'" + else + echo "# Preserving custom $var" + echo "$var='$val'" + fi -# man1 and man3 manpage directories and extensions. -man1dir='$man1dir' -man1ext='$man1ext' -installman1dir='$installman1dir' -man3dir='$man3dir' -man3ext='$man3ext' -installman3dir='$installman3dir' +done >> Policy.sh -# You may add additional items here, for example, to set the pager -# to your local favorite value, uncomment -# #pager='$pager' +$spitshell <>Policy.sh + +# Lastly, you may add additional items here. For example, to set the +# pager to your local favorite value, uncomment the following line in +# the original Policy_sh.SH file and re-run sh Policy_sh.SH. +# +# pager='$pager' +# +# A full Glossary of all the config.sh variables is in the file +# Porting/Glossary. !GROK!THIS! + +#Credits: +# 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 . +# This file may be distributed under the same terms as Perl itself.