This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove duplicate entry (from config_heavy.pl)
[metaconfig.git] / U / modified / Config_sh.U
index a304c15..f074187 100644 (file)
@@ -1,12 +1,12 @@
-?RCS: $Id: Config_sh.U,v 3.0.1.3 1997/02/28 14:57:53 ram Exp $
+?RCS: $Id: Config_sh.U 1 2006-08-24 12:32:52Z rmanfredi $
+?RCS:
+?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
 ?RCS:
-?RCS: Copyright (c) 1991-1993, Raphael Manfredi
-?RCS: 
 ?RCS: You may redistribute only under the terms of the Artistic Licence,
 ?RCS: as specified in the README file that comes with the distribution.
 ?RCS: You may reuse parts of this distribution only within the terms of
 ?RCS: that same Artistic Licence; a copy of which may be found at the root
-?RCS: of the source tree for dist 3.0.
+?RCS: of the source tree for dist 4.0.
 ?RCS:
 ?RCS: $Log: Config_sh.U,v $
 ?RCS: Revision 3.0.1.3  1997/02/28  14:57:53  ram
 ?RCS: Revision 3.0  1993/08/18  12:04:48  ram
 ?RCS: Baseline for dist 3.0 netwide release.
 ?RCS:
-?X: 
+?X:
 ?X: This unit ends up producing the config.sh script, which contains all the
 ?X: definitions figured out by Configure.  The add.Config_sh command knows
 ?X: which variables need to be remembered.  It also adds the EOT (ends the
 ?X: here document redirection with variable substitution).
-?X: 
+?X:
 ?MAKE:Config_sh: cf_time cf_by test spitshell startsh myuname Myread \
-       End Obsol_sh Loc +d_portable package src +osname
+       End Obsol_sh Loc +d_portable package src cat
 ?MAKE: -pick add.Config_sh $@ %<
 ?MAKE: -pick add $@ ./Obsol_sh
 ?MAKE: -pick close.Config_sh $@ %<
-?F:!config.over
-?T:file
+?F:!config.over !config.arch
+?T:file temp
+?LINT:unclosed EOT
 : back to where it started
 if test -d ../UU; then
        cd ..
 fi
 
+: configuration may be unconditionally patched via a 'config.arch' file
+if $test -f config.arch; then
+       echo "I see a config.arch file, loading it." >&4
+       . ./config.arch
+fi
+
 : configuration may be patched via a 'config.over' file
 if $test -f config.over; then
        echo " "
@@ -64,6 +71,18 @@ case "$d_portable" in
 "$define")
        echo " "
        echo "Stripping down executable paths..." >&4
+?X:
+?X:    Previously, we used to do    eval $file="\$file"  but in order
+?X:    to handle things like  sh Configure -Dmake=gmake, we can't do
+?X:    that.  What we *really* want is to strip away the absolute path
+?X:    and rely on the end user's $PATH to correctly find the executable.
+?X:    This method assumes there is a "basename" command available.  If
+?X:    not, replace it with the following expr-based command:
+?X:                    expr  $temp : '.*/\(.*\)' \| $temp
+?X:    Since this preserves the actual command name, we can now drop the
+?X:    OS/2 specific code.
+?X:            --Andy Dougherty  August 1999
+?X:
 ?X:    On OS/2, a special $ar command not even named 'ar' is required,
 ?X:    so we don't strip that name.
 ?X:    Also, on DOSish systems, there might not be a ln command, but we
@@ -72,14 +91,10 @@ case "$d_portable" in
 ?X:    Unix-ish tools don't have standard locations there.  Thus we
 ?X:    MUST rely on the user's $PATH.
 ?X:    --Andy Dougherty  4/1998
+?X:
        for file in $loclist $trylist; do
-@if osname
-               if test X$file != Xln -a X$file != Xar -o X$osname != Xos2; then
-                       eval $file="\$file"
-               fi
-@else
-               eval $file="\$file"
-@end
+               eval temp=\$$file
+               eval $file=`basename $temp`
        done
        ;;
 esac
@@ -103,3 +118,11 @@ $startsh
 # Configured by     : $cf_by
 # Target system     : $myuname
 
+EOT
+?X: Command line options are saved by the Options.U unit in the
+?X: temporary file UU/cmdline.opt
+: Add in command line options if available
+$test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh
+
+$spitshell <<EOT >>config.sh
+