perl 5.003_03: config_h.SH
Perl 5 Porters [Fri, 23 Aug 1996 02:02:03 +0000 (02:02 +0000)]
Updated to match current Configure and config_h.SH.
Some rearrangement of parts has occurred due to new
dependencies in the metaconfig units.

Include full descriptions of ARCHLIB, OLDARCHLIB, PRIVLIB,
SITEARCH, and SITELIB.  Previous versions just included the
~-expanded names (with unhelpful descriptions).  No functionality
is changed, but maybe it's a little better documented now.

config_h.SH

index 2b7694f..21cd2d9 100755 (executable)
@@ -715,18 +715,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  *     and FILE_cnt(fp) macros will also be defined and should be used
  *     to access these fields.
  */
-/* USE_STDIO_BASE:
- *     This symbol is defined if the _base field (or similar) of the
- *     stdio FILE structure can be used to access the stdio buffer for
- *     a file handle.  If this is defined, then the FILE_base(fp) macro
- *     will also be defined and should be used to access this field.
- *     Also, the FILE_bufsiz(fp) macro will be defined and should be used
- *     to determine the number of bytes in the buffer.  USE_STDIO_BASE
- *     will never be defined unless USE_STDIO_PTR is.
- */
-#$d_stdstdio USE_STDIO_PTR     /**/
-#$d_stdiobase USE_STDIO_BASE   /**/
-
 /* FILE_ptr:
  *     This macro is used to access the _ptr field (or equivalent) of the
  *     FILE structure pointed to by its argument. This macro will always be
@@ -745,13 +733,33 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  *     This symbol is defined if the FILE_cnt macro can be used as an
  *     lvalue.
  */
+/* FILE_filbuf:
+ *     This macro is used to access the internal stdio _filbuf function
+ *     (or equivalent), if STDIO_CNT_LVALUE and STDIO_PTR_LVALUE
+ *     are defined.  It is typically either _filbuf or __filbuf.
+ *     This macro will only be defined if both STDIO_CNT_LVALUE and
+ *     STDIO_PTR_LVALUE are defined.
+ */
+#$d_stdstdio USE_STDIO_PTR     /**/
 #ifdef USE_STDIO_PTR
 #define FILE_ptr(fp)   $stdio_ptr
 #$d_stdio_ptr_lval STDIO_PTR_LVALUE            /**/
 #define FILE_cnt(fp)   $stdio_cnt
 #$d_stdio_cnt_lval STDIO_CNT_LVALUE            /**/
+#if defined(STDIO_PTR_LVALUE) && defined(STDIO_CNT_LVALUE)
+#define FILE_filbuf(fp)        $stdio_filbuf           /**/
+#endif
 #endif
 
+/* USE_STDIO_BASE:
+ *     This symbol is defined if the _base field (or similar) of the
+ *     stdio FILE structure can be used to access the stdio buffer for
+ *     a file handle.  If this is defined, then the FILE_base(fp) macro
+ *     will also be defined and should be used to access this field.
+ *     Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ *     to determine the number of bytes in the buffer.  USE_STDIO_BASE
+ *     will never be defined unless USE_STDIO_PTR is.
+ */
 /* FILE_base:
  *     This macro is used to access the _base field (or equivalent) of the
  *     FILE structure pointed to by its argument. This macro will always be
@@ -763,6 +771,7 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  *     structure pointed to its argument. This macro will always be defined
  *     if USE_STDIO_BASE is defined.
  */
+#$d_stdiobase USE_STDIO_BASE   /**/
 #ifdef USE_STDIO_BASE
 #define FILE_base(fp)  $stdio_base
 #define FILE_bufsiz(fp)        $stdio_bufsiz
@@ -1151,6 +1160,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #$i_sysparam I_SYS_PARAM               /**/
 
+/* I_SYS_RESOURCE:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/resource.h>.
+ */
+#$i_sysresrc I_SYS_RESOURCE            /**/
+
 /* I_SYS_SELECT:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <sys/select.h> in order to get definition of struct timeval.
@@ -1175,6 +1190,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #$i_sysun I_SYS_UN             /**/
 
