This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
numeric.c: Remove unnecessary test
[perl5.git] / config_h.SH
index 43743b6..5b38733 100755 (executable)
@@ -1,3 +1,5 @@
+#!/bin/sh
+#
 # THIS IS A GENERATED FILE
 # DO NOT HAND-EDIT
 #
@@ -279,13 +281,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 
 /* HAS_MBSTOWCS:
  *     This symbol, if defined, indicates that the mbstowcs routine is
- *     available to covert a multibyte string into a wide character string.
+ *     available to convert a multibyte string into a wide character string.
  */
 #$d_mbstowcs   HAS_MBSTOWCS            /**/
 
 /* HAS_MBTOWC:
  *     This symbol, if defined, indicates that the mbtowc routine is available
- *     to covert a multibyte to a wide character.
+ *     to convert a multibyte to a wide character.
  */
 #$d_mbtowc HAS_MBTOWC          /**/
 
@@ -647,7 +649,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 
 /* HAS_WCTOMB:
  *     This symbol, if defined, indicates that the wctomb routine is available
- *     to covert a wide character to a multibyte.
+ *     to convert a wide character to a multibyte.
  */
 #$d_wctomb HAS_WCTOMB          /**/
 
@@ -736,12 +738,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_niin I_NETINET_IN  /**/
 
-/* I_SFIO:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sfio.h>.
- */
-#$i_sfio       I_SFIO          /**/
-
 /* I_STDDEF:
  *     This symbol, if defined, indicates that <stddef.h> exists and should
  *     be included.
@@ -844,26 +840,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$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
- *     the ioctl() calls that depend on the value of this symbol.
- */
-/* I_TERMIOS:
- *     This symbol, if defined, indicates that the program should include
- *     the POSIX termios.h rather than sgtty.h or termio.h.
- *     There are also differences in the ioctl() calls that depend on the
- *     value of this symbol.
- */
-/* I_SGTTY:
- *     This symbol, if defined, indicates that the program should include
- *     <sgtty.h> rather than <termio.h>.  There are also differences in
- *     the ioctl() calls that depend on the value of this symbol.
- */
-#$i_termio I_TERMIO            /**/
-#$i_termios I_TERMIOS          /**/
-#$i_sgtty I_SGTTY              /**/
-
 /* I_UNISTD:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <unistd.h>.
@@ -925,18 +901,6 @@ 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
@@ -949,13 +913,10 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 /* MEM_ALIGNBYTES:
  *     This symbol contains the number of bytes required to align a
  *     double, or a long double when applicable. Usual values are 2,
- *     4 and 8. The default is eight, for safety.
+ *     4 and 8. The default is eight, for safety.  For cross-compiling
+ *     or multiarch support, Configure will set a minimum of 8.
  */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
-#else
 #define MEM_ALIGNBYTES $alignbytes
-#endif
 
 /* ARCHLIB:
  *     This variable, if defined, holds the name of the directory in
@@ -1017,7 +978,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol holds the hexadecimal constant defined in byteorder,
  *     in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
  *     If the compiler supports cross-compiling or multiple-architecture
- *     binaries (eg. on NeXT systems), use compiler-defined macros to
+ *     binaries (e.g. on NeXT systems), use compiler-defined macros to
  *     determine the byte order.
  *     On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
  *     Binaries (MAB) on either big endian or little endian machines.
@@ -1029,7 +990,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     so the default case (for NeXT) is big endian to catch them.
  *     This might matter for NeXT 3.0.
  */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#if defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
@@ -2384,10 +2345,30 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     structure has a member called sa_len, indicating the length of
  *     the structure.
  */
+/* HAS_SOCKADDR_IN6:
+ *     This symbol, if defined, indicates the availability of
+ *     struct sockaddr_in6;
+ */
 /* HAS_SIN6_SCOPE_ID:
  *     This symbol, if defined, indicates that the struct sockaddr_in6
  *     structure has a member called sin6_scope_id.
  */
