X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Policy_sh.SH;h=4ae0bb10ddca655c94557e4d38870bd9ea88c7b4;hb=a14cb26abd9e94e845d7de891545ccdb8fb0fad9;hp=1f84d7a332c6a5db627db4af641a040b186e3869;hpb=693762b493165ab96822ef2342af62f74dc0367b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Policy_sh.SH b/Policy_sh.SH index 1f84d7a..4ae0bb1 100644 --- a/Policy_sh.SH +++ b/Policy_sh.SH @@ -13,70 +13,59 @@ $startsh # # 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. -# +# #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 +# This version for Perl5.004_61 originally written by # Andy Dougherty . # This file may be distributed under the same terms as Perl itself. +# 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. -# Site-specific values +#Site-specific values: -perladmin='$perladmin' +case "\$perladmin" in +'') perladmin='$perladmin' ;; +esac + +# Installation prefix. Allow a Configure -D override. You +# may wish to reinstall perl under a different prefix, perhaps +# in order to test a different configuration. +case "\$prefix" in +'') prefix='$prefix' ;; +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. - -# Installation Prefix. -prefix='$prefix' - -bin='$bin' -installbin='$installbin' - -scriptdir='$scriptdir' -installscript='$installscript' - -privlib='$privlib' -installprivlib='$installprivlib' - -sitelib='$sitelib' -installsitelib='$installsitelib' - -# man1 and man3 manpage directories and extensions. -man1dir='$man1dir' -man1ext='$man1ext' -installman1dir='$installman1dir' -man3dir='$man3dir' -man3ext='$man3ext' -installman3dir='$installman3dir' - -# NOTE: Be careful about architecture-dependent names. If you have -# accepted the default, the following definitions will be commented out. -# That way you can carry this file to another architecture and this file -# won't mistakenly set architecture-dependent names to the wrong value. +# +# 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. # -# If you have not accepted the default, then be sure to check the -# following lines before copying this file to another system. +# NOTE: Be especially careful about architecture-dependent and +# version-dependent names, particularly if you reuse this file for +# different versions of perl. !GROK!THIS! if test 0 -eq "$subversion"; then version=`LC_ALL=C; export LC_ALL; \ - echo $baserev $patchlevel | + echo $baserev $patchlevel | $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'` else version=`LC_ALL=C; export LC_ALL; \ @@ -84,34 +73,73 @@ else $awk '{ printf "%.5f\n", $1 + $2/1000.0 + $3/100000.0 }'` fi -dflt="$privlib/$archname/$version" -if test X"$archlib" = X"$dflt"; then - echo "# archlib='$archlib'" - echo "# installarchlib='$installarchlib'" -else - echo '# NOTE: Preserving your custom archlib.' - echo "archlib='$archlib'" - echo "installarchlib='$installarchlib'" -fi >> Policy.sh -echo >> Policy.sh - -# Now consider sitearch. -dflt="$sitelib/$archname" -if test X"$sitearch" = X"$dflt"; then - echo "# sitearch='$sitearch'" - echo "# installsitearch='$installsitearch'" -else - echo '# NOTE: Preserving your custom sitearch.' - echo "sitearch='$sitearch'" - echo "installsitearch='$installsitearch'" -fi >> Policy.sh +for var in bin scriptdir privlib archlib \ + man1dir man3dir sitelib sitearch \ + installbin installscript installprivlib installarchlib \ + installman1dir installman3dir installsitelib installsitearch \ + man1ext man3ext; do + + case "$var" in + 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 ;; + *) dflt=$prefix/lib/$package ;; + esac + ;; + archlib) dflt="$privlib/$archname/$version" ;; + sitelib) dflt="$privlib/site_perl" ;; + sitearch) dflt="$sitelib/$archname" ;; + man1dir) dflt="$prefix/man/man1" ;; + man3dir) + case "$prefix" in + *perl*) dflt=`echo $man1dir | + sed -e 's/man1/man3/g' -e 's/man\.1/man\.3/g'` ;; + *) dflt=$privlib/man/man3 ;; + esac + ;; + + # 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!^\.!!'` ;; + + # It might be possible to fool these next tests. Please let + # me know if they don't work right for you. + installbin) dflt=`echo $binexp | sed 's#^/afs/#/afs/.#'`;; + installscript) dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;; + installprivlib) dflt=`echo $privlibexp | sed 's#^/afs/#/afs/.#'`;; + installarchlib) dflt=`echo $archlibexp | sed 's#^/afs/#/afs/.#'`;; + installsitelib) dflt=`echo $sitelibexp | sed 's#^/afs/#/afs/.#'`;; + installsitearch) dflt=`echo $sitearchexp | sed 's#^/afs/#/afs/.#'`;; + installman1dir) dflt=`echo $man1direxp | sed 's#^/afs/#/afs/.#'`;; + installman3dir) dflt=`echo $man3direxp | sed 's#^/afs/#/afs/.#'`;; + esac + + eval val="\$$var" + if test X"$val" = X"$dflt"; then + echo "# $var='$dflt'" + else + echo "# Preserving custom $var" + echo "$var='$val'" + fi + +done >> Policy.sh $spitshell <>Policy.sh -# Lastly, you may add additional items here. For example, to set the +# 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' +# +# pager='$pager' # # A full Glossary of all the config.sh variables is in the file # Porting/Glossary.