+/* I_SYS_WAIT:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/wait.h>.
+ */
+#$i_syswait I_SYS_WAIT /**/
+
 /* I_TERMIO:
  *     This symbol, if defined, indicates that the program should include
  *     <termio.h> rather than <sgtty.h>.  There are also differences in
@@ -1223,12 +1244,29 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #$i_utime I_UTIME              /**/
 
+/* I_STDARG:
+ *     This symbol, if defined, indicates that <stdarg.h> exists and should
+ *     be included.
+ */
+/* I_VARARGS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <varargs.h>.
+ */
+#$i_stdarg I_STDARG            /**/
+#$i_varargs I_VARARGS  /**/
+
 /* I_VFORK:
  *     This symbol, if defined, indicates to the C program that it should
  *     include vfork.h.
  */
 #$i_vfork I_VFORK      /**/
 
+/* INTSIZE:
+ *     This symbol contains the size of an int, so that the C preprocessor
+ *     can make decisions based on it.
+ */
+#define INTSIZE $intsize               /**/
+
 /* Off_t:
  *     This symbol holds the type used to declare offsets in the kernel.
  *     It can be int, long, off_t, etc... It may be necessary to include
@@ -1305,12 +1343,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #define Uid_t $uidtype         /* UID type */
 
-/* VMS:
- *     This symbol, if defined, indicates that the program is running under
- *     VMS.  It is currently only set in conjunction with the EUNICE symbol.
- */
-#$d_eunice VMS         /**/
-
 /* LOC_SED:
  *     This symbol holds the complete pathname to the sed program.
  */
@@ -1323,19 +1355,34 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #define OSNAME "$osname"               /**/
 
+/* ARCHLIB:
+ *     This variable, if defined, holds the name of the directory in
+ *     which the user wants to put architecture-dependent public
+ *     library files for $package.  It is most often a local directory
+ *     such as /usr/local/lib.  Programs using this variable must be
+ *     prepared to deal with filename expansion.  If ARCHLIB is the
+ *     same as PRIVLIB, it is not defined, since presumably the
+ *     program already searches PRIVLIB.
+ */
 /* ARCHLIB_EXP:
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
+#$d_archlib ARCHLIB "$archlib"         /**/
 #$d_archlib ARCHLIB_EXP "$archlibexp"          /**/
 
-/* BIN_SH:
- *     Pathname to /bin/sh equivalent
- */
-#define BIN_SH "$bin_sh"       /**/
 /* BYTEORDER:
- *     This symbol hold the hexadecimal constant defined in byteorder,
+ *     This symbol holds the hexadecimal constant defined in byteorder,
  *     i.e. 0x1234 or 0x4321, etc...
+ *     On NeXT 4 (and greater), you can build "Fat" Multiple Architecture
+ *     Binaries (MAB) on either big endian or little endian machines.
+ *     The endian-ness is available at compile-time.  This only matters
+ *     for perl, where the config.h can be generated and installed on 
+ *     one system, and used by a different architecture to build an
+ *     extension.  Older versions of NeXT that might not have
+ *     defined either *_ENDIAN__ were all on Motorola 680x0 series,
+ *     so the default case (for NeXT) is big endian to catch them. 
+ *     This might matter for NeXT 3.0.
  */
 #ifndef NeXT
 #define BYTEORDER 0x$byteorder /* large digits for MSB */
@@ -1398,12 +1445,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #define Gconvert(x,n,t,b) $d_Gconvert
 
-/* PERLIO_IS_STDIO:
- *     This symbol, if defined, indicates that stdio should
- *     be used in a fully backward compatible manner.
- */
-#$d_perlstdio  PERLIO_IS_STDIO         /**/
-
 /* USE_SFIO:
  *     This symbol, if defined, indicates that sfio should
  *     be used.
@@ -1469,24 +1510,13 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #$i_sysstat    I_SYS_STAT              /**/
 
-#$i_values I_LIMITS            /**/
-
-/* I_STDARG:
- *     This symbol, if defined, indicates that <stdarg.h> exists and should
- *     be included.
- */
-/* I_VARARGS:
+/* I_VALUES:
  *     This symbol, if defined, indicates to the C program that it should
- *     include <varargs.h>.
+ *     include <values.h> to get definition of symbols like MINFLOAT or
+ *     MAXLONG, i.e. machine dependant limitations.  Probably, you
+ *     should use <limits.h> instead, if it is available.
  */
