This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Stop 'sub a { // }; %::=()' panicing because the backreference array
[perl5.git] / config_h.SH
index a80675b..2588ec9 100644 (file)
@@ -56,15 +56,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_alarm HAS_ALARM            /**/
 
-/* HASATTRIBUTE:
- *     This symbol indicates the C compiler can check for function attributes,
- *     such as printf formats. This is normally only supported by GNU cc.
- */
-#$d_attribut HASATTRIBUTE      /**/
-#ifndef HASATTRIBUTE
-#define __attribute__(_arg_)
-#endif
-
 /* HAS_BCMP:
  *     This symbol is defined if the bcmp() routine is available to
  *     compare blocks of memory.
@@ -902,47 +893,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_vfork I_VFORK      /**/
 
-/* INTSIZE:
- *     This symbol contains the value of sizeof(int) so that the C
- *     preprocessor can make decisions based on it.
- */
-/* LONGSIZE:
- *     This symbol contains the value of sizeof(long) so that the C
- *     preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- *     This symbol contains the value of sizeof(short) so that the C
- *     preprocessor can make decisions based on it.
- */
-#define INTSIZE $intsize               /**/
-#define LONGSIZE $longsize             /**/
-#define SHORTSIZE $shortsize           /**/
-
-/* MULTIARCH:
- *     This symbol, if defined, signifies that the build
- *     process will produce some binary files that are going to be
- *     used in a cross-platform environment.  This is the case for
- *     example with the NeXT "fat" binaries that contain executables
- *     for several CPUs.
- */
-#$multiarch MULTIARCH          /**/
-
-/* HAS_QUAD:
- *     This symbol, if defined, tells that there's a 64-bit integer type,
- *     Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
- *     of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
- */
-#$d_quad HAS_QUAD      /**/
-#ifdef HAS_QUAD
-#   define Quad_t $quadtype    /**/
-#   define Uquad_t $uquadtype  /**/
-#   define QUADKIND $quadkind  /**/
-#   define QUAD_IS_INT 1
-#   define QUAD_IS_LONG        2
-#   define QUAD_IS_LONG_LONG   3
-#   define QUAD_IS_INT64_T     4
-#endif
-
 /* HAS_ACCESSX:
  *     This symbol, if defined, indicates that the accessx routine is
  *     available to do extended access checks.
@@ -980,6 +930,27 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define OSNAME "$osname"               /**/
 #define OSVERS "$osvers"               /**/
 
+/* USE_CROSS_COMPILE:
+ *     This symbol, if defined, indicates that Perl is being cross-compiled.
+ */
+/* PERL_TARGETARCH:
+ *     This symbol, if defined, indicates the target architecture
+ *     Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+#$usecrosscompile      USE_CROSS_COMPILE       /**/
+#define        PERL_TARGETARCH "$targetarch"   /**/
+#endif
+
+/* MULTIARCH:
+ *     This symbol, if defined, signifies that the build
+ *     process will produce some binary files that are going to be
+ *     used in a cross-platform environment.  This is the case for
+ *     example with the NeXT "fat" binaries that contain executables
+ *     for several CPUs.
+ */
+#$multiarch MULTIARCH          /**/
+
 /* MEM_ALIGNBYTES:
  *     This symbol contains the number of bytes required to align a
  *     double, or a long double when applicable. Usual values are 2,
@@ -1038,6 +1009,22 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define BIN "$bin"     /**/
 #define BIN_EXP "$binexp"      /**/
 
+/* INTSIZE:
+ *     This symbol contains the value of sizeof(int) so that the C
+ *     preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *     This symbol contains the value of sizeof(long) so that the C
+ *     preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *     This symbol contains the value of sizeof(short) so that the C
+ *     preprocessor can make decisions based on it.
+ */
+#define INTSIZE $intsize               /**/
+#define LONGSIZE $longsize             /**/
+#define SHORTSIZE $shortsize           /**/
+
 /* BYTEORDER:
  *     This symbol holds the hexadecimal constant defined in byteorder,
  *     in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
@@ -1082,7 +1069,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #endif /* NeXT */
 
 /* CAT2:
- *     This macro catenates 2 tokens together.
+ *     This macro concatenates 2 tokens together.
  */
 /* STRINGIFY:
  *     This macro surrounds its token with double quotes.
@@ -1102,7 +1089,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define STRINGIFY(a)   PeRl_StGiFy(a)
 #endif
 #if $cpp_stuff != 1 && $cpp_stuff != 42
-#   include "Bletch: How does this C preprocessor catenate tokens?"
+#   include "Bletch: How does this C preprocessor concatenate tokens?"
 #endif
 
 /* CPPSTDIN:
@@ -1471,6 +1458,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_ftello HAS_FTELLO          /**/
 
