This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
mk_PL_charclass.pl: Correct comment
[perl5.git] / config_h.SH
old mode 100644 (file)
new mode 100755 (executable)
index 7ee3c4f..0e4c3a7
@@ -140,26 +140,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_dlerror HAS_DLERROR        /**/
 
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *     This symbol, if defined, indicates that the bug that prevents
- *     setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
-#$d_dosuid DOSUID              /**/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
@@ -914,6 +894,28 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_vfork I_VFORK      /**/
 
+/* CAN_VAPROTO:
+ *     This variable is defined on systems supporting prototype declaration
+ *     of functions with a variable number of arguments.
+ */
+/* _V:
+ *     This macro is used to declare function parameters in prototypes for
+ *     functions with a variable number of parameters. Use double parentheses.
+ *     For example:
+ *
+ *             int printf _V((char *fmt, ...));
+ *
+ *     Remember to use the plain simple _() macro when declaring a function
+ *     with no variable number of arguments, since it might be possible to
+ *     have a non-effect _V() macro and still get prototypes via _().
+ */
+#$vaproto CAN_VAPROTO  /**/
+#ifdef CAN_VAPROTO
+#define        _V(args) args
+#else
+#define        _V(args) ()
+#endif
+
 /* INTSIZE:
  *     This symbol contains the value of sizeof(int) so that the C
  *     preprocessor can make decisions based on it.
@@ -1106,9 +1108,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 /* HASATTRIBUTE_UNUSED:
  *     Can we handle GCC attribute for unused variables and arguments
  */
+/* HASATTRIBUTE_DEPRECATED:
+ *     Can we handle GCC attribute for marking deprecated APIs
+ */
 /* HASATTRIBUTE_WARN_UNUSED_RESULT:
  *     Can we handle GCC attribute for warning on unused results
  */
+#$d_attribute_deprecated HASATTRIBUTE_DEPRECATED       /**/
 #$d_attribute_format HASATTRIBUTE_FORMAT       /**/
 #$d_printf_format_null PRINTF_FORMAT_NULL_OK   /**/
 #$d_attribute_noreturn HASATTRIBUTE_NORETURN   /**/
@@ -1179,6 +1185,26 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_ctime_r HAS_CTIME_R           /**/
 #define CTIME_R_PROTO $ctime_r_proto      /**/
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *     This symbol, if defined, indicates that the bug that prevents
+ *     setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
+#$d_dosuid DOSUID              /**/
+
 /* HAS_DRAND48_R:
  *     This symbol, if defined, indicates that the drand48_r routine
  *     is available to drand48 re-entrantly.
@@ -2420,9 +2446,30 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     be included.  This is the location of the ndbm.h compatibility file
  *     in Debian 4.0.
  */
+/* NDBM_H_USES_PROTOTYPES:
+ *     This symbol, if defined, indicates that <ndbm.h> uses real ANSI C
+ *     prototypes instead of K&R style function declarations without any
+ *     parameter information. While ANSI C prototypes are supported in C++,
+ *     K&R style function declarations will yield errors.
+ */
+/* GDBMNDBM_H_USES_PROTOTYPES:
+ *     This symbol, if defined, indicates that <gdbm/ndbm.h> uses real ANSI C
+ *     prototypes instead of K&R style function declarations without any
+ *     parameter information. While ANSI C prototypes are supported in C++,
+ *     K&R style function declarations will yield errors.
+ */
+/* GDBM_NDBM_H_USES_PROTOTYPES:
+ *     This symbol, if defined, indicates that <gdbm-ndbm.h> uses real ANSI C
+ *     prototypes instead of K&R style function declarations without any
+ *     parameter information. While ANSI C prototypes are supported in C++,
+ *     K&R style function declarations will yield errors.
+ */
 #$i_ndbm I_NDBM        /**/
 #$i_gdbmndbm I_GDBMNDBM        /**/
 #$i_gdbm_ndbm I_GDBM_NDBM      /**/