-#$i_stdarg I_STDARG            /**/
-#$i_varargs I_VARARGS  /**/
-
-/* INTSIZE:
- *     This symbol contains the size of an int, so that the C preprocessor
- *     can make decisions based on it.
- */
-#define INTSIZE $intsize               /**/
+#$i_values I_VALUES            /**/
 
 /* Free_t:
  *     This variable contains the return type of free().  It is usually
@@ -1530,19 +1560,42 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
 #define RD_NODATA $rd_nodata
 #$d_eofnblk EOF_NONBLOCK
 
+/* OLDARCHLIB:
+ *     This variable, if defined, holds the name of the directory in
+ *     which the user has perl5.000 or perl5.001 architecture-dependent
+ *     public library files for $package.  For the most part, these
+ *     files will work with 5.002 (and later), but that is not
+ *     guaranteed.
+ */
 /* OLDARCHLIB_EXP:
  *     This symbol contains the ~name expanded version of OLDARCHLIB, to be
  *     used in programs that are not prepared to deal with ~ expansion at 
  *     run-time.
  */
+#$d_oldarchlib OLDARCHLIB "$oldarchlib"                /**/
 #$d_oldarchlib OLDARCHLIB_EXP "$oldarchlibexp"         /**/
 
+/* PRIVLIB:
+ *     This symbol contains the name of the private library for this package.
+ *     The library is private in the sense that it needn't be in anyone's
+ *     execution path, but it should be accessible by the world.  The program
+ *     should be prepared to do ~ expansion.
+ */
 /* PRIVLIB_EXP:
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
+#define PRIVLIB "$privlib"             /**/
 #define PRIVLIB_EXP "$privlibexp"              /**/
 
+/* SH_PATH:
+ *     This symbol contains the full pathname to the shell used on this
+ *     on this system to execute Bourne shell scripts.  Usually, this will be
+ *     /bin/sh, though it's possible that some systems will have /bin/ksh,
+ *     /bin/pdksh, /bin/ash, /bin/bash, or even something such as D:/bin/sh.
+ */
+#define SH_PATH "$sh"  /**/
+
 /* SIG_NAME:
  *     This symbol contains a list of signal names in order of
  *     signal number. This is intended
@@ -1574,16 +1627,36 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
 #define SIG_NAME "`echo $sig_name | sed 's/ /","/g'`",0        /**/
 #define SIG_NUM `echo $sig_num 0 | sed 's/ /,/g'`      /**/
 
+/* SITEARCH:
+ *     This symbol contains the name of the private library for this package.
+ *     The library is private in the sense that it needn't be in anyone's
+ *     execution path, but it should be accessible by the world.  The program
+ *     should be prepared to do ~ expansion.
+ *     The standard distribution will put nothing in this directory.
+ *     Individual sites may place their own extensions and modules in
+ *     this directory.
+ */
 /* SITEARCH_EXP:
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
+#define SITEARCH "$sitearch"           /**/
 #define SITEARCH_EXP "$sitearchexp"            /**/
 
+/* SITELIB:
+ *     This symbol contains the name of the private library for this package.
+ *     The library is private in the sense that it needn't be in anyone's
+ *     execution path, but it should be accessible by the world.  The program
+ *     should be prepared to do ~ expansion.
+ *     The standard distribution will put nothing in this directory.
+ *     Individual sites may place their own extensions and modules in
+ *     this directory.
+ */
 /* SITELIB_EXP:
  *     This symbol contains the ~name expanded version of SITELIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
+#define SITELIB "$sitelib"             /**/
 #define SITELIB_EXP "$sitelibexp"              /**/
 
 /* SSize_t:
@@ -1603,6 +1676,13 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#define!' -e 's!^#un-def!#undef!'
  */
 #define STARTPERL "$startperl"         /**/
 
+/* USE_PERLIO:
+ *     This symbol, if defined, indicates that the PerlIO abstraction should
+ *     be used throughout.  If not defined, stdio should be
+ *     used in a fully backward compatible manner.
+ */
+#$useperlio    USE_PERLIO              /**/
+
 /* VOIDFLAGS:
  *     This symbol indicates how much support of the void type is given by this
  *     compiler.  What various bits mean: