This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
The 5005thread todo list; 2 down 25 to go
[perl5.git] / uconfig.h
index 5cbd51d..e4dd65d 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
 #define BIN "/usr/local/bin"   /**/
 #define BIN_EXP ""     /**/
 
-/* PERL_BINCOMPAT_5005:
- *     This symbol, if defined, indicates that this version of Perl should be
- *     binary-compatible with Perl 5.005.  This is impossible for builds
- *     that use features like threads and multiplicity it is always 
- *     for those versions.
- */
-/*#define PERL_BINCOMPAT_5005                  / **/
-
 /* BYTEORDER:
  *     This symbol holds the hexadecimal constant defined in byteorder,
  *     in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
  */
 /* ASCTIME_R_PROTO:
  *     This symbol encodes the prototype of asctime_r.
+ *     It is zero if d_asctime_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
+ *     is defined.
  */
 /*#define HAS_ASCTIME_R           / **/
 #define ASCTIME_R_PROTO 0         /**/
  */
 /* CRYPT_R_PROTO:
  *     This symbol encodes the prototype of crypt_r.
+ *     It is zero if d_crypt_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
+ *     is defined.
  */
 /*#define HAS_CRYPT_R     / **/
 #define CRYPT_R_PROTO 0           /**/
  */
 /* CTIME_R_PROTO:
  *     This symbol encodes the prototype of ctime_r.
+ *     It is zero if d_ctime_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
+ *     is defined.
  */
 /*#define HAS_CTIME_R     / **/
 #define CTIME_R_PROTO 0           /**/
  */
 /* DRAND48_R_PROTO:
  *     This symbol encodes the prototype of drand48_r.
+ *     It is zero if d_drand48_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
+ *     is defined.
  */
 /*#define HAS_DRAND48_R           / **/
 #define DRAND48_R_PROTO 0         /**/
  */
 /* ENDGRENT_R_PROTO:
  *     This symbol encodes the prototype of endgrent_r.
+ *     It is zero if d_endgrent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
+ *     is defined.
  */
 /*#define HAS_ENDGRENT_R          / **/
 #define ENDGRENT_R_PROTO 0        /**/
  */
 /* ENDPWENT_R_PROTO:
  *     This symbol encodes the prototype of endpwent_r.
+ *     It is zero if d_endpwent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
+ *     is defined.
  */
 /*#define HAS_ENDPWENT_R          / **/
 #define ENDPWENT_R_PROTO 0        /**/
  */
 /* GETGRENT_R_PROTO:
  *     This symbol encodes the prototype of getgrent_r.
+ *     It is zero if d_getgrent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
+ *     is defined.
  */
 /*#define HAS_GETGRENT_R          / **/
 #define GETGRENT_R_PROTO 0        /**/
  */
 /* GETGRGID_R_PROTO:
  *     This symbol encodes the prototype of getgrgid_r.
+ *     It is zero if d_getgrgid_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
+ *     is defined.
  */
 /*#define HAS_GETGRGID_R          / **/
 #define GETGRGID_R_PROTO 0        /**/
  */
 /* GETGRNAM_R_PROTO:
  *     This symbol encodes the prototype of getgrnam_r.
+ *     It is zero if d_getgrnam_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
+ *     is defined.
  */
 /*#define HAS_GETGRNAM_R          / **/
 #define GETGRNAM_R_PROTO 0        /**/
  */
 /* GETLOGIN_R_PROTO:
  *     This symbol encodes the prototype of getlogin_r.
+ *     It is zero if d_getlogin_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
+ *     is defined.
  */
 /*#define HAS_GETLOGIN_R          / **/
 #define GETLOGIN_R_PROTO 0        /**/
  */
 /* GETPWENT_R_PROTO:
  *     This symbol encodes the prototype of getpwent_r.
+ *     It is zero if d_getpwent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
+ *     is defined.
  */
 /*#define HAS_GETPWENT_R          / **/
 #define GETPWENT_R_PROTO 0        /**/
  */
 /* GETPWNAM_R_PROTO:
  *     This symbol encodes the prototype of getpwnam_r.
+ *     It is zero if d_getpwnam_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
+ *     is defined.
  */
 /*#define HAS_GETPWNAM_R          / **/
 #define GETPWNAM_R_PROTO 0        /**/
  */
 /* GETPWUID_R_PROTO:
  *     This symbol encodes the prototype of getpwuid_r.
+ *     It is zero if d_getpwuid_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
+ *     is defined.
  */
 /*#define HAS_GETPWUID_R          / **/
 #define GETPWUID_R_PROTO 0        /**/
  */
 /* GETSPNAM_R_PROTO:
  *     This symbol encodes the prototype of getspnam_r.
+ *     It is zero if d_getspnam_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
+ *     is defined.
  */
 /*#define HAS_GETSPNAM_R          / **/
 #define GETSPNAM_R_PROTO 0        /**/
  */
 /* GMTIME_R_PROTO:
  *     This symbol encodes the prototype of gmtime_r.
+ *     It is zero if d_gmtime_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
+ *     is defined.
  */
 /*#define HAS_GMTIME_R    / **/
 #define GMTIME_R_PROTO 0          /**/
 
 /* HAS_GNULIBC:
  *     This symbol, if defined, indicates to the C program that 
- *     the GNU C library is being used.
+ *     the GNU C library is being used.  A better check is to use
+ *     the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
  */
 /*#define HAS_GNULIBC          / **/
 #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
  */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
