In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/93c088703d013ba02ebd97a3de881ff2b0154b68?hp=14cc26575f1bb449ef9962cb021f889389423dbd>
- Log ----------------------------------------------------------------- commit 93c088703d013ba02ebd97a3de881ff2b0154b68 Author: Steve Hay <steve.m....@googlemail.com> Date: Wed Sep 17 14:12:12 2014 +0100 regen_config_h for GCC (Note: Had to locally undo c69a26e800 to avoid trouble redefining stdio to PerlIO when building in a minimal configuration with USE_PERLIO=undef!) M win32/config_H.gc commit a231c375ccd5dd4ecbc8d5eed207feb86679d7fa Author: Steve Hay <steve.m....@googlemail.com> Date: Wed Sep 17 14:08:47 2014 +0100 Define PERL_PRI[efg]ldbl and PERL_SCNfldbl in Win32 canned config files Without PERL_PRIgldbl, the gcc build on Win32 is completely broken, stopping at sv.c in the miniperl build since 61cd60c6c5 added a use of PERL_PRIgldbl in its new FV_GF. M win32/config.gc M win32/config.vc M win32/config_H.gc M win32/config_H.vc commit 9a713db778de755169dbb9e4c32865eb2932ad0b Author: Steve Hay <steve.m....@googlemail.com> Date: Wed Sep 17 13:59:04 2014 +0100 regen_config_h for VC++ (Note: Had to locally undo c69a26e800 to avoid trouble redefining stdio to PerlIO when building in a minimal configuration with USE_PERLIO=undef!) M win32/config_H.vc commit e684718a1ccd22f5a5a4a79bd5ebe3b9ab785b0e Author: Steve Hay <steve.m....@googlemail.com> Date: Wed Sep 17 13:57:18 2014 +0100 Eliminate pointless win32/makefile.mk macro As per 6e75769d30 and previous commit. M win32/makefile.mk commit 683f916dc8c779d9dc0d2d7c8f17d87057b96067 Author: Steve Hay <steve.m....@googlemail.com> Date: Wed Sep 17 13:36:30 2014 +0100 Remove pointless variable in win32/config_sh.PL $int64f is always 'I64' since 6e75769d30 so there is no longer any point in it. M win32/config_sh.PL ----------------------------------------------------------------------- Summary of changes: win32/config.gc | 8 +- win32/config.vc | 8 +- win32/config_H.gc | 263 ++++++++++++++++++++++++++++++++++++++++------------- win32/config_H.vc | 263 ++++++++++++++++++++++++++++++++++++++++------------- win32/config_sh.PL | 26 +++--- win32/makefile.mk | 12 +-- 6 files changed, 427 insertions(+), 153 deletions(-) diff --git a/win32/config.gc b/win32/config.gc index 6d7b9d3..f462f97 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -82,14 +82,14 @@ d_PRIFUldbl='undef' d_PRIGUldbl='undef' d_PRIXU64='undef' d_PRId64='undef' -d_PRIeldbl='undef' -d_PRIfldbl='undef' -d_PRIgldbl='undef' +d_PRIeldbl='define' +d_PRIfldbl='define' +d_PRIgldbl='define' d_PRIi64='undef' d_PRIo64='undef' d_PRIu64='undef' d_PRIx64='undef' -d_SCNfldbl='undef' +d_SCNfldbl='define' d__fwalk='undef' d_access='define' d_accessx='undef' diff --git a/win32/config.vc b/win32/config.vc index 0c0d829..a84bf68 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -82,14 +82,14 @@ d_PRIFUldbl='undef' d_PRIGUldbl='undef' d_PRIXU64='undef' d_PRId64='undef' -d_PRIeldbl='undef' -d_PRIfldbl='undef' -d_PRIgldbl='undef' +d_PRIeldbl='define' +d_PRIfldbl='define' +d_PRIgldbl='define' d_PRIi64='undef' d_PRIo64='undef' d_PRIu64='undef' d_PRIx64='undef' -d_SCNfldbl='undef' +d_SCNfldbl='define' d__fwalk='undef' d_access='define' d_accessx='undef' diff --git a/win32/config_H.gc b/win32/config_H.gc index 228bee3..1afd5a5 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -9,7 +9,7 @@ /* Package name : perl5 * Source directory : - * Configuration time: Wed Sep 18 14:03:46 2013 + * Configuration time: Wed Sep 17 14:09:08 2014 * Configured by : shay * Target system : */ @@ -246,13 +246,13 @@ /* 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. */ #define 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. */ #define HAS_MBTOWC /**/ @@ -614,7 +614,7 @@ /* 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. */ #define HAS_WCTOMB /**/ @@ -805,26 +805,6 @@ */ /*#define 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. - */ -/*#define I_TERMIO / **/ -/*#define I_TERMIOS / **/ -/*#define I_SGTTY / **/ - /* I_UNISTD: * This symbol, if defined, indicates to the C program that it should * include <unistd.h>. @@ -895,18 +875,6 @@ */ /*#define MULTIARCH / **/ -/* 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 -/*#define USE_CROSS_COMPILE / **/ -#define PERL_TARGETARCH "" /**/ -#endif - /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a * double, or a long double when applicable. Usual values are 2, @@ -975,17 +943,8 @@ * 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 (e.g. on NeXT systems), use compiler-defined macros to + * binaries, 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. - * 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. */ #if defined(MULTIARCH) # ifdef __LITTLE_ENDIAN__ @@ -1007,12 +966,9 @@ # endif # endif # endif -# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__)) -# define BYTEORDER 0x4321 -# endif #else #define BYTEORDER 0x1234 /* large digits for MSB */ -#endif /* NeXT */ +#endif /* CHARBITS: * This symbol contains the size of a char, so that the C preprocessor @@ -1140,6 +1096,13 @@ /*#define HASATTRIBUTE_UNUSED / **/ /*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/ +/* HAS_BACKTRACE: + * This symbol, if defined, indicates that the backtrace() routine is + * available to get a stack trace. The <execinfo.h> header must be + * included to use this routine. + */ +/*#define HAS_BACKTRACE / **/ + /* CASTI32: * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. @@ -1228,6 +1191,13 @@ /*#define HAS_CTIME_R / **/ #define CTIME_R_PROTO 0 /**/ +/* HAS_DLADDR: + * This symbol, if defined, indicates that the dladdr() routine is + * available to query dynamic linker information for an address. + * The <dlfcn.h> header must be included to use this routine. + */ +/*#define HAS_DLADDR / **/ + /* 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. @@ -1936,9 +1906,36 @@ * C preprocessor can make decisions based on it. It is only * defined if the system supports long doubles. */ +/* HAS_LDEXPL: + * This symbol, if defined, indicates that the ldexpl routine is + * available to shift a long double floating-point number + * by an integral power of 2. + */ +/* LONG_DOUBLEKIND: + * LONG_DOUBLEKIND will be one of + * LONG_DOUBLE_IS_DOUBLE + * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_UNKNOWN_FORMAT + * It is only defined if the system supports long doubles. + */ +/*#define HAS_LDEXPL / **/ #define HAS_LONG_DOUBLE /**/ #ifdef HAS_LONG_DOUBLE #define LONG_DOUBLESIZE 12 /**/ +#define LONG_DOUBLEKIND 3 /**/ +#define LONG_DOUBLE_IS_DOUBLE 0 +#define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1 +#define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 +#define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 +#define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 5 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6 +#define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 #endif /* HAS_LONG_LONG: @@ -2676,14 +2673,7 @@ * This symbol, if defined, indicates that this system uses * EBCDIC encoding. */ -/* BOOTSTRAP_CHARSET: - * This symbol, if defined, indicates that this system needs - * converting various files to the native character set before - * bringing up perl on a system that has a non-ASCII character - * set and no working perl. - */ /*#define EBCDIC / **/ -/*#define BOOTSTRAP_CHARSET / **/ /* Fpos_t: * This symbol holds the type used to declare file positions in libc. @@ -2737,6 +2727,12 @@ #define DIRNAMLEN /**/ #define Direntry_t struct direct +/* I_EXECINFO: + * This symbol, if defined, indicates to the C program that it should + * include <execinfo.h> for backtrace() support. + */ +/*#define I_EXECINFO / **/ + /* I_GRP: * This symbol, if defined, indicates to the C program that it should * include <grp.h>. @@ -2875,6 +2871,26 @@ */ /*#define I_SYSUIO / **/ +/* 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. + */ +/*#define I_TERMIO / **/ +/*#define I_TERMIOS / **/ +/*#define I_SGTTY / **/ + /* I_TIME: * This symbol, if defined, indicates to the C program that it should * include <time.h>. @@ -3330,6 +3346,18 @@ /*#define PERL_VENDORLIB_EXP "" / **/ /*#define PERL_VENDORLIB_STEM "" / **/ +/* 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 +/*#define USE_CROSS_COMPILE / **/ +#define PERL_TARGETARCH "" /**/ +#endif + /* PERL_USE_DEVEL: * This symbol, if defined, indicates that Perl was configured with * -Dusedevel, to enable development features. This should not be @@ -3355,6 +3383,12 @@ */ /*#define HAS__FWALK / **/ +/* HAS_ACOSH: + * This symbol, if defined, indicates that the acosh routine is + * available to do the inverse hyperbolic cosine function. + */ +/*#define HAS_ACOSH / **/ + /* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is * available. If copysignl is also present we can emulate modfl. @@ -3465,6 +3499,13 @@ */ /*#define FCNTL_CAN_LOCK / **/ +/* HAS_FEGETROUND: + * This symbol, if defined, indicates that the fegetround routine is + * available to return the macro corresponding to the current rounding + * mode. + */ +/*#define HAS_FEGETROUND / **/ + /* HAS_FINITE: * This symbol, if defined, indicates that the finite routine is * available to check whether a double is finite (non-infinity non-NaN). @@ -3504,6 +3545,13 @@ */ /*#define HAS_FP_CLASS / **/ +/* HAS_FP_CLASSL: + * This symbol, if defined, indicates that the fp_classl routine is + * available to classify long doubles. Available for example in + * Digital UNIX. See for possible values HAS_FP_CLASS. + */ +/*#define HAS_FP_CLASSL / **/ + /* HAS_FPCLASS: * This symbol, if defined, indicates that the fpclass routine is * available to classify doubles. Available for example in Solaris/SVR4. @@ -3534,7 +3582,19 @@ * FP_NAN NaN * */ -/*#define HAS_FPCLASSIFY / **/ +/* HAS_FP_CLASSIFY: + * This symbol, if defined, indicates that the fp_classify routine is + * available to classify doubles. The values are defined in <math.h> + * + * FP_NORMAL Normalized + * FP_ZERO Zero + * FP_INFINITE Infinity + * FP_SUBNORMAL Denormalized + * FP_NAN NaN + * + */ +/*#define HAS_FPCLASSIFY / **/ +/*#define HAS_FP_CLASSIFY / **/ /* HAS_FPCLASSL: * This symbol, if defined, indicates that the fpclassl routine is @@ -3554,6 +3614,12 @@ */ /*#define HAS_FPCLASSL / **/ +/* HAS_FPGETROUND: + * This symbol, if defined, indicates that the fpgetround routine is + * available to get the floating point rounding mode. + */ +/*#define HAS_FPGETROUND / **/ + /* HAS_FPOS64_T: * This symbol will be defined if the C compiler supports fpos64_t. */ @@ -3706,12 +3772,25 @@ */ /*#define HAS_ISFINITE / **/ +/* HAS_ISFINITEL: + * This symbol, if defined, indicates that the isfinitel routine is + * available to check whether a long double is finite. + * (non-infinity non-NaN). + */ +/*#define HAS_ISFINITEL / **/ + /* HAS_ISINF: * This symbol, if defined, indicates that the isinf routine is * available to check whether a double is an infinity. */ /*#define HAS_ISINF / **/ +/* HAS_ISINFL: + * This symbol, if defined, indicates that the isinfl routine is + * available to check whether a long double is an infinity. + */ +/*#define HAS_ISINFL / **/ + /* HAS_ISNAN: * This symbol, if defined, indicates that the isnan routine is * available to check whether a double is a NaN. @@ -3724,6 +3803,19 @@ */ /*#define HAS_ISNANL / **/ +/* HAS_J0: + * This symbol, if defined, indicates to the C program that the + * j0() function is available for Bessel functions of the first + * kind of the order zero, for doubles. + */ +/* HAS_J0L: + * This symbol, if defined, indicates to the C program that the + * j0l() function is available for Bessel functions of the first + * kind of the order zero, for long doubles. + */ +/*#define HAS_J0 / **/ +/*#define HAS_J0L / **/ + /* HAS_LDBL_DIG: * This symbol, if defined, indicates that this system's <float.h> * or <limits.h> defines the symbol LDBL_DIG, which is the number @@ -3846,6 +3938,11 @@ */ /*#define HAS_PTHREAD_ATTR_SETSCOPE / **/ +/* HAS_PTRDIFF_T: + * This symbol will be defined if the C compiler supports ptrdiff_t. + */ +#define HAS_PTRDIFF_T /**/ + /* HAS_READV: * This symbol, if defined, indicates that the readv routine is * available to do gather reads. You will also need <sys/uio.h> @@ -4103,6 +4200,12 @@ */ /*#define HAS_TIMEGM / **/ +/* HAS_TRUNCL: + * This symbol, if defined, indicates that the truncl routine is + * available. If copysignl is also present we can emulate modfl. + */ +/*#define HAS_TRUNCL / **/ + /* U32_ALIGNMENT_REQUIRED: * This symbol, if defined, indicates that you must access * character data through U32-aligned pointers. @@ -4144,6 +4247,18 @@ */ /*#define HAS_USTAT / **/ +/* HAS_WCSCMP: + * This symbol, if defined, indicates that the wcscmp routine is + * available to compare two wide character strings. + */ +#define HAS_WCSCMP /**/ + +/* HAS_WCSXFRM: + * This symbol, if defined, indicates that the wcsxfrm routine is + * available to tranform a wide character string for wcscmp(). + */ +#define HAS_WCSXFRM /**/ + /* HAS_WRITEV: * This symbol, if defined, indicates that the writev routine is * available to do scatter writes. @@ -4178,6 +4293,12 @@ */ #define I_ASSERT /**/ +/* I_BFD: + * This symbol, if defined, indicates that <bfd.h> exists and + * can be included. + */ +/*#define I_BFD / **/ + /* I_CRYPT: * This symbol, if defined, indicates that <crypt.h> exists and * should be included. @@ -4214,6 +4335,12 @@ #define DB_VERSION_MINOR_CFG 0 /**/ #define DB_VERSION_PATCH_CFG 0 /**/ +/* I_FENV: + * This symbol, if defined, indicates to the C program that it should + * include <fenv.h> to get the floating point environment definitions. + */ +/*#define I_FENV / **/ + /* I_FP: * This symbol, if defined, indicates that <fp.h> exists and * should be included. @@ -4298,6 +4425,12 @@ */ #define I_STDBOOL /**/ +/* I_STDINT: + * This symbol, if defined, indicates that <stdint.h> exists and + * should be included. + */ +/*#define I_STDINT / **/ + /* I_SUNMATH: * This symbol, if defined, indicates that <sunmath.h> exists and * should be included. @@ -4367,10 +4500,10 @@ * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for input. */ -/*#define PERL_PRIfldbl "f" / **/ -/*#define PERL_PRIgldbl "g" / **/ -/*#define PERL_PRIeldbl "e" / **/ -/*#define PERL_SCNfldbl "f" / **/ +#define PERL_PRIfldbl "f" /**/ +#define PERL_PRIgldbl "g" /**/ +#define PERL_PRIeldbl "e" /**/ +#define PERL_SCNfldbl "f" /**/ /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores @@ -4637,6 +4770,12 @@ /*#define USE_64_BIT_ALL / **/ #endif +/* USE_CBACKTRACE: + * This symbol, if defined, indicates that Perl should + * be built with support for backtrace. + */ +/*#define USE_CBACKTRACE / **/ + /* USE_DTRACE: * This symbol, if defined, indicates that Perl should * be built with support for DTrace. diff --git a/win32/config_H.vc b/win32/config_H.vc index 2d9ebfd..05518e1 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -9,7 +9,7 @@ /* Package name : perl5 * Source directory : - * Configuration time: Wed Sep 18 13:50:58 2013 + * Configuration time: Wed Sep 17 13:53:56 2014 * Configured by : shay * Target system : */ @@ -246,13 +246,13 @@ /* 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. */ #define 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. */ #define HAS_MBTOWC /**/ @@ -614,7 +614,7 @@ /* 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. */ #define HAS_WCTOMB /**/ @@ -805,26 +805,6 @@ */ /*#define 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. - */ -/*#define I_TERMIO / **/ -/*#define I_TERMIOS / **/ -/*#define I_SGTTY / **/ - /* I_UNISTD: * This symbol, if defined, indicates to the C program that it should * include <unistd.h>. @@ -895,18 +875,6 @@ */ /*#define MULTIARCH / **/ -/* 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 -/*#define USE_CROSS_COMPILE / **/ -#define PERL_TARGETARCH "" /**/ -#endif - /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a * double, or a long double when applicable. Usual values are 2, @@ -975,17 +943,8 @@ * 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 (e.g. on NeXT systems), use compiler-defined macros to + * binaries, 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. - * 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. */ #if defined(MULTIARCH) # ifdef __LITTLE_ENDIAN__ @@ -1007,12 +966,9 @@ # endif # endif # endif -# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__)) -# define BYTEORDER 0x4321 -# endif #else #define BYTEORDER 0x1234 /* large digits for MSB */ -#endif /* NeXT */ +#endif /* CHARBITS: * This symbol contains the size of a char, so that the C preprocessor @@ -1134,6 +1090,13 @@ /*#define HASATTRIBUTE_UNUSED / **/ /*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/ +/* HAS_BACKTRACE: + * This symbol, if defined, indicates that the backtrace() routine is + * available to get a stack trace. The <execinfo.h> header must be + * included to use this routine. + */ +/*#define HAS_BACKTRACE / **/ + /* CASTI32: * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. @@ -1222,6 +1185,13 @@ /*#define HAS_CTIME_R / **/ #define CTIME_R_PROTO 0 /**/ +/* HAS_DLADDR: + * This symbol, if defined, indicates that the dladdr() routine is + * available to query dynamic linker information for an address. + * The <dlfcn.h> header must be included to use this routine. + */ +/*#define HAS_DLADDR / **/ + /* 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. @@ -1930,9 +1900,36 @@ * C preprocessor can make decisions based on it. It is only * defined if the system supports long doubles. */ +/* HAS_LDEXPL: + * This symbol, if defined, indicates that the ldexpl routine is + * available to shift a long double floating-point number + * by an integral power of 2. + */ +/* LONG_DOUBLEKIND: + * LONG_DOUBLEKIND will be one of + * LONG_DOUBLE_IS_DOUBLE + * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN + * LONG_DOUBLE_IS_UNKNOWN_FORMAT + * It is only defined if the system supports long doubles. + */ +/*#define HAS_LDEXPL / **/ #define HAS_LONG_DOUBLE /**/ #ifdef HAS_LONG_DOUBLE #define LONG_DOUBLESIZE 8 /**/ +#define LONG_DOUBLEKIND 0 /**/ +#define LONG_DOUBLE_IS_DOUBLE 0 +#define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1 +#define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 +#define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 +#define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 5 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6 +#define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 #endif /* HAS_LONG_LONG: @@ -2670,14 +2667,7 @@ * This symbol, if defined, indicates that this system uses * EBCDIC encoding. */ -/* BOOTSTRAP_CHARSET: - * This symbol, if defined, indicates that this system needs - * converting various files to the native character set before - * bringing up perl on a system that has a non-ASCII character - * set and no working perl. - */ /*#define EBCDIC / **/ -/*#define BOOTSTRAP_CHARSET / **/ /* Fpos_t: * This symbol holds the type used to declare file positions in libc. @@ -2731,6 +2721,12 @@ #define DIRNAMLEN /**/ #define Direntry_t struct direct +/* I_EXECINFO: + * This symbol, if defined, indicates to the C program that it should + * include <execinfo.h> for backtrace() support. + */ +/*#define I_EXECINFO / **/ + /* I_GRP: * This symbol, if defined, indicates to the C program that it should * include <grp.h>. @@ -2869,6 +2865,26 @@ */ /*#define I_SYSUIO / **/ +/* 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. + */ +/*#define I_TERMIO / **/ +/*#define I_TERMIOS / **/ +/*#define I_SGTTY / **/ + /* I_TIME: * This symbol, if defined, indicates to the C program that it should * include <time.h>. @@ -3324,6 +3340,18 @@ /*#define PERL_VENDORLIB_EXP "" / **/ /*#define PERL_VENDORLIB_STEM "" / **/ +/* 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 +/*#define USE_CROSS_COMPILE / **/ +#define PERL_TARGETARCH "" /**/ +#endif + /* PERL_USE_DEVEL: * This symbol, if defined, indicates that Perl was configured with * -Dusedevel, to enable development features. This should not be @@ -3349,6 +3377,12 @@ */ /*#define HAS__FWALK / **/ +/* HAS_ACOSH: + * This symbol, if defined, indicates that the acosh routine is + * available to do the inverse hyperbolic cosine function. + */ +/*#define HAS_ACOSH / **/ + /* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is * available. If copysignl is also present we can emulate modfl. @@ -3459,6 +3493,13 @@ */ /*#define FCNTL_CAN_LOCK / **/ +/* HAS_FEGETROUND: + * This symbol, if defined, indicates that the fegetround routine is + * available to return the macro corresponding to the current rounding + * mode. + */ +/*#define HAS_FEGETROUND / **/ + /* HAS_FINITE: * This symbol, if defined, indicates that the finite routine is * available to check whether a double is finite (non-infinity non-NaN). @@ -3498,6 +3539,13 @@ */ /*#define HAS_FP_CLASS / **/ +/* HAS_FP_CLASSL: + * This symbol, if defined, indicates that the fp_classl routine is + * available to classify long doubles. Available for example in + * Digital UNIX. See for possible values HAS_FP_CLASS. + */ +/*#define HAS_FP_CLASSL / **/ + /* HAS_FPCLASS: * This symbol, if defined, indicates that the fpclass routine is * available to classify doubles. Available for example in Solaris/SVR4. @@ -3528,7 +3576,19 @@ * FP_NAN NaN * */ -/*#define HAS_FPCLASSIFY / **/ +/* HAS_FP_CLASSIFY: + * This symbol, if defined, indicates that the fp_classify routine is + * available to classify doubles. The values are defined in <math.h> + * + * FP_NORMAL Normalized + * FP_ZERO Zero + * FP_INFINITE Infinity + * FP_SUBNORMAL Denormalized + * FP_NAN NaN + * + */ +/*#define HAS_FPCLASSIFY / **/ +/*#define HAS_FP_CLASSIFY / **/ /* HAS_FPCLASSL: * This symbol, if defined, indicates that the fpclassl routine is @@ -3548,6 +3608,12 @@ */ /*#define HAS_FPCLASSL / **/ +/* HAS_FPGETROUND: + * This symbol, if defined, indicates that the fpgetround routine is + * available to get the floating point rounding mode. + */ +/*#define HAS_FPGETROUND / **/ + /* HAS_FPOS64_T: * This symbol will be defined if the C compiler supports fpos64_t. */ @@ -3700,12 +3766,25 @@ */ /*#define HAS_ISFINITE / **/ +/* HAS_ISFINITEL: + * This symbol, if defined, indicates that the isfinitel routine is + * available to check whether a long double is finite. + * (non-infinity non-NaN). + */ +/*#define HAS_ISFINITEL / **/ + /* HAS_ISINF: * This symbol, if defined, indicates that the isinf routine is * available to check whether a double is an infinity. */ /*#define HAS_ISINF / **/ +/* HAS_ISINFL: + * This symbol, if defined, indicates that the isinfl routine is + * available to check whether a long double is an infinity. + */ +/*#define HAS_ISINFL / **/ + /* HAS_ISNAN: * This symbol, if defined, indicates that the isnan routine is * available to check whether a double is a NaN. @@ -3718,6 +3797,19 @@ */ /*#define HAS_ISNANL / **/ +/* HAS_J0: + * This symbol, if defined, indicates to the C program that the + * j0() function is available for Bessel functions of the first + * kind of the order zero, for doubles. + */ +/* HAS_J0L: + * This symbol, if defined, indicates to the C program that the + * j0l() function is available for Bessel functions of the first + * kind of the order zero, for long doubles. + */ +/*#define HAS_J0 / **/ +/*#define HAS_J0L / **/ + /* HAS_LDBL_DIG: * This symbol, if defined, indicates that this system's <float.h> * or <limits.h> defines the symbol LDBL_DIG, which is the number @@ -3840,6 +3932,11 @@ */ /*#define HAS_PTHREAD_ATTR_SETSCOPE / **/ +/* HAS_PTRDIFF_T: + * This symbol will be defined if the C compiler supports ptrdiff_t. + */ +#define HAS_PTRDIFF_T /**/ + /* HAS_READV: * This symbol, if defined, indicates that the readv routine is * available to do gather reads. You will also need <sys/uio.h> @@ -4097,6 +4194,12 @@ */ /*#define HAS_TIMEGM / **/ +/* HAS_TRUNCL: + * This symbol, if defined, indicates that the truncl routine is + * available. If copysignl is also present we can emulate modfl. + */ +/*#define HAS_TRUNCL / **/ + /* U32_ALIGNMENT_REQUIRED: * This symbol, if defined, indicates that you must access * character data through U32-aligned pointers. @@ -4138,6 +4241,18 @@ */ /*#define HAS_USTAT / **/ +/* HAS_WCSCMP: + * This symbol, if defined, indicates that the wcscmp routine is + * available to compare two wide character strings. + */ +#define HAS_WCSCMP /**/ + +/* HAS_WCSXFRM: + * This symbol, if defined, indicates that the wcsxfrm routine is + * available to tranform a wide character string for wcscmp(). + */ +#define HAS_WCSXFRM /**/ + /* HAS_WRITEV: * This symbol, if defined, indicates that the writev routine is * available to do scatter writes. @@ -4172,6 +4287,12 @@ */ #define I_ASSERT /**/ +/* I_BFD: + * This symbol, if defined, indicates that <bfd.h> exists and + * can be included. + */ +/*#define I_BFD / **/ + /* I_CRYPT: * This symbol, if defined, indicates that <crypt.h> exists and * should be included. @@ -4208,6 +4329,12 @@ #define DB_VERSION_MINOR_CFG 0 /**/ #define DB_VERSION_PATCH_CFG 0 /**/ +/* I_FENV: + * This symbol, if defined, indicates to the C program that it should + * include <fenv.h> to get the floating point environment definitions. + */ +/*#define I_FENV / **/ + /* I_FP: * This symbol, if defined, indicates that <fp.h> exists and * should be included. @@ -4292,6 +4419,12 @@ */ /*#define I_STDBOOL / **/ +/* I_STDINT: + * This symbol, if defined, indicates that <stdint.h> exists and + * should be included. + */ +/*#define I_STDINT / **/ + /* I_SUNMATH: * This symbol, if defined, indicates that <sunmath.h> exists and * should be included. @@ -4361,10 +4494,10 @@ * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for input. */ -/*#define PERL_PRIfldbl "f" / **/ -/*#define PERL_PRIgldbl "g" / **/ -/*#define PERL_PRIeldbl "e" / **/ -/*#define PERL_SCNfldbl "f" / **/ +#define PERL_PRIfldbl "f" /**/ +#define PERL_PRIgldbl "g" /**/ +#define PERL_PRIeldbl "e" /**/ +#define PERL_SCNfldbl "f" /**/ /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores @@ -4631,6 +4764,12 @@ /*#define USE_64_BIT_ALL / **/ #endif +/* USE_CBACKTRACE: + * This symbol, if defined, indicates that Perl should + * be built with support for backtrace. + */ +/*#define USE_CBACKTRACE / **/ + /* USE_DTRACE: * This symbol, if defined, indicates that Perl should * be built with support for DTrace. diff --git a/win32/config_sh.PL b/win32/config_sh.PL index 985c99a..f20be97 100644 --- a/win32/config_sh.PL +++ b/win32/config_sh.PL @@ -114,14 +114,12 @@ $opt{usemymalloc} = 'y' if $opt{d_mymalloc} eq 'define'; $opt{libpth} = mungepath($opt{libpth}) if exists $opt{libpth}; $opt{incpath} = mungepath($opt{incpath}) if exists $opt{incpath}; -my($int64, $int64f); +my $int64; if ($opt{cc} =~ /\b(?:cl|icl)/) { $int64 = '__int64'; - $int64f = 'I64'; } elsif ($opt{cc} =~ /\bgcc\b/) { $int64 = 'long long'; - $int64f = 'I64'; } # set large files options @@ -155,22 +153,22 @@ else { } if ($opt{use64bitint} eq 'define') { $opt{d_nv_preserves_uv} = 'undef'; - $opt{ivdformat} = qq{"${int64f}d"}; + $opt{ivdformat} = qq{"I64d"}; $opt{ivsize} = 8; $opt{ivtype} = $int64; $opt{nv_preserves_uv_bits} = 53; - $opt{sPRIXU64} = qq{"${int64f}X"}; - $opt{sPRId64} = qq{"${int64f}d"}; - $opt{sPRIi64} = qq{"${int64f}i"}; - $opt{sPRIo64} = qq{"${int64f}o"}; - $opt{sPRIu64} = qq{"${int64f}u"}; - $opt{sPRIx64} = qq{"${int64f}x"}; - $opt{uvXUformat} = qq{"${int64f}X"}; - $opt{uvoformat} = qq{"${int64f}o"}; + $opt{sPRIXU64} = qq{"I64X"}; + $opt{sPRId64} = qq{"I64d"}; + $opt{sPRIi64} = qq{"I64i"}; + $opt{sPRIo64} = qq{"I64o"}; + $opt{sPRIu64} = qq{"I64u"}; + $opt{sPRIx64} = qq{"I64x"}; + $opt{uvXUformat} = qq{"I64X"}; + $opt{uvoformat} = qq{"I64o"}; $opt{uvsize} = 8; $opt{uvtype} = qq{unsigned $int64}; - $opt{uvuformat} = qq{"${int64f}u"}; - $opt{uvxformat} = qq{"${int64f}x"}; + $opt{uvuformat} = qq{"I64u"}; + $opt{uvxformat} = qq{"I64x"}; } else { $opt{d_nv_preserves_uv} = 'define'; diff --git a/win32/makefile.mk b/win32/makefile.mk index a19686c..235bf25 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -761,14 +761,12 @@ CFGH_TMPL = config_H.gc PERLIMPLIB = ..\libperl521$(a) PERLSTATICLIB = ..\libperl521s$(a) INT64 = long long -INT64f = ll .ELSE CFGSH_TMPL = config.vc CFGH_TMPL = config_H.vc INT64 = __int64 -INT64f = I64 .ENDIF @@ -1070,11 +1068,11 @@ config.w32 : $(CFGSH_TMPL) @echo #define UVSIZE ^8>>$@ @echo #undef NV_PRESERVES_UV>>$@ @echo #define NV_PRESERVES_UV_BITS 53>>$@ - @echo #define IVdf "$(INT64f)d">>$@ - @echo #define UVuf "$(INT64f)u">>$@ - @echo #define UVof "$(INT64f)o">>$@ - @echo #define UVxf "$(INT64f)x">>$@ - @echo #define UVXf "$(INT64f)X">>$@ + @echo #define IVdf "I64d">>$@ + @echo #define UVuf "I64u">>$@ + @echo #define UVof "I64o">>$@ + @echo #define UVxf "I64x">>$@ + @echo #define UVXf "I64X">>$@ @echo #define USE_64_BIT_INT>>$@ .ELSE @echo #define IVTYPE long>>$@ -- Perl5 Master Repository