This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Further tiny bcopy cleanup
[perl5.git] / vos / config.ga.h
index 5d0680e..7529d70 100644 (file)
  */
 /*#define HAS_DLERROR  /**/
 
-/* 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.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-#define SETUID_SCRIPTS_ARE_SECURE_NOW  /**/
-/*#define DOSUID               /**/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 #define I_VALUES               /**/
 
-/* I_STDARG:
- *     This symbol, if defined, indicates that <stdarg.h> exists and should
- *     be included.
- */
-/* I_VARARGS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <varargs.h>.
- */
-#define I_STDARG               /**/
-/*#define I_VARARGS    /**/
-
 /* I_VFORK:
  *     This symbol, if defined, indicates to the C program that it should
  *     include vfork.h.
  */
 #define SH_PATH "/system/gnu_library/bin/bash.pm"  /**/
 
-/* 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.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
  *     so the default case (for NeXT) is big endian to catch them. 
  *     This might matter for NeXT 3.0.
  */
-#if defined(CROSSCOMPILE) || defined(MULTIARCH)
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
  */
 #define HAS_ENDSERVENT         /**/
 
+/* HAS_FCHDIR:
+ *     This symbol, if defined, indicates that the fchdir routine is
+ *     available to change directory using a file descriptor.
+ */
+/*#define HAS_FCHDIR           /**/
+
 /* FCNTL_CAN_LOCK:
  *     This symbol, if defined, indicates that fcntl() can be used
  *     for file locking.  Normally on Unix systems this is defined.
  *     available to split a long double x into a fractional part f and
  *     an integer part i such that |f| < 1.0 and (f + i) = x.
  */
+/* HAS_MODFL_POW32_BUG:
+ *     This symbol, if defined, indicates that the modfl routine is
+ *     broken for long doubles >= pow(2, 32).
+ *     For example from 4294967303.150000 one would get 4294967302.000000
+ *     and 1.150000.  The bug has been seen in certain versions of glibc,
+ *     release 2.2.2 is known to be okay.
+ */
 /*#define HAS_MODFL            /**/
+/*#define HAS_MODFL_POW32_BUG          /**/
 
 /* HAS_MPROTECT:
  *     This symbol, if defined, indicates that the mprotect system call is
 
 /* HAS_SAFE_BCOPY:
  *     This symbol, if defined, indicates that the bcopy routine is available
- *     to copy potentially overlapping memory blocks. Otherwise you should
+ *     to copy potentially overlapping memory blocks. Normally, you should
  *     probably use memmove() or memcpy(). If neither is defined, roll your
  *     own version.
  */
 
 /* HAS_SAFE_MEMCPY:
  *     This symbol, if defined, indicates that the memcpy routine is available
- *     to copy potentially overlapping memory blocks. Otherwise you should
- *     probably use memmove() or memcpy(). If neither is defined, roll your
- *     own version.
+ *     to copy potentially overlapping memory blocks.  If you need to
+ *     copy overlapping memory blocks, you should check HAS_MEMMOVE and
+ *     use memmove() instead, if available.
  */
 /*#define HAS_SAFE_MEMCPY      /**/
 
  *     This symbol, if defined, indicates that Perl should
  *     be built to use the old draft POSIX threads API.
  */
+/* USE_REENTRANT_API:
+ *     This symbol, if defined, indicates that Perl should
+ *     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       /**/
 
 /* PERL_VENDORARCH:
  *     If defined, this symbol contains the name of a private library.
 #define PERL_XS_APIVERSION "5.00563"
 #define PERL_PM_APIVERSION "5.005"
 
+/* 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.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+#define SETUID_SCRIPTS_ARE_SECURE_NOW  /**/
+/*#define DOSUID               /**/
+
+/* I_STDARG:
+ *     This symbol, if defined, indicates that <stdarg.h> exists and should
+ *     be included.
+ */
+/* I_VARARGS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <varargs.h>.
+ */
+#define I_STDARG               /**/
+/*#define I_VARARGS    /**/
+
+/* 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 "undef" /**/
+#endif
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
  */
 /*#define      HAS_FLOCK_PROTO /**/
 
-/* HAS_REALPATH:
- *     This symbol, if defined, indicates that the realpath routine is
- *     available to do resolve paths.
- */
-/*#define HAS_REALPATH         /**/
-
 /* HAS_SIGPROCMASK:
  *     This symbol, if defined, indicates that the sigprocmask
  *     system call is available to examine or change the signal mask