This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
a "replacement" for awk and sed
[perl5.git] / config.h.SH
CommitLineData
8d063cd8
LW
1case $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 ;;
12esac
13echo "Extracting config.h (with variable substitutions)"
14cat <<!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/* CHARSPRINTF:
41 * This symbol is defined if this system declares "char *sprintf()" in
42 * stdio.h. The trend seems to be to declare it as "int sprintf()". It
43 * is up to the package author to declare sprintf correctly based on the
44 * symbol.
45 */
46#$d_charsprf CHARSPRINTF /**/
47
48/* index:
49 * This preprocessor symbol is defined, along with rindex, if the system
50 * uses the strchr and strrchr routines instead.
51 */
52/* rindex:
53 * This preprocessor symbol is defined, along with index, if the system
54 * uses the strchr and strrchr routines instead.
55 */
56#$d_index index strchr /* cultural */
57#$d_index rindex strrchr /* differences? */
58
59/* STRUCTCOPY:
60 * This symbol, if defined, indicates that this C compiler knows how
61 * to copy structures. If undefined, you'll need to use a block copy
62 * routine of some sort instead.
63 */
64#$d_strctcpy STRUCTCOPY /**/
65
66/* vfork:
67 * This symbol, if defined, remaps the vfork routine to fork if the
68 * vfork() routine isn't supported here.
69 */
70#$d_vfork vfork fork /**/
71
72/* VOIDFLAGS:
73 * This symbol indicates how much support of the void type is given by this
74 * compiler. What various bits mean:
75 *
76 * 1 = supports declaration of void
77 * 2 = supports arrays of pointers to functions returning void
78 * 4 = supports comparisons between pointers to void functions and
79 * addresses of void functions
80 *
81 * The package designer should define VOIDUSED to indicate the requirements
82 * of the package. This can be done either by #defining VOIDUSED before
83 * including config.h, or by defining defvoidused in Myinit.U. If the
84 * level of void support necessary is not present, defines void to int.
85 */
86#ifndef VOIDUSED
87#define VOIDUSED $defvoidused
88#endif
89#define VOIDFLAGS $voidflags
90#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
91#$define void int /* is void to be avoided? */
92#$define M_VOID /* Xenix strikes again */
93#endif
94
95!GROK!THIS!