#define OSVERS "$osvers" /**/
/* CAT2:
- * This macro catenates 2 tokens together.
+ * This macro concatenates 2 tokens together.
*/
/* STRINGIFY:
* This macro surrounds its token with double quotes.
#define STRINGIFY(a) PeRl_StGiFy(a)
#endif
#if $cpp_stuff != 1 && $cpp_stuff != 42
-# include "Bletch: How does this C preprocessor catenate tokens?"
+# include "Bletch: How does this C preprocessor concatenate tokens?"
#endif
/* CPPSTDIN:
* etc., where nn is the actual signal number (e.g. NUM37).
* The signal number for sig_name[i] is stored in sig_num[i].
* The last element is 0 to terminate the list with a NULL. This
- * corresponds to the 0 at the end of the sig_num list.
+ * corresponds to the 0 at the end of the sig_name_init list.
+ * Note that this variable is initialized from the sig_name_init,
+ * not from sig_name (which is unused).
*/
/* SIG_NUM:
* This symbol contains a list of signal numbers, in the same order as the
* The signal number corresponding to sig_name[i] is sig_number[i].
* if (i < NSIG) then sig_number[i] == i.
* The last element is 0, corresponding to the 0 at the end of
- * the sig_name list.
+ * the sig_name_init list.
+ * Note that this variable is initialized from the sig_num_init,
+ * not from sig_num (which is unused).
*/
/* SIG_SIZE:
- * This variable contains the number of elements of the sig_name
- * and sig_num arrays, excluding the final NULL entry.
+ * This variable contains the number of elements of the SIG_NAME
+ * and SIG_NUM arrays, excluding the final NULL entry.
*/
#define SIG_NAME $sig_name_init /**/
#define SIG_NUM $sig_num_init /**/
*/
#$d__fwalk HAS__FWALK /**/
+/* HAS_AINTL:
+ * This symbol, if defined, indicates that the aintl routine is
+ * available. If copysignl is also present we can emulate modfl.
+ */
+#$d_aintl HAS_AINTL /**/
+
/* HAS_CLASS:
* This symbol, if defined, indicates that the class routine is
* available to classify doubles. Available for example in AIX.
*/
#$d_cmsghdr_s HAS_STRUCT_CMSGHDR /**/
+/* HAS_COPYSIGNL:
+ * This symbol, if defined, indicates that the copysignl routine is
+ * available. If aintl is also present we can emulate modfl.
+ */
+#$d_copysignl HAS_COPYSIGNL /**/
+
/* HAS_DBMINIT_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the dbminit() function. Otherwise, it is up
*/
#$d_dlsymun DLSYM_NEEDS_UNDERSCORE /**/
+/* HAS_FAST_STDIO:
+ * This symbol, if defined, indicates that the "fast stdio"
+ * is available to manipulate the stdio buffers directly.
+ */
+#$d_faststdio HAS_FAST_STDIO /**/
+
/* HAS_FCHDIR:
* This symbol, if defined, indicates that the fchdir routine is
* available to change directory using a file descriptor.
*/
#$d_hasmntopt HAS_HASMNTOPT /**/
+/* HAS_ILOGBL:
+ * This symbol, if defined, indicates that the ilogbl routine is
+ * available. If scalbnl is also present we can emulate frexpl.
+ */
+#$d_ilogbl HAS_ILOGBL /**/
+
/* HAS_INT64_T:
* This symbol will defined if the C compiler supports int64_t.
* Usually the <inttypes.h> needs to be included, but sometimes
*/
#$d_msghdr_s HAS_STRUCT_MSGHDR /**/
-/* HAS_NANOSLEEP:
- * This symbol, if defined, indicates that the nanosleep
- * system call is available to sleep with 1E-9 sec accuracy.
- */
-#$d_nanosleep HAS_NANOSLEEP /**/
-
/* HAS_NL_LANGINFO:
* This symbol, if defined, indicates that the nl_langinfo routine is
* available to return local data. You will also need <langinfo.h>
#define PROCSELFEXE_PATH $procselfexe /**/
#endif
+/* HAS_PTHREAD_ATTR_SETSCOPE:
+ * This symbol, if defined, indicates that the pthread_attr_setscope
+ * system call is available to set the contention scope attribute of
+ * a thread attribute object.
+ */
+#$d_pthread_attr_setscope HAS_PTHREAD_ATTR_SETSCOPE /**/
+
/* HAS_READV:
* This symbol, if defined, indicates that the readv routine is
* available to do gather reads. You will also need <sys/uio.h>
*/
#$d_sbrkproto HAS_SBRK_PROTO /**/
+/* HAS_SCALBNL:
+ * This symbol, if defined, indicates that the scalbnl routine is
+ * available. If ilogbl is also present we can emulate frexpl.
+ */
+#$d_scalbnl HAS_SCALBNL /**/
+
/* HAS_SENDMSG:
* This symbol, if defined, indicates that the sendmsg routine is
* available to send structured socket messages.
#define NVSIZE $nvsize /**/
#$d_nv_preserves_uv NV_PRESERVES_UV
#define NV_PRESERVES_UV_BITS $nv_preserves_uv_bits
+#if UVSIZE == 8
+# ifdef BYTEORDER
+# if BYTEORDER == 0x1234
+# undef BYTEORDER
+# define BYTEORDER 0x12345678
+# else
+# if BYTEORDER == 0x4321
+# undef BYTEORDER
+# define BYTEORDER 0x87654321
+# endif
+# endif
+# endif
+#endif
/* IVdf:
* This symbol defines the format string used for printing a Perl IV
#$use64bitall USE_64_BIT_ALL /**/
#endif
+/* USE_FAST_STDIO:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use 'fast stdio'.
+ * Defaults to define in Perls 5.8 and earlier, to undef later.
+ */
+#ifndef USE_FAST_STDIO
+#$usefaststdio USE_FAST_STDIO /**/
+#endif
+
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
* should be used when available.
/* HAS_PTHREAD_ATFORK:
* This symbol, if defined, indicates that the pthread_atfork routine
- * is available setup fork handlers.
+ * is available to setup fork handlers.
*/
#$d_pthread_atfork HAS_PTHREAD_ATFORK /**/