+#$d_ndbm_h_uses_prototypes NDBM_H_USES_PROTOTYPES      /**/
+#$d_gdbmndbm_h_uses_prototypes GDBMNDBM_H_USES_PROTOTYPES      /**/
+#$d_gdbm_ndbm_h_uses_prototypes GDBM_NDBM_H_USES_PROTOTYPES    /**/
 
 /* I_NETDB:
  *     This symbol, if defined, indicates that <netdb.h> exists and
@@ -2762,6 +2809,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #define Sock_size_t            $socksizetype /**/
 
+/* STDCHAR:
+ *     This symbol is defined to be the type of char used in stdio.h.
+ *     It has the values "unsigned char" or "char".
+ */
+#define STDCHAR $stdchar       /**/
+
 /* Uid_t_f:
  *     This symbol defines the format string used for printing a Uid_t.
  */
@@ -2932,6 +2985,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define BYTEORDER 0x$byteorder /* large digits for MSB */
 #endif /* NeXT */
 
+/* CHARBITS:
+ *     This symbol contains the size of a char, so that the C preprocessor
+ *     can make decisions based on it.
+ */
+#define CHARBITS $charbits             /**/
+
 /* CASTI32:
  *     This symbol is defined if the C compiler can cast negative
  *     or large floating point numbers to 32-bit ints.
@@ -3078,6 +3137,27 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define Siglongjmp(buf,retval) longjmp((buf),(retval))
 #endif
 
+/* HAS_STATIC_INLINE:
+ *     This symbol, if defined, indicates that the C compiler supports
+ *     C99-style static inline.  That is, the function can't be called
+ *     from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *     This symbol gives the best-guess incantation to use for static
+ *     inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *     give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *     this will give a plain 'static'.  It will always be defined
+ *     to something that gives static linkage.
+ *     Possibilities include
+ *             static inline       (c99)
+ *             static __inline__   (gcc -ansi)
+ *             static __inline     (MSVC)
+ *             static _inline      (older MSVC)
+ *             static              (c89 compilers)
+ */
+#$d_static_inline HAS_STATIC_INLINE                            /**/
+#define PERL_STATIC_INLINE $perl_static_inline /**/
+
 /* USE_STDIO_PTR:
  *     This symbol is defined if the _ptr and _cnt fields (or similar)
  *     of the stdio FILE structure can be used to access the stdio buffer
@@ -3270,11 +3350,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$ebcdic       EBCDIC          /**/
 
-/* STDCHAR:
- *     This symbol is defined to be the type of char used in stdio.h.
- *     It has the values "unsigned char" or "char".
+/* PERL_USE_DEVEL:
+ *     This symbol, if defined, indicates that Perl was configured with
+ *     -Dusedevel, to enable development features.  This should not be
+ *     done for production builds.
  */
-#define STDCHAR $stdchar       /**/
+#$usedevel     PERL_USE_DEVEL          /**/
 
 /* HAS_ATOLF:
  *     This symbol, if defined, indicates that the atolf routine is
@@ -3542,6 +3623,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_futimes HAS_FUTIMES                /**/
 
+/* HAS_GETADDRINFO:
+ *     This symbol, if defined, indicates that the getaddrinfo() function
+ *     is available for use.
+ */
+#$d_getaddrinfo HAS_GETADDRINFO                /**/
+
 /* HAS_GETCWD:
  *     This symbol, if defined, indicates that the getcwd routine is
  *     available to get the current working directory.
@@ -3578,6 +3665,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_getmntent HAS_GETMNTENT            /**/
 
+/* HAS_GETNAMEINFO:
+ *     This symbol, if defined, indicates that the getnameinfo() function
+ *     is available for use.
+ */
+#$d_getnameinfo HAS_GETNAMEINFO                /**/
+
 /* HAS_GETPRPWNAM:
  *     This symbol, if defined, indicates that the getprpwnam system call is
  *     available to retrieve protected (shadow) password entries by name.
@@ -3602,6 +3695,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_ilogbl HAS_ILOGBL          /**/
 
