1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
?RCS: $Id$
?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:CONFIG TOP
?LINT:unclosed !GROK!THIS!
?LINT:extern CONFIG_H CONFIG_SH
?LINT:change CONFIG_H CONFIG_SH
?LINT:nocomment
case "$CONFIG_SH" in
'') CONFIG_SH=config.sh;;
esac
case "$CONFIG_H" in
'') CONFIG_H=config.h;;
esac
case $CONFIG 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!'
/*
* 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.
*
* \$Id$
*/
/*
* Package name : $package
* Source directory : $src
* Configuration time: $cf_time
* Configured by : $cf_by
* Target system : $myuname
*/
#ifndef _config_h_
#define _config_h_
|