?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: You may redistribute only under the terms of the Artistic License,
?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 License; a copy of which may be found at the root
?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: patch61: added support for src.U
?RCS:
?RCS: Revision 3.0.1.2  1995/01/11  14:53:31  ram
?RCS: patch45: moved path stripping from d_portable.U to end of Configure
?RCS:
?RCS: Revision 3.0.1.1  1994/10/29  15:50:37  ram
?RCS: patch36: added ?F: line for metalint file checking
?RCS:
?RCS: Revision 3.0  1993/08/18  12:04:48  ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
?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:
?MAKE:Config_sh: cf_time cf_by test spitshell startsh myuname Myread \
	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 !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 " "
	dflt=y
	rp='I see a config.over file.  Do you wish to load it?'
	. UU/myread
	case "$ans" in
	n*) echo "OK, I'll ignore it.";;
	*)	. ./config.over
		echo "Configuration override changes have been loaded."
		;;
	esac
fi

@if d_portable
: in case they want portability, strip down executable paths
?X:
?X: Strip down paths in located executables. For each file, e.g. vi, there
?X: is a $vi variable whose value is for instance '/usr/bin/vi'. By resetting
?X: $vi to 'vi', we rely on the PATH variable to locate the executable...
?X:
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 DOS-ish systems, there might not be a ln command, but we
?X:	might have ln='cp'.
?X:	However, we can't set d_portable=undef on such systems since
?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
		eval temp=\$$file
		eval $file=`basename $temp`
	done
	;;
esac

@end
: create config.sh file
echo " "
echo "Creating config.sh..." >&4
$spitshell <<EOT >config.sh
$startsh
#
# This file was produced by running the Configure script. It holds all the
# definitions figured out by Configure. Should you modify one of these values,
# do not forget to propagate your changes by running "Configure -der". You may
# instead choose to run each of the .SH files by yourself, or "Configure -S".
#

# Package name      : $package
# Source directory  : $src
# Configuration time: $cf_time
# 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

