Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / miscellany / patch-2.0.12u8 / config.h.SH
1 case $CONFIG in
2 '')
3     if test ! -f config.sh; then
4         ln ../config.sh . || \
5         ln ../../config.sh . || \
6         ln ../../../config.sh . || \
7         (echo "Can't find config.sh."; exit 1)
8         echo "Using config.sh from above..."
9     fi
10     . ./config.sh
11     ;;
12 esac
13 echo "Extracting config.h (with variable substitutions)"
14 cat <<!GROK!THIS! >config.h
15 /* config.h
16  * This file was produced by running the config.h.SH script, which
17  * gets its values from config.sh, which is generally produced by
18  * running Configure.
19  *
20  * Feel free to modify any of this as the need arises.  Note, however,
21  * that running config.h.SH again will wipe out any changes you've made.
22  * For a more permanent change edit config.sh and rerun config.h.SH.
23  */
24
25
26 /* EUNICE:
27  *      This symbol, if defined, indicates that the program is being compiled
28  *      under the EUNICE package under VMS.  The program will need to handle
29  *      things like files that don't go away the first time you unlink them,
30  *      due to version numbering.  It will also need to compensate for lack
31  *      of a respectable link() command.
32  */
33 /* VMS:
34  *      This symbol, if defined, indicates that the program is running under
35  *      VMS.  It is currently only set in conjunction with the EUNICE symbol.
36  */
37 #$d_eunice      EUNICE          /**/
38 #$d_eunice      VMS             /**/
39
40 /* CPPSTDIN:
41  *      This symbol contains the first part of the string which will invoke
42  *      the C preprocessor on the standard input and produce to standard
43  *      output.  Typical value of "cc -E" or "/lib/cpp".
44  */
45 /* CPPMINUS:
46  *      This symbol contains the second part of the string which will invoke
47  *      the C preprocessor on the standard input and produce to standard
48  *      output.  This symbol will have the value "-" if CPPSTDIN needs a minus
49  *      to specify standard input, otherwise the value is "".
50  */
51 #define CPPSTDIN "$cppstdin"
52 #define CPPMINUS "$cppminus"
53
54 /* CHARSPRINTF:
55  *      This symbol is defined if this system declares "char *sprintf()" in
56  *      stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
57  *      is up to the package author to declare sprintf correctly based on the
58  *      symbol.
59  */
60 /* #$d_charsprf CHARSPRINTF     /**/
61
62 /* FLEXFILENAMES:
63  *      This symbol, if defined, indicates that the system supports filenames
64  *      longer than 14 characters.
65  */
66 #$d_flexfnam    FLEXFILENAMES           /**/
67
68 /* index:
69  *      This preprocessor symbol is defined, along with rindex, if the system
70  *      uses the strchr and strrchr routines instead.
71  */
72 /* rindex:
73  *      This preprocessor symbol is defined, along with index, if the system
74  *      uses the strchr and strrchr routines instead.
75  */
76 #$d_index       index strchr    /* cultural */
77 #$d_index       rindex strrchr  /*  differences? */
78
79 /* VOIDSIG:
80  *      This symbol is defined if this system declares "void (*signal())()" in
81  *      signal.h.  The old way was to declare it as "int (*signal())()".  It
82  *      is up to the package author to declare things correctly based on the
83  *      symbol.
84  */
85 #$d_voidsig     VOIDSIG         /**/
86
87 /* DIRHEADER:
88  *      This definition indicates which directory library header to use.
89  */
90 $d_dirheader
91
92 /* HAVE_UNISTD_H:
93  *      This is defined if the system has unistd.h.
94  */
95 #$d_unistd      HAVE_UNISTD_H   /**/
96
97 /* Reg1:
98  *      This symbol, along with Reg2, Reg3, etc. is either the word "register"
99  *      or null, depending on whether the C compiler pays attention to this
100  *      many register declarations.  The intent is that you don't have to
101  *      order your register declarations in the order of importance, so you
102  *      can freely declare register variables in sub-blocks of code and as
103  *      function parameters.  Do not use Reg<n> more than once per routine.
104  */
105
106 #define Reg1 $reg1              /**/
107 #define Reg2 $reg2              /**/
108 #define Reg3 $reg3              /**/
109 #define Reg4 $reg4              /**/
110 #define Reg5 $reg5              /**/
111 #define Reg6 $reg6              /**/
112 #define Reg7 $reg7              /**/
113 #define Reg8 $reg8              /**/
114 #define Reg9 $reg9              /**/
115 #define Reg10 $reg10            /**/
116 #define Reg11 $reg11            /**/
117 #define Reg12 $reg12            /**/
118 #define Reg13 $reg13            /**/
119 #define Reg14 $reg14            /**/
120 #define Reg15 $reg15            /**/
121 #define Reg16 $reg16            /**/
122
123 /* VOIDFLAGS:
124  *      This symbol indicates how much support of the void type is given by this
125  *      compiler.  What various bits mean:
126  *
127  *          1 = supports declaration of void
128  *          2 = supports arrays of pointers to functions returning void
129  *          4 = supports comparisons between pointers to void functions and
130  *                  addresses of void functions
131  *
132  *      The package designer should define VOIDUSED to indicate the requirements
133  *      of the package.  This can be done either by #defining VOIDUSED before
134  *      including config.h, or by defining defvoidused in Myinit.U.  If the
135  *      level of void support necessary is not present, defines void to int.
136  */
137 #ifndef VOIDUSED
138 #define VOIDUSED $defvoidused
139 #endif
140 #define VOIDFLAGS $voidflags
141 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
142 #$define void int               /* is void to be avoided? */
143 #$define M_VOID         /* Xenix strikes again */
144 #endif
145
146 !GROK!THIS!