+ *     It is zero if d_localtime_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
+ *     is defined.
  */
 /*#define HAS_LOCALTIME_R         / **/
 #define LOCALTIME_R_PROTO 0       /**/
  */
 /* RANDOM_R_PROTO:
  *     This symbol encodes the prototype of random_r.
+ *     It is zero if d_random_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
+ *     is defined.
  */
 /*#define HAS_RANDOM_R    / **/
 #define RANDOM_R_PROTO 0          /**/
  */
 /* READDIR_R_PROTO:
  *     This symbol encodes the prototype of readdir_r.
+ *     It is zero if d_readdir_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
+ *     is defined.
  */
 /*#define HAS_READDIR_R           / **/
 #define READDIR_R_PROTO 0         /**/
  */
 /* SETGRENT_R_PROTO:
  *     This symbol encodes the prototype of setgrent_r.
+ *     It is zero if d_setgrent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
+ *     is defined.
  */
 /*#define HAS_SETGRENT_R          / **/
 #define SETGRENT_R_PROTO 0        /**/
  */
 /* SETPWENT_R_PROTO:
  *     This symbol encodes the prototype of setpwent_r.
+ *     It is zero if d_setpwent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
+ *     is defined.
  */
 /*#define HAS_SETPWENT_R          / **/
 #define SETPWENT_R_PROTO 0        /**/
  */
 /* SRAND48_R_PROTO:
  *     This symbol encodes the prototype of srand48_r.
+ *     It is zero if d_srand48_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+ *     is defined.
  */
 /*#define HAS_SRAND48_R           / **/
 #define SRAND48_R_PROTO 0         /**/
  */
 /* SRANDOM_R_PROTO:
  *     This symbol encodes the prototype of srandom_r.
+ *     It is zero if d_srandom_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+ *     is defined.
  */
 /*#define HAS_SRANDOM_R           / **/
 #define SRANDOM_R_PROTO 0         /**/
  */
 /* STRERROR_R_PROTO:
  *     This symbol encodes the prototype of strerror_r.
+ *     It is zero if d_strerror_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+ *     is defined.
  */
 /*#define HAS_STRERROR_R          / **/
 #define STRERROR_R_PROTO 0        /**/
  */
 /* TMPNAM_R_PROTO:
  *     This symbol encodes the prototype of tmpnam_r.
+ *     It is zero if d_tmpnam_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+ *     is defined.
  */
 /*#define HAS_TMPNAM_R    / **/
 #define TMPNAM_R_PROTO 0          /**/
  *     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.
  *     try to use the various _r versions of library functions.
  *     This is extremely experimental.
  */
-/*#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                / **/
 /*#define      USE_REENTRANT_API       / **/
 
  *     See INSTALL for how this works.
  *     The versioned site_perl directory was introduced in 5.005,
  *     so that is the lowest possible value.