+/* HAS_FUTIMES:
+ *     This symbol, if defined, indicates that the futimes routine is
+ *     available to change file descriptor time stamps with struct timevals.
+ */
+#$d_futimes HAS_FUTIMES                /**/
+
 /* Gconvert:
  *     This preprocessor macro is defined to convert a floating point
  *     number to a string without a trailing decimal point.  This
@@ -1961,6 +1954,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_madvise HAS_MADVISE                /**/
 
+/* HAS_MALLOC_SIZE:
+ *     This symbol, if defined, indicates that the malloc_size
+ *     routine is available for use.
+ */
+#$d_malloc_size HAS_MALLOC_SIZE                /**/
+
+/* HAS_MALLOC_GOOD_SIZE:
+ *     This symbol, if defined, indicates that the malloc_good_size
+ *     routine is available for use.
+ */
+#$d_malloc_good_size HAS_MALLOC_GOOD_SIZE      /**/
+
 /* HAS_MEMCHR:
  *     This symbol, if defined, indicates that the memchr routine is available
  *     to locate characters within a C string.
@@ -2038,12 +2043,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_msghdr_s HAS_STRUCT_MSGHDR /**/
 
-/* HAS_NANOSLEEP:
- *     This symbol, if defined, indicates that the nanosleep
- *     system call is available to sleep with 1E-9 sec accuracy.
- */
-#$d_nanosleep HAS_NANOSLEEP            /**/
-
 /* HAS_OFF64_T:
  *     This symbol will be defined if the C compiler supports off64_t.
  */
@@ -2316,6 +2315,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define Siglongjmp(buf,retval) longjmp((buf),(retval))
 #endif
 
+/* USE_SITECUSTOMIZE:
+ *     This symbol, if defined, indicates that sitecustomize should
+ *     be used.
+ */
+#$usesitecustomize     USE_SITECUSTOMIZE               /**/
+
 /* HAS_SOCKET:
  *     This symbol, if defined, indicates that the BSD socket interface is
  *     supported.
@@ -2644,6 +2649,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_unordered HAS_UNORDERED            /**/
 
+/* HAS_UNSETENV:
+ *     This symbol, if defined, indicates that the unsetenv () routine is
+ *     available for use.
+ */
+#$d_unsetenv HAS_UNSETENV              /**/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
@@ -2994,10 +3005,15 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol, if defined, indicates to the C program that
  *     the struct tm has a tm_zone field.
  */
+/* HAS_TM_TM_GMTOFF:
+ *     This symbol, if defined, indicates to the C program that
+ *     the struct tm has a tm_gmtoff field.
+ */
 #$i_time I_TIME                /**/
 #$i_systime I_SYS_TIME         /**/
 #$i_systimek I_SYS_TIME_KERNEL         /**/
 #$d_tm_tm_zone HAS_TM_TM_ZONE          /**/
+#$d_tm_tm_gmtoff HAS_TM_TM_GMTOFF              /**/
 
 /* I_USTAT:
  *     This symbol, if defined, indicates that <ustat.h> exists and
@@ -3066,6 +3082,11 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define Malloc_t $malloctype                   /**/
 #define Free_t $freetype                       /**/
 
+/* PERL_MALLOC_WRAP:
+ *     This symbol, if defined, indicates that we'd like malloc wrap checks.
+ */
+#$usemallocwrap PERL_MALLOC_WRAP               /**/
+
 /* MYMALLOC:
  *     This symbol, if defined, indicates that we're using our own malloc.
  */
