| case $PERL_CONFIG_SH in |
| '') . ./config.sh ;; |
| esac |
| echo "Extracting Policy.sh (with variable substitutions)" |
| $spitshell <<!GROK!THIS! >Policy.sh |
| $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 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 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. |
| |
| #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. |
| |
| 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 |
| |
| # 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, 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. |
| # 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. 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! |
| |
| # 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 man1ext man3ext \ |
| html1dir html3dir \ |
| sitebin sitescript sitelib sitearch \ |
| siteman1dir siteman3dir sitehtml1dir sitehtml3dir \ |
| vendorbin vendorscript vendorlib vendorarch \ |
| vendorman1dir vendorman3dir vendorhtml1dir vendorhtml3dir |
| do |
| |
| case "$var" in |
| |
| # 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" ;; |
| |
| 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!^\.!!'` ;; |
| |
| # We don't know what to do with these yet. |
| html1dir) dflt='' ;; |
| html3dir) dflt='' ;; |
| |
| # 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" ;; |
| |
| siteman1dir) dflt="$siteprefix/man/man1" ;; |
| siteman3dir) dflt="$siteprefix/man/man3" ;; |
| # We don't know what to do with these yet. |
| sitehtml1dir) dflt='' ;; |
| sitehtml3dir) 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" ;; |
| |
| vendorman1dir) dflt="$vendorprefix/man/man1" ;; |
| vendorman3dir) dflt="$vendorprefix/man/man3" ;; |
| # We don't know what to do with these yet. |
| vendorhtml1dir) dflt='' ;; |
| vendorhtml3dir) dflt='' ;; |
| |
| 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 |
| |
| done >> Policy.sh |
| |
| $spitshell <<!GROK!THIS! >>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 <doughera@lafayette.edu>. |
| # This file may be distributed under the same terms as Perl itself. |