+/* HAS_INETNTOP:
+ *     This symbol, if defined, indicates that the inet_ntop() function
+ *     is available to parse IPv4 and IPv6 strings.
+ */
+#$d_inetntop HAS_INETNTOP              /**/
+
+/* HAS_INETPTON:
+ *     This symbol, if defined, indicates that the inet_pton() function
+ *     is available to parse IPv4 and IPv6 strings.
+ */
+#$d_inetpton HAS_INETPTON              /**/
+
 /* HAS_INT64_T:
  *     This symbol will defined if the C compiler supports int64_t.
  *     Usually the <inttypes.h> needs to be included, but sometimes
@@ -3723,6 +3828,17 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_off64_t    HAS_OFF64_T             /**/
 
+/* HAS_PRCTL:
+ *     This symbol, if defined, indicates that the prctl routine is
+ *     available to set process title.
+ */
+/* HAS_PRCTL_SET_NAME:
+ *     This symbol, if defined, indicates that the prctl routine is
+ *     available to set process title and supports PR_SET_NAME.
+ */
+#$d_prctl HAS_PRCTL            /**/
+#$d_prctl_set_name HAS_PRCTL_SET_NAME          /**/
+
 /* HAS_PROCSELFEXE:
  *     This symbol is defined if PROCSELFEXE_PATH is a symlink
  *     to the absolute pathname of the executing program.
@@ -3970,6 +4086,37 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_telldirproto       HAS_TELLDIR_PROTO       /**/
 
+/* HAS_CTIME64:
+ *     This symbol, if defined, indicates that the ctime64 () routine is
+ *     available to do the 64bit variant of ctime ()
+ */
+/* HAS_LOCALTIME64:
+ *     This symbol, if defined, indicates that the localtime64 () routine is
+ *     available to do the 64bit variant of localtime ()
+ */
+/* HAS_GMTIME64:
+ *     This symbol, if defined, indicates that the gmtime64 () routine is
+ *     available to do the 64bit variant of gmtime ()
+ */
+/* HAS_MKTIME64:
+ *     This symbol, if defined, indicates that the mktime64 () routine is
+ *     available to do the 64bit variant of mktime ()
+ */
+/* HAS_DIFFTIME64:
+ *     This symbol, if defined, indicates that the difftime64 () routine is
+ *     available to do the 64bit variant of difftime ()
+ */
+/* HAS_ASCTIME64:
+ *     This symbol, if defined, indicates that the asctime64 () routine is
+ *     available to do the 64bit variant of asctime ()
+ */
+#$d_ctime64    HAS_CTIME64             /**/
+#$d_localtime64        HAS_LOCALTIME64         /**/
+#$d_gmtime64   HAS_GMTIME64            /**/
+#$d_mktime64   HAS_MKTIME64            /**/
+#$d_difftime64 HAS_DIFFTIME64          /**/
+#$d_asctime64  HAS_ASCTIME64           /**/
+
 /* HAS_TIMEGM:
  *     This symbol, if defined, indicates that the timegm routine is
  *     available to do the opposite of gmtime ()
@@ -4460,8 +4607,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol contains the minimum value for the time_t offset that
  *     the system function gmtime () accepts, and defaults to 0
  */
-#define GMTIME_MAX     $sGMTIME_max    /**/
-#define GMTIME_MIN     $sGMTIME_min    /**/
+/* LOCALTIME_MAX:
+ *     This symbol contains the maximum value for the time_t offset that
+ *     the system function localtime () accepts, and defaults to 0
+ */
+/* LOCALTIME_MIN:
+ *     This symbol contains the minimum value for the time_t offset that
+ *     the system function localtime () accepts, and defaults to 0
+ */
+#define GMTIME_MAX             $sGMTIME_max    /**/
+#define GMTIME_MIN             $sGMTIME_min    /**/
+#define LOCALTIME_MAX  $sLOCALTIME_max /**/
+#define LOCALTIME_MIN  $sLOCALTIME_min /**/
 
 /* USE_64_BIT_INT:
  *     This symbol, if defined, indicates that 64-bit integers should