@@ -3148,6 +3169,22 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_perl_otherlibdirs PERL_OTHERLIBDIRS "$otherlibdirs"                /**/
 
+/* HAS_QUAD:
+ *     This symbol, if defined, tells that there's a 64-bit integer type,
+ *     Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
+ *     of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
+ */
+#$d_quad HAS_QUAD      /**/
+#ifdef HAS_QUAD
+#   define Quad_t $quadtype    /**/
+#   define Uquad_t $uquadtype  /**/
+#   define QUADKIND $quadkind  /**/
+#   define QUAD_IS_INT 1
+#   define QUAD_IS_LONG        2
+#   define QUAD_IS_LONG_LONG   3
+#   define QUAD_IS_INT64_T     4
+#endif
+
 /* IVTYPE:
  *     This symbol defines the C type used for Perl's IV.
  */
@@ -3222,6 +3259,10 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_ZERO_IS_ALLBITS_ZERO:
+ *     This symbol, if defined, indicates that a variable of type NVTYPE
+ *     stores 0.0 in memory as all bits zero.
+ */
 #define        IVTYPE          $ivtype         /**/
 #define        UVTYPE          $uvtype         /**/
 #define        I8TYPE          $i8type         /**/
@@ -3250,6 +3291,20 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define        NVSIZE          $nvsize         /**/
 #$d_nv_preserves_uv    NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    $nv_preserves_uv_bits
+#$d_nv_zero_is_allbits_zero    NV_ZERO_IS_ALLBITS_ZERO
+#if UVSIZE == 8
+#   ifdef BYTEORDER
+#       if BYTEORDER == 0x1234
+#           undef BYTEORDER
+#           define BYTEORDER 0x12345678
+#       else
+#           if BYTEORDER == 0x4321
+#               undef BYTEORDER
+#               define BYTEORDER 0x87654321
+#           endif
+#       endif
+#   endif
+#endif
 
 /* IVdf:
  *     This symbol defines the format string used for printing a Perl IV
@@ -3374,7 +3429,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     etc., where nn is the actual signal number (e.g. NUM37).
  *     The signal number for sig_name[i] is stored in sig_num[i].
  *     The last element is 0 to terminate the list with a NULL.  This
- *     corresponds to the 0 at the end of the sig_num list.
+ *     corresponds to the 0 at the end of the sig_name_init list.
+ *     Note that this variable is initialized from the sig_name_init,
+ *     not from sig_name (which is unused).
  */
 /* SIG_NUM:
  *     This symbol contains a list of signal numbers, in the same order as the
@@ -3388,11 +3445,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     The signal number corresponding to sig_name[i] is sig_number[i].
  *     if (i < NSIG) then sig_number[i] == i.  
  *     The last element is 0, corresponding to the 0 at the end of
- *     the sig_name list.
+ *     the sig_name_init list.
+ *     Note that this variable is initialized from the sig_num_init,
+ *     not from sig_num (which is unused).
  */
 /* SIG_SIZE:
- *     This variable contains the number of elements of the sig_name
- *     and sig_num arrays, excluding the final NULL entry.
+ *     This variable contains the number of elements of the SIG_NAME
+ *     and SIG_NUM arrays, excluding the final NULL entry.
  */
 #define SIG_NAME $sig_name_init                /**/
 #define SIG_NUM  $sig_num_init         /**/
@@ -3671,40 +3730,34 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define M_VOID                 /* Xenix strikes again */
 #endif
 
