?RCS: $Id: Config_h.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_h.U,v $
?RCS: Revision 3.0.1.5  1997/02/28  14:57:43  ram
?RCS: patch61: added support for src.U
?RCS:
?RCS: Revision 3.0.1.4  1995/09/25  09:10:49  ram
?RCS: patch59: commented the purpose of the #un-def directive
?RCS:
?RCS: Revision 3.0.1.3  1995/01/30  14:25:39  ram
?RCS: patch49: typo fixes in leading config.h comment (WED)
?RCS:
?RCS: Revision 3.0.1.2  1993/08/24  12:13:20  ram
?RCS: patch3: added TOP as a local shell temporary variable
?RCS:
?RCS: Revision 3.0.1.1  1993/08/19  06:42:20  ram
?RCS: patch1: leading config.sh searching was not aborting properly
?RCS:
?RCS: Revision 3.0  1993/08/18  12:04:47  ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
?X:
?X: This file ends up producing the config_h.SH script, which is run to produce
?X: the config.h file.  The file ./.Config_h below contains all the ?H: lines
?X: extracted out of all the units.  Metaconfig itself adds the !GROK!THIS!.
?X: Note that this code isn't included into Configure, but must be shipped with.
?X:
?X: For those who wish to know why the file is config_h.SH instead of the more
?X: natural config.h.SH, well... it is to support systems like MS-DOG. Only one
?X: 'dot' is allowed within the file name, as it is part of the "extension" of
?X: the file. MS-DOG will not let you have two 'dots' because that would mean
?X: two "extensions".
?X:
?MAKE:Config_h: Id End Config_sh Obsol_h myuname cf_time cf_by package src
?MAKE:	-pick c_h_weed $@ %<
?MAKE:	-pick c_h_weed $@ ./Config_h
?MAKE:	-pick c_h_weed $@ ./Obsol_h
?T:PERL_CONFIG_SH TOP
?LINT:unclosed !GROK!THIS!
?LINT:extern CONFIG_H CONFIG_SH
?LINT:change CONFIG_H CONFIG_SH
?X:?LINT:nocomment
: Set up for generating config_h.SH
case "$CONFIG_SH" in
'') CONFIG_SH=config.sh;;
esac
case "$CONFIG_H" in
'') CONFIG_H=config.h;;
esac
case $PERL_CONFIG_SH in
'')
	if test -f $CONFIG_SH; then TOP=.;
	elif test -f ../$CONFIG_SH; then TOP=..;
	elif test -f ../../$CONFIG_SH; then TOP=../..;
	elif test -f ../../../$CONFIG_SH; then TOP=../../..;
	elif test -f ../../../../$CONFIG_SH; then TOP=../../../..;
	else
		echo "Can't find $CONFIG_SH."; exit 1
	fi
	. $TOP/$CONFIG_SH
	;;
esac
?X: Make sure we are in the directory where the .SH file is located.
case "$0" in
*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
esac
echo "Extracting $CONFIG_H (with variable substitutions)"
?X:
?X: Since we unconditionally translate leading #undef into /*#define, we're
?X: stuck when we really want to have a #undef in $CONFIG_H. That's why there
?X: is provision here for #un-def, which is translated back into #undef after
?X: all original #undef have been processed.
?X:
?X:	Previously, we changed all
?X:		#undef FOO /**/
?X:	into
?X:		/*#define FOO /**/
?X:	The xlc compiler (available on IBM's AIX) complains that this is
?X:	an illegal attempt to write a nested comment, and warns against it.
?X:	There's apparently no way to shut the compiler up, either.
?X:	This sed command from Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
?X:	changes it to
?X:		/*#define FOO / **/
sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-def!#undef!' -e's!define\t!define !'
/* This file was produced by running the config_h.SH script, which
 * gets its values from $CONFIG_SH, which is generally produced by
 * running Configure.
 *
 * Feel free to modify any of this as the need arises.  Note, however,
 * that running config_h.SH again will wipe out any changes you've made.
 * For a more permanent change edit $CONFIG_SH and rerun config_h.SH.
 */

/* Package name      : $package
 * Source directory  : $src
 * Configuration time: $cf_time
 * Configured by     : $cf_by
 * Target system     : $myuname
 */

#ifndef _config_h_
#define _config_h_