+/* HAS_IP_MREQ:
+ *     This symbol, if defined, indicates the availability of
+ *     struct ip_mreq;
+ */
+/* HAS_IP_MREQ_SOURCE:
+ *     This symbol, if defined, indicates the availability of
+ *     struct ip_mreq_source;
+ */
+/* HAS_IPV6_MREQ:
+ *     This symbol, if defined, indicates the availability of
+ *     struct ipv6_mreq;
+ */
+/* HAS_IPV6_MREQ_SOURCE:
+ *     This symbol, if defined, indicates the availability of
+ *     struct ipv6_mreq_source;
+ */
 #$d_socket     HAS_SOCKET              /**/
 #$d_sockpair   HAS_SOCKETPAIR  /**/
 #$d_sockaddr_sa_len    HAS_SOCKADDR_SA_LEN     /**/
@@ -2397,7 +2378,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_msg_peek   HAS_MSG_PEEK    /**/
 #$d_msg_proxy  HAS_MSG_PROXY   /**/
 #$d_scm_rights HAS_SCM_RIGHTS  /**/
+#$d_sockaddr_in6       HAS_SOCKADDR_IN6        /**/
 #$d_sin6_scope_id      HAS_SIN6_SCOPE_ID       /**/
+#$d_ip_mreq    HAS_IP_MREQ     /**/
+#$d_ip_mreq_source     HAS_IP_MREQ_SOURCE      /**/
+#$d_ipv6_mreq  HAS_IPV6_MREQ   /**/
+#$d_ipv6_mreq_source   HAS_IPV6_MREQ_SOURCE    /**/
 
 /* HAS_SRAND48_R:
  *     This symbol, if defined, indicates that the srand48_r routine
@@ -2684,7 +2670,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define DOUBLESIZE $doublesize         /**/
 
 /* EBCDIC:
- *     This symbol, if defined, indicates that this system uses
+ *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
  */
 #$ebcdic       EBCDIC          /**/
@@ -2702,7 +2688,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define        Gid_t_f         $gidformat              /**/
 
 /* Gid_t_sign:
- *     This symbol holds the signedess of a Gid_t.
+ *     This symbol holds the signedness of a Gid_t.
  *     1 for unsigned, -1 for signed.
  */
 #define Gid_t_sign     $gidsign                /* GID sign */
@@ -3136,7 +3122,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     /bin/pdksh, /bin/ash, /bin/bash, or even something such as
  *     D:/bin/sh.exe.
  */
-#define SH_PATH "$sh"  /**/
+#define SH_PATH "$targetsh"  /**/
 
 /* SIG_NAME:
  *     This symbol contains a list of signal names in order of
@@ -3261,7 +3247,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define        Uid_t_f         $uidformat              /**/
 
 /* Uid_t_sign:
- *     This symbol holds the signedess of a Uid_t.
+ *     This symbol holds the signedness of a Uid_t.
  *     1 for unsigned, -1 for signed.
  */
 #define Uid_t_sign     $uidsign                /* UID sign */
@@ -3334,29 +3320,36 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp"               /**/
 #$d_vendorlib PERL_VENDORLIB_STEM "$vendorlib_stem"            /**/
 
-/* VOIDFLAGS:
- *     This symbol indicates how much support of the void type is given by this
- *     compiler.  What various bits mean:
- *
- *         1 = supports declaration of void
- *         2 = supports arrays of pointers to functions returning void
- *         4 = supports comparisons between pointers to void functions and
- *                 addresses of void functions
- *         8 = supports declaration of generic void pointers
- *
- *     The package designer should define VOIDUSED to indicate the requirements
- *     of the package.  This can be done either by #defining VOIDUSED before
- *     including config.h, or by defining defvoidused in Myinit.U.  If the
- *     latter approach is taken, only those flags will be tested.  If the
- *     level of void support necessary is not present, defines void to int.
- */
-#ifndef VOIDUSED
-#define VOIDUSED $defvoidused
-#endif
-#define VOIDFLAGS $voidflags
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int               /* is void to be avoided? */
-#define M_VOID                 /* Xenix strikes again */
+/* I_TERMIO:
+ *     This symbol, if defined, indicates that the program should include
+ *     <termio.h> rather than <sgtty.h>.  There are also differences in
+ *     the ioctl() calls that depend on the value of this symbol.
+ */
+/* I_TERMIOS:
+ *     This symbol, if defined, indicates that the program should include
+ *     the POSIX termios.h rather than sgtty.h or termio.h.
+ *     There are also differences in the ioctl() calls that depend on the
+ *     value of this symbol.
+ */
+/* I_SGTTY:
+ *     This symbol, if defined, indicates that the program should include
+ *     <sgtty.h> rather than <termio.h>.  There are also differences in
+ *     the ioctl() calls that depend on the value of this symbol.
+ */
+#$i_termio I_TERMIO            /**/
+#$i_termios I_TERMIOS          /**/
+#$i_sgtty I_SGTTY              /**/
+
+/* 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
 
 /* PERL_USE_DEVEL:
@@ -3723,6 +3716,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_int64_t     HAS_INT64_T               /**/
 