-/* PERL_XS_APIVERSION:
- *     This variable contains the version of the oldest perl binary
- *     compatible with the present perl.  perl.c:incpush() and
- *     lib/lib.pm will automatically search in $sitearch for older
- *     directories across major versions back to xs_apiversion.
- *     This is only useful if you have a perl library directory tree
- *     structured like the default one.
- *     See INSTALL for how this works.
- *     The versioned site_perl directory was introduced in 5.005,
- *     so that is the lowest possible value.
- *     Since this can depend on compile time options
- *     it is set by Configure.  Other non-default sources
- *     of potential incompatibility, such as multiplicity, threads,
- *     debugging, 64bits, sfio, etc., are not checked for currently,
- *     though in principle we could go snooping around in old
- *     Config.pm files.
- */
-/* PERL_PM_APIVERSION:
- *     This variable contains the version of the oldest perl
- *     compatible with the present perl.  (That is, pure perl modules
- *     written for pm_apiversion will still work for the current
- *     version).  perl.c:incpush() and lib/lib.pm will automatically
- *     search in $sitelib for older directories across major versions
- *     back to pm_apiversion.  This is only useful if you have a perl
- *     library directory tree structured like the default one.  The
- *     versioned site_perl library was introduced in 5.005, so that's
- *     the default setting for this variable.  It's hard to imagine
- *     it changing before Perl6.  It is included here for symmetry
- *     with xs_apiveprsion -- the searching algorithms will
- *     (presumably) be similar.
- *     See the INSTALL file for how this works.
- */
-#define PERL_XS_APIVERSION "$xs_apiversion"
-#define PERL_PM_APIVERSION "$pm_apiversion"
+/* HASATTRIBUTE_FORMAT:
+ *     Can we handle GCC attribute for checking printf-style formats
+ */
+/* HASATTRIBUTE_MALLOC:
+ *     Can we handle GCC attribute for malloc-style functions.
+ */
+/* HASATTRIBUTE_NONNULL:
+ *     Can we handle GCC attribute for nonnull function parms.
+ */
+/* HASATTRIBUTE_NORETURN:
+ *     Can we handle GCC attribute for functions that do not return
+ */
+/* HASATTRIBUTE_PURE:
+ *     Can we handle GCC attribute for pure functions
+ */
+/* HASATTRIBUTE_UNUSED:
+ *     Can we handle GCC attribute for unused variables and arguments
+ */
+/* HASATTRIBUTE_WARN_UNUSED_RESULT:
+ *     Can we handle GCC attribute for warning on unused results
+ */
+#$d_attribute_format HASATTRIBUTE_FORMAT       /**/
+#$d_attribute_noreturn HASATTRIBUTE_NORETURN   /**/
+#$d_attribute_malloc HASATTRIBUTE_MALLOC       /**/
+#$d_attribute_nonnull HASATTRIBUTE_NONNULL     /**/
+#$d_attribute_pure HASATTRIBUTE_PURE   /**/
+#$d_attribute_unused HASATTRIBUTE_UNUSED       /**/
+#$d_attribute_warn_unused_result HASATTRIBUTE_WARN_UNUSED_RESULT       /**/
 
 /* HAS_CRYPT:
  *     This symbol, if defined, indicates that the crypt routine is available
@@ -3790,17 +3843,23 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #define SH_PATH "$sh"  /**/
 
-/* USE_CROSS_COMPILE:
- *     This symbol, if defined, indicates that Perl is being cross-compiled.
+/* HAS_AINTL:
+ *     This symbol, if defined, indicates that the aintl routine is
+ *     available.  If copysignl is also present we can emulate modfl.
  */
-/* PERL_TARGETARCH:
- *     This symbol, if defined, indicates the target architecture
- *     Perl has been cross-compiled to.  Undefined if not a cross-compile.
+#$d_aintl HAS_AINTL            /**/
+
+/* HAS_CLEARENV:
+ *     This symbol, if defined, indicates that the clearenv () routine is
+ *     available for use.
  */
-#ifndef USE_CROSS_COMPILE
-#$usecrosscompile      USE_CROSS_COMPILE       /**/
-#define        PERL_TARGETARCH "$targetarch"   /**/
-#endif
+#$d_clearenv HAS_CLEARENV              /**/
+
+/* HAS_COPYSIGNL:
+ *     This symbol, if defined, indicates that the copysignl routine is
+ *     available.  If aintl is also present we can emulate modfl.
+ */
+#$d_copysignl HAS_COPYSIGNL            /**/
 
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
@@ -3816,6 +3875,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_dirfd HAS_DIRFD            /**/
 
+/* HAS_FAST_STDIO:
+ *     This symbol, if defined, indicates that the "fast stdio"
+ *     is available to manipulate the stdio buffers directly.
+ */
+#$d_faststdio HAS_FAST_STDIO           /**/
+
 /* HAS_FLOCK_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the flock() function.  Otherwise, it is up
@@ -3842,6 +3907,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_fpclassl HAS_FPCLASSL              /**/
 
