From aaacdc8b9b7d69c04e33245ec8de73f4e74bbd69 Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Sun, 9 Jan 2000 18:51:50 +0000 Subject: [PATCH] Configure changes for new-style version numbers (from Andy Dougherty, slightly altered) p4raw-id: //depot/perl@4771 --- Configure | 108 +++++++++++++------ INSTALL | 14 +++ Porting/Glossary | 41 +++++--- Porting/config.sh | 307 +++++++++++++++++++++++++++--------------------------- Porting/config_H | 277 +++++++++++++++++++++++------------------------- config_h.SH | 78 +++++++------- perl.h | 11 ++ win32/Makefile | 26 +++-- win32/config.bc | 2 + win32/config.gc | 2 + win32/config.vc | 2 + win32/makefile.mk | 24 +++-- 12 files changed, 496 insertions(+), 396 deletions(-) diff --git a/Configure b/Configure index 4fe41b2..5b3b6d5 100755 --- a/Configure +++ b/Configure @@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Wed Dec 22 14:18:58 EST 1999 [metaconfig 3.0 PL70] +# Generated on Fri Jan 7 16:14:30 EST 2000 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ < exists and should * be included. */ -#define I_NDBM /**/ +/*#define I_NDBM / **/ /* I_NET_ERRNO: * This symbol, if defined, indicates that exists and @@ -982,26 +982,49 @@ * This symbol is defined to be the type of char used in stdio.h. * It has the values "unsigned char" or "char". */ -#define STDCHAR unsigned char /**/ +#define STDCHAR char /**/ -/* HAS_QUAD: - * This symbol, if defined, tells that there's a 64-bit integer type, - * Quad_t. +/* CROSSCOMPILE: + * This symbol, if defined, signifies that we our + * build process is a cross-compilation. + */ +/*#define CROSSCOMPILE / **/ + +/* 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. */ -/* Quad_t: - * This symbol holds the type used for 64-bit integers. - * It can be int, long, long long, int64_t etc... +#define INTSIZE 4 /**/ +#define LONGSIZE 4 /**/ +#define SHORTSIZE 2 /**/ + +/* 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. */ -/* Uquad_t: - * This symbol holds the type used for unsigned 64-bit integers. - * It can be unsigned int, unsigned long, unsigned long long, - * uint64_t etc... +/*#define 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. */ #define HAS_QUAD /**/ -#define Quad_t long /**/ -#define Uquad_t unsigned long /**/ #ifdef HAS_QUAD -# define QUADKIND 2 /**/ +# define Quad_t long long /**/ +# define Uquad_t unsigned long long /**/ +# define QUADKIND 3 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 @@ -1024,44 +1047,13 @@ * This symbol, if defined, indicates to the C program that it should * include . */ -#define I_SYS_ACCESS /**/ +/*#define I_SYS_ACCESS / **/ /* I_SYS_SECURITY: * This symbol, if defined, indicates to the C program that it should * include . */ -#define I_SYS_SECURITY /**/ - -/* CROSSCOMPILE: - * This symbol, if defined, signifies that we our - * build process is a cross-compilation. - */ -/*#define CROSSCOMPILE / **/ - -/* 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 4 /**/ -#define LONGSIZE 8 /**/ -#define SHORTSIZE 2 /**/ - -/* 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. - */ -/*#define MULTIARCH / **/ +/*#define I_SYS_SECURITY / **/ /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a @@ -1071,7 +1063,7 @@ #if defined(CROSSCOMPILE) || defined(MULTIARCH) # define MEM_ALIGNBYTES 8 #else -#define MEM_ALIGNBYTES 8 +#define MEM_ALIGNBYTES 4 #endif /* BYTEORDER: @@ -1114,7 +1106,7 @@ # define BYTEORDER 0x4321 # endif #else -#define BYTEORDER 0x12345678 /* large digits for MSB */ +#define BYTEORDER 0x1234 /* large digits for MSB */ #endif /* NeXT */ /* CASTI32: @@ -1171,7 +1163,7 @@ * This symbol, if defined, indicates to the C program that * the GNU C library is being used. */ -/*#define HAS_GNULIBC / **/ +#define HAS_GNULIBC /**/ /* HAS_ISASCII: * This manifest constant lets the C program know that isascii * is available. @@ -1278,10 +1270,10 @@ */ #define USE_STDIO_PTR /**/ #ifdef USE_STDIO_PTR -#define FILE_ptr(fp) ((fp)->_ptr) +#define FILE_ptr(fp) ((fp)->_IO_read_ptr) #define STDIO_PTR_LVALUE /**/ -#define FILE_cnt(fp) ((fp)->_cnt) -#define STDIO_CNT_LVALUE /**/ +#define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr) +/*#define STDIO_CNT_LVALUE / **/ #endif /* USE_STDIO_BASE: @@ -1306,8 +1298,8 @@ */ #define USE_STDIO_BASE /**/ #ifdef USE_STDIO_BASE -#define FILE_base(fp) ((fp)->_base) -#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base) +#define FILE_base(fp) ((fp)->_IO_read_base) +#define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base) #endif /* HAS_VPRINTF: @@ -1379,7 +1371,7 @@ * the compiler supports (void *); otherwise it will be * sizeof(char *). */ -#define PTRSIZE 8 /**/ +#define PTRSIZE 4 /**/ /* Drand01: * This macro is to be used to generate uniformly distributed @@ -1435,8 +1427,8 @@ * 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. */ -#define ARCHLIB "/opt/perl/lib/5.00563/alpha-dec_osf-thread" /**/ -#define ARCHLIB_EXP "/opt/perl/lib/5.00563/alpha-dec_osf-thread" /**/ +#define ARCHLIB "/opt/perl/lib/5.00564/i686-linux-thread" /**/ +#define ARCHLIB_EXP "/opt/perl/lib/5.00564/i686-linux-thread" /**/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -1465,8 +1457,8 @@ * 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 "/opt/perl/lib/5.00563" /**/ -#define PRIVLIB_EXP "/opt/perl/lib/5.00563" /**/ +#define PRIVLIB "/opt/perl/lib/5.00564" /**/ +#define PRIVLIB_EXP "/opt/perl/lib/5.00564" /**/ /* SITEARCH: * This symbol contains the name of the private library for this package. @@ -1483,8 +1475,8 @@ * 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 "/opt/perl/lib/site_perl/5.00563/alpha-dec_osf-thread" /**/ -#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00563/alpha-dec_osf-thread" /**/ +#define SITEARCH "/opt/perl/lib/site_perl/5.00564/i686-linux-thread" /**/ +#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00564/i686-linux-thread" /**/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -1515,7 +1507,7 @@ * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */ -#define OSNAME "dec_osf" /**/ +#define OSNAME "linux" /**/ /* CAT2: * This macro catenates 2 tokens together. @@ -1562,10 +1554,10 @@ * This symbol is intended to be used along with CPPRUN in the same manner * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". */ -#define CPPSTDIN "cppstdin" -#define CPPMINUS "" -#define CPPRUN "/usr/bin/cpp" -#define CPPLAST "" +#define CPPSTDIN "cc -E" +#define CPPMINUS "-" +#define CPPRUN "cc -E" +#define CPPLAST "-" /* HAS_ACCESS: * This manifest constant lets the C program know that the access() @@ -1582,7 +1574,7 @@ */ #define HAS_CSH /**/ #ifdef HAS_CSH -#define CSH "/usr/bin/csh" /**/ +#define CSH "/bin/csh" /**/ #endif /* HAS_ENDGRENT: @@ -1769,7 +1761,7 @@ */ #define HAS_LONG_DOUBLE /**/ #ifdef HAS_LONG_DOUBLE -#define LONG_DOUBLESIZE 8 /**/ +#define LONG_DOUBLESIZE 12 /**/ #endif /* HAS_LONG_LONG: @@ -1903,7 +1895,7 @@ #define HAS_MSG_DONTROUTE /**/ #define HAS_MSG_OOB /**/ #define HAS_MSG_PEEK /**/ -/*#define HAS_MSG_PROXY / **/ +#define HAS_MSG_PROXY /**/ #define HAS_SCM_RIGHTS /**/ /* USE_STAT_BLOCKS: @@ -2035,12 +2027,12 @@ * contains pw_passwd. */ #define I_PWD /**/ -#define PWQUOTA /**/ +/*#define PWQUOTA / **/ /*#define PWAGE / **/ /*#define PWCHANGE / **/ /*#define PWCLASS / **/ /*#define PWEXPIRE / **/ -#define PWCOMMENT /**/ +/*#define PWCOMMENT / **/ #define PWGECOS /**/ #define PWPASSWD /**/ @@ -2093,8 +2085,8 @@ * The last element is 0, corresponding to the 0 at the end of * the sig_name list. */ -#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "IOINT", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "AIO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "INFO", "USR1", "USR2", "RESV", "RTMIN", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "MAX", "IOT", "LOST", "URG", "CLD", "IO", "POLL", "PTY", "PWR", "RTMAX", 0 /**/ -#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0 /**/ +#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "UNUSED", "NUM32", "NUM33", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMIN", "IOT", "CLD", "POLL", 0 /**/ +#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 6, 17, 29, 0 /**/ /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this @@ -2131,7 +2123,7 @@ * This symbol, if defined, indicates that the atoll routine is * available to convert strings into long longs. */ -/*#define HAS_ATOLL / **/ +#define HAS_ATOLL /**/ /* PERL_BINCOMPAT_5005: * This symbol, if defined, indicates that Perl 5.006 should be @@ -2153,7 +2145,7 @@ * This symbol, if defined, indicates that the endspent system call is * available to finalize the scan of SysV shadow password entries. */ -/*#define HAS_ENDSPENT / **/ +#define HAS_ENDSPENT /**/ /* HAS_STRUCT_FS_DATA: * This symbol, if defined, indicates that the struct fs_data @@ -2165,7 +2157,7 @@ * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ -/*#define HAS_FSEEKO / **/ +#define HAS_FSEEKO /**/ /* HAS_FSTATFS: * This symbol, if defined, indicates that the fstatfs routine is @@ -2176,7 +2168,7 @@ * This symbol, if defined, indicates that the ftello routine is * available to ftell beyond 32 bits (useful for ILP32 hosts). */ -/*#define HAS_FTELLO / **/ +#define HAS_FTELLO /**/ /* HAS_GETMNT: * This symbol, if defined, indicates that the getmnt routine is @@ -2188,32 +2180,32 @@ * This symbol, if defined, indicates that the getmntent routine is * available to iterate through mounted file systems to get their info. */ -/*#define HAS_GETMNTENT / **/ +#define HAS_GETMNTENT /**/ /* HAS_GETSPENT: * This symbol, if defined, indicates that the getspent system call is * available to retrieve SysV shadow password entries sequentially. */ -/*#define HAS_GETSPENT / **/ +#define HAS_GETSPENT /**/ /* HAS_GETSPNAM: * This symbol, if defined, indicates that the getspnam system call is * available to retrieve SysV shadow password entries by name. */ -/*#define HAS_GETSPNAM / **/ +#define HAS_GETSPNAM /**/ /* HAS_HASMNTOPT: * This symbol, if defined, indicates that the hasmntopt routine is * available to query the mount options of file systems. */ -/*#define HAS_HASMNTOPT / **/ +#define HAS_HASMNTOPT /**/ /* HAS_INT64_T: * This symbol will defined if the C compiler supports int64_t. * Usually the needs to be included, but sometimes * is enough. */ -/*#define HAS_INT64_T / **/ +#define HAS_INT64_T /**/ /* HAS_LDBL_DIG: * This symbol, if defined, indicates that this system's @@ -2227,7 +2219,7 @@ * This symbol, if defined, indicates that the setspent system call is * available to initialize the scan of SysV shadow password entries. */ -/*#define HAS_SETSPENT / **/ +#define HAS_SETSPENT /**/ /* USE_SFIO: * This symbol, if defined, indicates that sfio should @@ -2250,7 +2242,7 @@ * have statfs() and struct statfs, they have ustat() and getmnt() * with struct ustat and struct fs_data. */ -#define HAS_STRUCT_STATFS_F_FLAGS /**/ +/*#define HAS_STRUCT_STATFS_F_FLAGS / **/ /* HAS_STRUCT_STATFS: * This symbol, if defined, indicates that the struct statfs @@ -2315,13 +2307,13 @@ * This symbol, if defined, indicates to the C program that it should * include . */ -/*#define I_INTTYPES / **/ +#define I_INTTYPES /**/ /* I_MNTENT: * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_MNTENT / **/ +#define I_MNTENT /**/ /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should @@ -2339,7 +2331,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SHADOW / **/ +#define I_SHADOW /**/ /* I_SOCKS: * This symbol, if defined, indicates that exists and @@ -2356,7 +2348,7 @@ /* I_SYS_STATFS: * This symbol, if defined, indicates that exists. */ -/*#define I_SYS_STATFS / **/ +#define I_SYS_STATFS /**/ /* I_SYS_STATVFS: * This symbol, if defined, indicates that exists and @@ -2368,7 +2360,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -/*#define I_SYS_VFS / **/ +#define I_SYS_VFS /**/ /* I_USTAT: * This symbol, if defined, indicates that exists and @@ -2393,8 +2385,8 @@ * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'g') for output. */ -#define PERL_PRIfldbl "f" /**/ -#define PERL_PRIgldbl "g" /**/ +#define PERL_PRIfldbl "llf" /**/ +#define PERL_PRIgldbl "llg" /**/ /* IVTYPE: * This symbol defines the C type used for Perl's IV. @@ -2459,20 +2451,17 @@ /* U64SIZE: * This symbol contains the sizeof(U64). */ -/* NVSIZE: - * This symbol contains the sizeof(NV). - */ -#define IVTYPE long /**/ -#define UVTYPE unsigned long /**/ +#define IVTYPE long long /**/ +#define UVTYPE unsigned long long /**/ #define I8TYPE char /**/ #define U8TYPE unsigned char /**/ #define I16TYPE short /**/ #define U16TYPE unsigned short /**/ -#define I32TYPE int /**/ -#define U32TYPE unsigned int /**/ +#define I32TYPE long /**/ +#define U32TYPE unsigned long /**/ #ifdef HAS_QUAD -#define I64TYPE long /**/ -#define U64TYPE unsigned long /**/ +#define I64TYPE long long /**/ +#define U64TYPE unsigned long long /**/ #endif #define NVTYPE double /**/ #define IVSIZE 8 /**/ @@ -2487,7 +2476,6 @@ #define I64SIZE 8 /**/ #define U64SIZE 8 /**/ #endif -#define NVSIZE 8 /**/ /* IVdf: * This symbol defines the format string used for printing a Perl IV @@ -2505,10 +2493,10 @@ * This symbol defines the format string used for printing a Perl UV * as an unsigned hexadecimal integer. */ -#define IVdf "ld" /**/ -#define UVuf "lu" /**/ -#define UVof "lo" /**/ -#define UVxf "lx" /**/ +#define IVdf "lld" /**/ +#define UVuf "llu" /**/ +#define UVof "llo" /**/ +#define UVxf "llx" /**/ /* SELECT_MIN_BITS: * This symbol holds the minimum number of bits operated by select. @@ -2534,18 +2522,18 @@ * This symbol tells the name of the array holding the stdio streams. * Usual values include _iob, __iob, and __sF. */ -#define HAS_STDIO_STREAM_ARRAY /**/ -#define STDIO_STREAM_ARRAY _iob +/*#define HAS_STDIO_STREAM_ARRAY / **/ +#define STDIO_STREAM_ARRAY /* HAS_STRTOULL: * This symbol, if defined, indicates that the strtoull routine is * available to convert strings into unsigned long longs. */ -/*#define HAS_STRTOULL / **/ +#define HAS_STRTOULL /**/ /* USE_64_BITS: - * This symbol, if defined, indicates that 64-bit interfaces should - * be used when available. If not defined, the native default interfaces + * This symbol, if defined, indicates that 64-bit integers should + * be used when available. If not defined, the native integers * will be used (be they 32 or 64 bits). */ #ifndef USE_64_BITS @@ -2558,7 +2546,7 @@ * also be turned on if necessary. */ #ifndef USE_LARGE_FILES -/*#define USE_LARGE_FILES / **/ +#define USE_LARGE_FILES /**/ #endif /* USE_LONG_DOUBLE: @@ -2574,7 +2562,7 @@ * be used when available. */ #ifndef USE_LONG_LONG -/*#define USE_LONG_LONG / **/ +#define USE_LONG_LONG /**/ #endif #ifndef USE_MORE_BITS @@ -2609,7 +2597,7 @@ /* 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 /opt/perl/lib/site_perl/5.00563/alpha-dec_osf-thread for older + * lib/lib.pm will automatically search in /opt/perl/lib/site_perl/5.00564/i686-linux-thread 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. @@ -2638,7 +2626,7 @@ * (presumably) be similar. * See the INSTALL file for how this works. */ -#define PERL_XS_APIVERSION 5.00563 /* Change to string for tuples?*/ +#define PERL_XS_APIVERSION 5.00564 /* Change to string for tuples?*/ #define PERL_PM_APIVERSION 5.005 /* Change to string for tuples?*/ /* HAS_DRAND48_PROTO: @@ -2698,9 +2686,9 @@ * getnetbyaddr(). */ #define Netdb_host_t const char * /**/ -#define Netdb_hlen_t int /**/ +#define Netdb_hlen_t size_t /**/ #define Netdb_name_t const char * /**/ -#define Netdb_net_t int /**/ +#define Netdb_net_t unsigned long /**/ /* Select_fd_set_t: * This symbol holds the type used for the 2nd, 3rd, and 4th @@ -2716,7 +2704,7 @@ * where library files may be held under a private library, for * instance. */ -#define ARCHNAME "alpha-dec_osf-thread" /**/ +#define ARCHNAME "i686-linux-thread" /**/ /* OLD_PTHREAD_CREATE_JOINABLE: * This symbol, if defined, indicates how to create pthread @@ -2759,16 +2747,22 @@ */ #define I_PTHREAD /**/ -/* USE_THREADS: - * This symbol, if defined, indicates that Perl should - * be built to use threads. +/* USE_ITHREADS: + * This symbol, if defined, indicates that Perl should be built to + * use the interpreter-based threading implementation. + */ +/* USE_5005THREADS: + * This symbol, if defined, indicates that Perl should be built to + * use the 5.005-based threading implementation. */ /* OLD_PTHREADS_API: * This symbol, if defined, indicates that Perl should * be built to use the old draft POSIX threads API. */ -#ifndef USE_TTHREADS -#define USE_THREADS /**/ +/*#define USE_5005THREADS / **/ +#define USE_ITHREADS /**/ +#if defined(USE_5005THREADS) && !defined(USE_ITHREADS) +#define USE_THREADS /* until src is revised*/ #endif /*#define OLD_PTHREADS_API / **/ @@ -2796,7 +2790,7 @@ /* Gid_t_f: * This symbol defines the format string used for printing a Gid_t. */ -#define Gid_t_f "u" /**/ +#define Gid_t_f "lu" /**/ /* Gid_t_size: * This symbol holds the size of a Gid_t in bytes. @@ -2824,8 +2818,8 @@ * This symbol holds the number of bytes used by the Off_t. */ #define Off_t off_t /* type */ -#define LSEEKSIZE 8 /* size */ -#define Off_t_size 8 /* size */ +#define LSEEKSIZE 4 /* size */ +#define Off_t_size 4 /* size */ /* Mode_t: * This symbol holds the type used to declare file modes @@ -2842,11 +2836,6 @@ */ #define Pid_t pid_t /* PID type */ -/* Size_t_size: - * This symbol holds the size of a Size_t in bytes. - */ -#define Size_t_size 8 /* */ - /* Size_t: * This symbol holds the type used to declare length parameters * for string functions. It is usually size_t, but may be @@ -2858,7 +2847,7 @@ /* Uid_t_f: * This symbol defines the format string used for printing a Uid_t. */ -#define Uid_t_f "u" /**/ +#define Uid_t_f "lu" /**/ /* Uid_t_size: * This symbol holds the size of a Uid_t in bytes. diff --git a/config_h.SH b/config_h.SH index 7e0f25a..58dc53f 100644 --- a/config_h.SH +++ b/config_h.SH @@ -998,6 +998,37 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define STDCHAR $stdchar /**/ +/* CROSSCOMPILE: + * This symbol, if defined, signifies that we our + * build process is a cross-compilation. + */ +#$crosscompile CROSSCOMPILE /**/ + +/* 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 @@ -1038,37 +1069,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_syssecrt I_SYS_SECURITY /**/ -/* CROSSCOMPILE: - * This symbol, if defined, signifies that we our - * build process is a cross-compilation. - */ -#$crosscompile CROSSCOMPILE /**/ - -/* 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 /**/ - /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a * double. Usual values are 2, 4 and 8. The default is eight, @@ -2761,16 +2761,22 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #$i_pthread I_PTHREAD /**/ -/* USE_THREADS: - * This symbol, if defined, indicates that Perl should - * be built to use threads. +/* USE_ITHREADS: + * This symbol, if defined, indicates that Perl should be built to + * use the interpreter-based threading implementation. + */ +/* USE_5005THREADS: + * This symbol, if defined, indicates that Perl should be built to + * use the 5.005-based threading implementation. */ /* OLD_PTHREADS_API: * This symbol, if defined, indicates that Perl should * be built to use the old draft POSIX threads API. */ -#ifndef USE_TTHREADS -#$usethreads USE_THREADS /**/ +#$use5005threads USE_5005THREADS /**/ +#$useithreads USE_ITHREADS /**/ +#if defined(USE_5005THREADS) && !defined(USE_ITHREADS) +#define USE_THREADS /* until src is revised*/ #endif #$d_oldpthreads OLD_PTHREADS_API /**/ diff --git a/perl.h b/perl.h index 98c6265..be2bf4f 100644 --- a/perl.h +++ b/perl.h @@ -23,6 +23,17 @@ #define VOIDUSED 1 #include "config.h" +#if defined(USE_ITHREADS) && defined(USE_5005THREADS) +# include "error: USE_ITHREADS and USE_5005THREADS are incompatible" +#endif + +/* XXX This next guard can disappear if the sources are revised + to use USE_5005THREADS throughout. -- A.D 1/6/2000 +*/ +#if defined(USE_ITHREADS) && defined(USE_THREADS) +# include "error: USE_ITHREADS and USE_THREADS are incompatible" +#endif + /* See L for detailed notes on * PERL_IMPLICIT_CONTEXT and PERL_IMPLICIT_SYS */ diff --git a/win32/Makefile b/win32/Makefile index 79edfc2..6cfb264 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -29,7 +29,7 @@ INST_TOP = $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -INST_VER = \5.00563 +INST_VER = \5.00564 # # Comment this out if you DON'T want your perl installation to have @@ -47,7 +47,7 @@ INST_ARCH = \$(ARCHNAME) # # uncomment to enable threads-capabilities # -#USE_THREADS = define +#USE_5005THREADS= define # # XXX WARNING! This option currently undergoing changes. May be broken. @@ -203,7 +203,7 @@ CRYPT_FLAG = -DHAVE_DES_FCRYPT !IF "$(USE_OBJECT)" == "define" PERL_MALLOC = undef -USE_THREADS = undef +USE_5005THREADS = undef USE_MULTI = undef USE_IMP_SYS = define !ENDIF @@ -212,11 +212,11 @@ USE_IMP_SYS = define PERL_MALLOC = undef !ENDIF -!IF "$(USE_THREADS)" == "" -USE_THREADS = undef +!IF "$(USE_5005THREADS)" == "" +USE_5005THREADS = undef !ENDIF -!IF "$(USE_THREADS)" == "define" +!IF "$(USE_5005THREADS)" == "define" USE_ITHREADS = undef !ENDIF @@ -236,7 +236,7 @@ USE_ITHREADS = undef USE_IMP_SYS = undef !ENDIF -!IF "$(USE_MULTI)$(USE_THREADS)$(USE_OBJECT)" != "undefundefundef" +!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT !ENDIF @@ -255,7 +255,7 @@ PROCESSOR_ARCHITECTURE = x86 !IF "$(USE_OBJECT)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-object !ELSE -!IF "$(USE_THREADS)" == "define" +!IF "$(USE_5005THREADS)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-thread !ELSE !IF "$(USE_MULTI)" == "define" @@ -266,6 +266,10 @@ ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE) !ENDIF !ENDIF +!IF "$(USE_ITHREADS)" == "define" +ARCHNAME = $(ARCHNAME)-thread +!ENDIF + # Visual Studio 98 specific !IF "$(CCTYPE)" == "MSVC60" @@ -518,7 +522,7 @@ WIN32_SRC = \ .\win32.c \ .\win32sck.c -!IF "$(USE_THREADS)" == "define" +!IF "$(USE_5005THREADS)" == "define" WIN32_SRC = $(WIN32_SRC) .\win32thread.c !ENDIF @@ -715,7 +719,9 @@ CFG_VARS = \ "static_ext=$(STATIC_EXT)" \ "dynamic_ext=$(DYNAMIC_EXT)" \ "nonxs_ext=$(NONXS_EXT)" \ - "usethreads=$(USE_THREADS)" \ + "use5005threads=$(USE_5005THREADS)" \ + "useithreads=$(USE_ITHREADS)" \ + "usethreads=$(USE_5005THREADS)" \ "usemultiplicity=$(USE_MULTI)" \ "LINK_FLAGS=$(LINK_FLAGS:"=\")" \ "optimize=$(OPTIMIZE:"=\")" diff --git a/win32/config.bc b/win32/config.bc index 81ec602..915c733 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -685,8 +685,10 @@ uidtype='uid_t' uname='uname' uniq='uniq' uquadtype='unsigned __int64' +use5005threads='undef' use64bits='undef' usedl='define' +useithreads='undef' uselargefiles='undef' uselongdouble='undef' uselonglong='undef' diff --git a/win32/config.gc b/win32/config.gc index ff2da57..a5f8d40 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -685,8 +685,10 @@ uidtype='uid_t' uname='uname' uniq='uniq' uquadtype='unsigned long long' +use5005threads='undef' use64bits='undef' usedl='define' +useithreads='undef' uselargefiles='undef' uselongdouble='undef' uselonglong='undef' diff --git a/win32/config.vc b/win32/config.vc index a294dbc..4428c47 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -685,8 +685,10 @@ uidtype='uid_t' uname='uname' uniq='uniq' uquadtype='unsigned __int64' +use5005threads='undef' use64bits='undef' usedl='define' +useithreads='undef' uselargefiles='undef' uselongdouble='undef' uselonglong='undef' diff --git a/win32/makefile.mk b/win32/makefile.mk index 9bdcf3d..b7bf93f 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -33,7 +33,7 @@ INST_TOP *= $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -INST_VER *= \5.00563 +INST_VER *= \5.00564 # # Comment this out if you DON'T want your perl installation to have @@ -51,7 +51,7 @@ INST_ARCH *= \$(ARCHNAME) # # uncomment to enable threads-capabilities # -#USE_THREADS *= define +#USE_5005THREADS *= define # # XXX WARNING! This option currently undergoing changes. May be broken. @@ -228,16 +228,16 @@ CRYPT_FLAG = -DHAVE_DES_FCRYPT .IF "$(USE_OBJECT)" == "define" PERL_MALLOC != undef -USE_THREADS != undef +USE_5005THREADS != undef USE_MULTI != undef USE_IMP_SYS != define .ENDIF PERL_MALLOC *= undef -USE_THREADS *= undef +USE_5005THREADS *= undef -.IF "$(USE_THREADS)" == "define" +.IF "$(USE_5005THREADS)" == "define" USE_ITHREADS != undef .ENDIF @@ -246,7 +246,7 @@ USE_OBJECT *= undef USE_ITHREADS *= undef USE_IMP_SYS *= undef -.IF "$(USE_MULTI)$(USE_THREADS)$(USE_OBJECT)" != "undefundefundef" +.IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef" BUILDOPT += -DPERL_IMPLICIT_CONTEXT .ENDIF @@ -264,7 +264,7 @@ PROCESSOR_ARCHITECTURE *= x86 .IF "$(USE_OBJECT)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-object -.ELIF "$(USE_THREADS)" == "define" +.ELIF "$(USE_5005THREADS)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-thread .ELIF "$(USE_MULTI)" == "define" ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-multi @@ -272,6 +272,10 @@ ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-multi ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE) .ENDIF +.IF "$(USE_OBJECT)" == "define" +ARCHNAME = $(ARCHNAME)-thread +.ENDIF + # Visual Studio 98 specific .IF "$(CCTYPE)" == "MSVC60" @@ -644,7 +648,7 @@ WIN32_SRC = \ .\win32.c \ .\win32sck.c -.IF "$(USE_THREADS)" == "define" +.IF "$(USE_5005THREADS)" == "define" WIN32_SRC += .\win32thread.c .ENDIF @@ -843,7 +847,9 @@ CFG_VARS = \ static_ext=$(STATIC_EXT) ~ \ dynamic_ext=$(DYNAMIC_EXT) ~ \ nonxs_ext=$(NONXS_EXT) ~ \ - usethreads=$(USE_THREADS) ~ \ + use5005threads=$(USE_5005THREADS) ~ \ + useithreads=$(USE_ITHREADS) ~ \ + usethreads=$(USE_5005THREADS) ~ \ usemultiplicity=$(USE_MULTI) ~ \ LINK_FLAGS=$(LINK_FLAGS:s/\/\\/) ~ \ optimize=$(OPTIMIZE) -- 2.7.4