- *     Since this can depend on compile time options (such as
- *     bincompat) it is set by Configure.  Other non-default sources
+ *     Since this can depend on compile time options
+ *     it is set by Configure.  Other non-default sources
  *     of potential incompatibility, such as multiplicity, threads,
  *     debugging, 64bits, sfio, etc., are not checked for currently,
  *     though in principle we could go snooping around in old
  *     (presumably) be similar.
  *     See the INSTALL file for how this works.
  */
-#define PERL_XS_APIVERSION "5.005"
+#define PERL_XS_APIVERSION "5.008"
 #define PERL_PM_APIVERSION "5.005"
 
 /* HAS_CRYPT:
  *     This symbol, if defined, indicates that you must access
  *     character data through U32-aligned pointers.
  */
+#ifndef U32_ALIGNMENT_REQUIRED
 #define U32_ALIGNMENT_REQUIRED /**/
+#endif
 
 /* HAS_USLEEP_PROTO:
  *     This symbol, if defined, indicates that the system provides
  */
 /* CTERMID_R_PROTO:
  *     This symbol encodes the prototype of ctermid_r.
+ *     It is zero if d_ctermid_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+ *     is defined.
  */
 /*#define HAS_CTERMID_R           / **/
 #define CTERMID_R_PROTO 0         /**/
  */
 /* ENDHOSTENT_R_PROTO:
  *     This symbol encodes the prototype of endhostent_r.
+ *     It is zero if d_endhostent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
+ *     is defined.
  */
 /*#define HAS_ENDHOSTENT_R        / **/
 #define ENDHOSTENT_R_PROTO 0      /**/
  */
 /* ENDNETENT_R_PROTO:
  *     This symbol encodes the prototype of endnetent_r.
+ *     It is zero if d_endnetent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
+ *     is defined.
  */
 /*#define HAS_ENDNETENT_R         / **/
 #define ENDNETENT_R_PROTO 0       /**/
  */
 /* ENDPROTOENT_R_PROTO:
  *     This symbol encodes the prototype of endprotoent_r.
+ *     It is zero if d_endprotoent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
+ *     is defined.
  */
 /*#define HAS_ENDPROTOENT_R       / **/
 #define ENDPROTOENT_R_PROTO 0     /**/
  */
 /* ENDSERVENT_R_PROTO:
  *     This symbol encodes the prototype of endservent_r.
+ *     It is zero if d_endservent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
+ *     is defined.
  */
 /*#define HAS_ENDSERVENT_R        / **/
 #define ENDSERVENT_R_PROTO 0      /**/
  */
 /* GETHOSTBYADDR_R_PROTO:
  *     This symbol encodes the prototype of gethostbyaddr_r.
+ *     It is zero if d_gethostbyaddr_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
+ *     is defined.
  */
 /*#define HAS_GETHOSTBYADDR_R     / **/
 #define GETHOSTBYADDR_R_PROTO 0           /**/
  */
 /* GETHOSTBYNAME_R_PROTO:
  *     This symbol encodes the prototype of gethostbyname_r.
+ *     It is zero if d_gethostbyname_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
+ *     is defined.
  */
 /*#define HAS_GETHOSTBYNAME_R     / **/
 #define GETHOSTBYNAME_R_PROTO 0           /**/
  */
 /* GETHOSTENT_R_PROTO:
  *     This symbol encodes the prototype of gethostent_r.
+ *     It is zero if d_gethostent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
+ *     is defined.
  */
 /*#define HAS_GETHOSTENT_R        / **/
 #define GETHOSTENT_R_PROTO 0      /**/
  */
 /* GETNETBYADDR_R_PROTO:
  *     This symbol encodes the prototype of getnetbyaddr_r.
+ *     It is zero if d_getnetbyaddr_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
+ *     is defined.
  */
 /*#define HAS_GETNETBYADDR_R      / **/
 #define GETNETBYADDR_R_PROTO 0    /**/
  */
 /* GETNETBYNAME_R_PROTO:
  *     This symbol encodes the prototype of getnetbyname_r.
+ *     It is zero if d_getnetbyname_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
+ *     is defined.
  */
 /*#define HAS_GETNETBYNAME_R      / **/
 #define GETNETBYNAME_R_PROTO 0    /**/
  */
 /* GETNETENT_R_PROTO:
  *     This symbol encodes the prototype of getnetent_r.
+ *     It is zero if d_getnetent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
+ *     is defined.
  */
 /*#define HAS_GETNETENT_R         / **/
 #define GETNETENT_R_PROTO 0       /**/
  */
 /* GETPROTOBYNAME_R_PROTO:
  *     This symbol encodes the prototype of getprotobyname_r.
+ *     It is zero if d_getprotobyname_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
+ *     is defined.
  */
 /*#define HAS_GETPROTOBYNAME_R    / **/
 #define GETPROTOBYNAME_R_PROTO 0          /**/
  */
 /* GETPROTOBYNUMBER_R_PROTO:
  *     This symbol encodes the prototype of getprotobynumber_r.
+ *     It is zero if d_getprotobynumber_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
+ *     is defined.
  */
 /*#define HAS_GETPROTOBYNUMBER_R          / **/
 #define GETPROTOBYNUMBER_R_PROTO 0        /**/
  */
 /* GETPROTOENT_R_PROTO:
  *     This symbol encodes the prototype of getprotoent_r.
+ *     It is zero if d_getprotoent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
+ *     is defined.
  */
 /*#define HAS_GETPROTOENT_R       / **/
 #define GETPROTOENT_R_PROTO 0     /**/
  */
 /* GETSERVBYNAME_R_PROTO:
  *     This symbol encodes the prototype of getservbyname_r.
+ *     It is zero if d_getservbyname_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
+ *     is defined.
  */
 /*#define HAS_GETSERVBYNAME_R     / **/
 #define GETSERVBYNAME_R_PROTO 0           /**/
  */
 /* GETSERVBYPORT_R_PROTO:
  *     This symbol encodes the prototype of getservbyport_r.
+ *     It is zero if d_getservbyport_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
+ *     is defined.
  */
 /*#define HAS_GETSERVBYPORT_R     / **/
 #define GETSERVBYPORT_R_PROTO 0           /**/
  */
 /* GETSERVENT_R_PROTO:
  *     This symbol encodes the prototype of getservent_r.
+ *     It is zero if d_getservent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
+ *     is defined.
  */
 /*#define HAS_GETSERVENT_R        / **/
 #define GETSERVENT_R_PROTO 0      /**/
  */
 /* READDIR64_R_PROTO:
  *     This symbol encodes the prototype of readdir64_r.
+ *     It is zero if d_readdir64_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
+ *     is defined.
  */
 /*#define HAS_READDIR64_R         / **/
 #define READDIR64_R_PROTO 0       /**/
  */
 /* SETHOSTENT_R_PROTO:
  *     This symbol encodes the prototype of sethostent_r.
+ *     It is zero if d_sethostent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
+ *     is defined.
  */
 /*#define HAS_SETHOSTENT_R        / **/
 #define SETHOSTENT_R_PROTO 0      /**/
  */
 /* SETLOCALE_R_PROTO:
  *     This symbol encodes the prototype of setlocale_r.
+ *     It is zero if d_setlocale_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
+ *     is defined.
  */
 /*#define HAS_SETLOCALE_R         / **/
 #define SETLOCALE_R_PROTO 0       /**/
  */
 /* SETNETENT_R_PROTO:
  *     This symbol encodes the prototype of setnetent_r.
+ *     It is zero if d_setnetent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
+ *     is defined.
  */
 /*#define HAS_SETNETENT_R         / **/
 #define SETNETENT_R_PROTO 0       /**/
  */
 /* SETPROTOENT_R_PROTO:
  *     This symbol encodes the prototype of setprotoent_r.
+ *     It is zero if d_setprotoent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
+ *     is defined.
  */
 /*#define HAS_SETPROTOENT_R       / **/
 #define SETPROTOENT_R_PROTO 0     /**/
  */
 /* SETSERVENT_R_PROTO:
  *     This symbol encodes the prototype of setservent_r.
+ *     It is zero if d_setservent_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
+ *     is defined.
  */
 /*#define HAS_SETSERVENT_R        / **/
 #define SETSERVENT_R_PROTO 0      /**/
  */
 /* TTYNAME_R_PROTO:
  *     This symbol encodes the prototype of ttyname_r.
+ *     It is zero if d_ttyname_r is undef, and one of the
+ *     REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+ *     is defined.
  */
 /*#define HAS_TTYNAME_R           / **/
 #define TTYNAME_R_PROTO 0         /**/