+/* HAS_ILOGBL:
+ *     This symbol, if defined, indicates that the ilogbl routine is
+ *     available.  If scalbnl is also present we can emulate frexpl.
+ */
+#$d_ilogbl HAS_ILOGBL          /**/
+
+/* LIBM_LIB_VERSION:
+ *     This symbol, if defined, indicates that libm exports _LIB_VERSION
+ *     and that math.h defines the enum to manipulate it.
+ */
+#$d_libm_lib_version LIBM_LIB_VERSION          /**/
+
 /* HAS_NL_LANGINFO:
  *     This symbol, if defined, indicates that the nl_langinfo routine is
  *     available to return local data.  You will also need <langinfo.h>
@@ -3863,6 +3940,19 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define PROCSELFEXE_PATH       $procselfexe    /**/
 #endif
 
+/* HAS_PTHREAD_ATTR_SETSCOPE:
+ *     This symbol, if defined, indicates that the pthread_attr_setscope
+ *     system call is available to set the contention scope attribute of
+ *     a thread attribute object.
+ */
+#$d_pthread_attr_setscope HAS_PTHREAD_ATTR_SETSCOPE            /**/
+
+/* HAS_SCALBNL:
+ *     This symbol, if defined, indicates that the scalbnl routine is
+ *     available.  If ilogbl is also present we can emulate frexpl.
+ */
+#$d_scalbnl HAS_SCALBNL                /**/
+
 /* HAS_SIGPROCMASK:
  *     This symbol, if defined, indicates that the sigprocmask
  *     system call is available to examine or change the signal mask
@@ -3884,6 +3974,14 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_sockatmarkproto    HAS_SOCKATMARK_PROTO    /**/
 
+/* SPRINTF_RETURNS_STRLEN:
+ *     This variable defines whether sprintf returns the length of the string
+ *     (as per the ANSI spec). Some C libraries retain compatibility with
+ *     pre-ANSI C and return a pointer to the passed in buffer; for these
+ *     this variable will be undef.
+ */
+#$d_sprintf_returns_strlen SPRINTF_RETURNS_STRLEN      /**/
+
 /* HAS_SETRESGID_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the setresgid() function.  Otherwise, it is up
@@ -3906,6 +4004,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_strftime HAS_STRFTIME              /**/
 
+/* HAS_STRLCAT:
+ *     This symbol, if defined, indicates that the strlcat () routine is
+ *     available to do string concatenation.
+ */
+#$d_strlcat HAS_STRLCAT                /**/
+
+/* HAS_STRLCPY:
+ *     This symbol, if defined, indicates that the strlcpy () routine is
+ *     available to do string copying.
+ */
+#$d_strlcpy HAS_STRLCPY                /**/
+
 /* HAS_SYSCALL_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the syscall() function.  Otherwise, it is up
@@ -3949,6 +4059,21 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_langinfo   I_LANGINFO              /**/
 
+/* USE_FAST_STDIO:
+ *     This symbol, if defined, indicates that Perl should
+ *     be built to use 'fast stdio'.
+ *     Defaults to define in Perls 5.8 and earlier, to undef later.
+ */
+#ifndef USE_FAST_STDIO
+#$usefaststdio USE_FAST_STDIO          /**/
+#endif
+
+/* PERL_RELOCATABLE_INC:
+ *     This symbol, if defined, indicates that we'd like to relocate entries
+ *     in @INC at run time based on the location of the perl binary.
+ */
+#define PERL_RELOCATABLE_INC "$userelocatableinc"              /**/
+
 /* HAS_CTERMID_R:
  *     This symbol, if defined, indicates that the ctermid_r routine
  *     is available to ctermid re-entrantly.
@@ -4172,7 +4297,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 
 /* HAS_PTHREAD_ATFORK:
  *     This symbol, if defined, indicates that the pthread_atfork routine
- *     is available setup fork handlers.
+ *     is available to setup fork handlers.
  */
 #$d_pthread_atfork HAS_PTHREAD_ATFORK          /**/