+/* HAS_ISBLANK:
+ *     This manifest constant lets the C program know that isblank
+ *     is available.
+ */
+#$d_isblank HAS_ISBLANK                /**/
+
 /* HAS_ISFINITE:
  *     This symbol, if defined, indicates that the isfinite routine is
  *     available to check whether a double is finite (non-infinity non-NaN).
@@ -3915,12 +3914,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_setproctitle HAS_SETPROCTITLE              /**/
 
-/* USE_SFIO:
- *     This symbol, if defined, indicates that sfio should
- *     be used.
- */
-#$d_sfio       USE_SFIO                /**/
-
 /* HAS_SIGNBIT:
  *     This symbol, if defined, indicates that the signbit routine is
  *     available to check if the given number has the sign bit set.
@@ -4173,6 +4166,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_ustat HAS_USTAT            /**/
 
+/* HAS_WCSCMP:
+ *     This symbol, if defined, indicates that the wcscmp routine is
+ *     available to compare two wide character strings.
+ */
+#$d_wcscmp HAS_WCSCMP  /**/
+
+/* HAS_WCSXFRM:
+ *     This symbol, if defined, indicates that the wcsxfrm routine is
+ *     available to tranform a wide character string for wcscmp().
+ */
+#$d_wcsxfrm HAS_WCSXFRM        /**/
+
 /* HAS_WRITEV:
  *     This symbol, if defined, indicates that the writev routine is
  *     available to do scatter writes.
@@ -4186,8 +4191,10 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$usedl USE_DYNAMIC_LOADING            /**/
 
 /* FFLUSH_NULL:
- *     This symbol, if defined, tells that fflush(NULL) does flush
- *     all pending stdio output.
+ *     This symbol, if defined, tells that fflush(NULL) correctly
+ *     flushes all pending stdio output without side effects. In
+ *     particular, on some platforms calling fflush(NULL) *still*
+ *     corrupts STDIN if it is a pipe.
  */
 /* FFLUSH_ALL:
  *     This symbol, if defined, tells that to flush
@@ -4598,7 +4605,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This variable contains the size of struct stat's st_ino in bytes.
  */
 /* ST_INO_SIGN:
- *     This symbol holds the signedess of struct stat's st_ino.
+ *     This symbol holds the signedness of struct stat's st_ino.
  *     1 for unsigned, -1 for signed.
  */
 #define ST_INO_SIGN $st_ino_sign       /* st_ino sign */
@@ -4685,6 +4692,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$usefaststdio USE_FAST_STDIO          /**/
 #endif
 
+/* USE_KERN_PROC_PATHNAME:
+ *     This symbol, if defined, indicates that we can use sysctl with
+ *     KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ *     convert $^X to an absolute path.
+ */
+#$usekernprocpathname USE_KERN_PROC_PATHNAME   /**/
+
 /* USE_LARGE_FILES:
  *     This symbol, if defined, indicates that large file support
  *     should be used when available.
@@ -4717,6 +4731,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$usemultiplicity      MULTIPLICITY            /**/
 #endif
 
+/* USE_NSGETEXECUTABLEPATH:
+ *     This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ *     and realpath to get a full path for the executable, and hence convert
+ *     $^X to an absolute path.
+ */
+#$usensgetexecutablepath USE_NSGETEXECUTABLEPATH       /**/
+
 /* USE_PERLIO:
  *     This symbol, if defined, indicates that the PerlIO abstraction should
  *     be used throughout.  If not defined, stdio should be