LWP and SIG __DIE__ traps not playing well together!
[p5sagit/p5-mst-13.2.git] / vms / config.vms
index b9e51c7..cba3361 100644 (file)
@@ -8,10 +8,10 @@
  * GenConfig.pl when producing Config.pm.
  *
  * config.h for VMS
- * Version: 5.002_01
+ * Version: 5.004
  */                 
 
-/* Configuration time: 22-Mar-1996 14:45
+/* Configuration time: 19-Nov-1996 23:34
  * Configured by: Charles Bailey  bailey@genetics.upenn.edu
  * Target system: VMS
  */
  * when Perl is built.  Please do not change it by hand; make
  * any changes to FndVers.Com instead.
  */
-#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_00305"  /**/
+#define ARCHLIB_EXP "/perl_root/lib/VMS_VAX/5_004"     /**/
 #define ARCHLIB ARCHLIB_EXP    /*config-skip*/
 
+/* ARCHNAME:
+ *     This symbol holds a string representing the architecture name.
+ *     It may be used to construct an architecture-dependant pathname
+ *     where library files may be held under a private library, for
+ *     instance.
+ */
+#define ARCHNAME "VMS_VAX"  /**/
+
+/* BINCOMPAT3:
+ *     This symbol, if defined, indicates that Perl 5.004 should be
+ *     binary-compatible with Perl 5.003.
+ */
+#undef BINCOMPAT3
+
 /* CPPSTDIN:
  *     This symbol contains the first part of the string which will invoke
  *     the C preprocessor on the standard input and produce to standard
  */
 #undef HAS_BCMP        /**/
 
+#include <string.h> /* Check whether new DECC has #defined bcopy and bzero */
 /* HAS_BCOPY:
  *     This symbol is defined if the bcopy() routine is available to
  *     copy blocks of memory.
  */
 #undef HAS_BCOPY       /**/
+#ifdef bcopy
+#  define HAS_BCOPY            /*config-skip*/
+#endif
 
 /* HAS_BZERO:
  *     This symbol is defined if the bzero() routine is available to
  *     set a memory block to 0.
  */
 #undef HAS_BZERO       /**/
+#ifdef bzero
+#  define HAS_BZERO            /*config-skip*/
+#endif
 
 /* CASTNEGFLOAT:
  *     This symbol is defined if the C compiler can cast negative
  */
 #define HAS_FSETPOS    /**/
 
+/* HAS_GETTIMEOFDAY:
+ *     This symbol, if defined, indicates that the gettimeofday() system
+ *     call is available for a sub-second accuracy clock. Usually, the file
+ *     <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
+ *     The type "Timeval" should be used to refer to "struct timeval".    
+ */
+#undef HAS_GETTIMEOFDAY /**/
+#ifdef HAS_GETTIMEOFDAY
+#  define Timeval struct timeval /*config-skip*/
+#endif
+
 /* HAS_GETGROUPS:
  *     This symbol, if defined, indicates that the getgroups() routine is
  *     available to get the list of process groups.  If unavailable, multiple
  *     groups are probably not supported.
  */
+/* HAS_SETGROUPS:
+ *     This symbol, if defined, indicates that the setgroups() routine is
+ *     available to set the list of process groups.  If unavailable, multiple
+ *     groups are probably not supported.
+ */
 #undef HAS_GETGROUPS           /**/
+#undef HAS_SETGROUPS           /**/
 
 /* HAS_UNAME:
  *     This symbol, if defined, indicates that the C program may use the
  *     This symbol, if defined, indicates that the mbstowcs routine is
  *     available to covert a multibyte string into a wide character string.
  */
-#undef HAS_MBSTOWCS            /**/
+#ifdef __DECC
+#  define      HAS_MBSTOWCS            /*config-skip*/
+#else
+#  undef       HAS_MBSTOWCS            /*config-skip*/
+#endif
 
 /* HAS_MBTOWC:
  *     This symbol, if defined, indicates that the mbtowc routine is available
  *     to covert a multibyte to a wide character.
  */
-#undef HAS_MBTOWC              /**/
+#ifdef __DECC
+#  define HAS_MBTOWC           /*config-skip*/
+#else
+#  undef HAS_MBTOWC            /*config-skip*/
+#endif
 
 /* HAS_MEMCMP:
  *     This symbol, if defined, indicates that the memcmp routine is available
  */
 #undef HAS_SETEUID             /**/
 
-/* HAS_SETLOCALE:
- *     This symbol, if defined, indicates that the setlocale routine is
- *     available to handle locale-specific ctype implementations.
- */
-#undef HAS_SETLOCALE   /**/
 
 /* HAS_SETPRIORITY:
  *     This symbol, if defined, indicates that the setpriority routine is
 #  define FILE_cnt(fp) ((*fp)->_cnt)
 #endif
 
-/* FILE_filbuf:
- *     This macro is used to access the internal stdio _filbuf function
- *     (or equivalent), if STDIO_CNT_LVALUE and STDIO_PTR_LVALUE
- *     are defined.  It is typically either _filbuf or __filbuf.
- *     This macro will only be defined if both STDIO_CNT_LVALUE and
- *     STDIO_PTR_LVALUE are defined.
- */
-#define FILE_filbuf(fp) do { register int c; if ((c = fgetc(fp)) != EOF) \
-                             ungetc(c,(fp)); } while (0);
-
 /* FILE_base:
  *     This macro is used to access the _base field (or equivalent) of the
  *     FILE structure pointed to by its argument. This macro will always be
  *     This symbol, if defined, indicates that the wcstombs routine is
  *     available to convert wide character strings to multibyte strings.
  */
-#undef HAS_WCSTOMBS    /**/
+#ifdef __DECC
+#  define HAS_WCSTOMBS /*config-skip*/
+#else
+#  undef HAS_WCSTOMBS  /*config-skip*/
+#endif
 
 /* I_DIRENT:
  *     This symbol, if defined, indicates to the C program that it should
  *     is defined, and 'int *' otherwise.  This is only useful if you 
  *     have select(), of course.
  */
-#define Select_fd_set_t        int *   /**/
+#if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 50200000)
+#define Select_fd_set_t                fd_set *        /* config-skip */
+#else
+#define Select_fd_set_t                int *           /**/
+#endif
 
 /* STDCHAR:
  *     This symbol is defined to be the type of char used in stdio.h.
  *     This symbol holds the path of the bin directory where the package will
  *     be installed. Program must be prepared to deal with ~name substitution.
  */
+/* BIN_EXP:
+ *     This symbol is the filename expanded version of the BIN symbol, for
+ *     programs that do not want to deal with that at run-time.
+ */
 #define BIN "/perl_root/000000"        /**/
+#define BIN_EXP "/perl_root/000000"    /**/
 
 /* HAS_ALARM:
  *     This symbol, if defined, indicates that the alarm routine is
  *     This symbol, if defined, indicates that the mblen routine is available
  *     to find the number of bytes in a multibye character.
  */
-#undef HAS_MBLEN               /**/
+#ifdef __DECC
+#  define HAS_MBLEN            /*config-skip*/
+#else
+#  undef HAS_MBLEN             /*config-skip*/
+#endif
 
 /* HAS_MKTIME:
  *     This symbol, if defined, indicates that the mktime routine is
  *     available.
  */
-#undef HAS_MKTIME              /**/
+#ifdef __DECC
+#  define HAS_MKTIME           /*config-skip*/
+#else
+#  undef HAS_MKTIME            /*config-skip*/
+#endif
 
 /* HAS_NICE:
  *     This symbol, if defined, indicates that the nice routine is
  *     This symbol, if defined, indicates that the strcoll routine is
  *     available to compare strings using collating information.
  */
-#undef HAS_STRCOLL     /**/
+#ifdef __DECC
+#  define HAS_STRCOLL  /*config-skip*/
+#else
+#  undef HAS_STRCOLL   /*config-skip*/
+#endif
+
+/* HAS_STRTOD:
+ *     This symbol, if defined, indicates that the strtod routine is
+ *     available to provide better numeric string conversion than atof().
+ */
+#define HAS_STRTOD     /**/
+
+/* HAS_STRTOL:
+ *     This symbol, if defined, indicates that the strtol routine is available
+ *     to provide better numeric string conversion than atoi() and friends.
+ */
+#define HAS_STRTOL     /**/
+
+/* HAS_STRTOUL:
+ *     This symbol, if defined, indicates that the strtoul routine is
+ *     available to provide conversion of strings to unsigned long.
+ */
+#define HAS_STRTOUL    /**/
 
 /* HAS_STRXFRM:
  *     This symbol, if defined, indicates that the strxfrm() routine is
  *     available to compare strings using collating information.
  */
-#undef HAS_STRXFRM     /**/
+#ifdef __DECC
+#  define HAS_STRXFRM  /*config-skip*/
+#else
+#  undef HAS_STRXFRM   /*config-skip*/
+#endif
 
 /* HAS_TCGETPGRP:
  *     This symbol, if defined, indicates that the tcgetpgrp routine is
  *     This symbol, if defined, indicates that the wctomb routine is available
  *     to covert a wide character to a multibyte.
  */
-#undef HAS_WCTOMB              /**/
+#ifdef __DECC
+#  define HAS_WCTOMB           /*config-skip*/
+#else
+#  undef HAS_WCTOMB            /*config-skip*/
+#endif
 
 /* Fpos_t:
  *     This symbol holds the type used to declare file positions in libc.
  */
 #define I_MATH         /**/
 
-/* I_LOCALE:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <locale.h>.
- */
-#undef I_LOCALE                /**/
-
 /* INTSIZE:
  *     This symbol contains the size of an 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 4             /**/
+#define SHORTSIZE 2            /**/
 
 /* Off_t:
  *     This symbol holds the type used to declare offsets in the kernel.
 #define SITEARCH_EXP "/perl_root/lib/site_perl/VMS_VAX"  /**/
 #define SITEARCH SITEARCH_EXP  /*config-skip*/
 
-/* SCRIPTDIR:
- *     This symbol holds the name of the directory in which the user wants
- *     to put publicly executable scripts for the package in question.  It
- *     is often a directory that is mounted across diverse architectures.
- *     Programs must be prepared to deal with ~name expansion.
- */
-#define SCRIPTDIR "/perl_root/script"  /**/
-
 /* Size_t:
  *     This symbol holds the type used to declare length parameters
  *     for string functions.  It is usually size_t, but may be
 #undef SETUID_SCRIPTS_ARE_SECURE_NOW   /**/
 #undef DOSUID          /**/
 
+/* HAS_INET_ATON:
+ *     This symbol, if defined, indicates to the C program that the
+ *     inet_aton() function is available to parse IP address "dotted-quad"
+ *     strings.
+ *     VMS: SocketShr doesn't support this, so we let the Socket extension
+ *     roll its own.
+ */
+#undef HAS_INET_ATON           /**/
+
 /* HAS_ISASCII:
  *     This manifest constant lets the C program know that the
  *     isascii is available.
  */
 #define HAS_ISASCII            /**/
 
+/* HAS_SETLOCALE:
+ *     This symbol, if defined, indicates that the setlocale routine is
+ *     available to handle locale-specific ctype implementations.
+ */
+/* I_LOCALE:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <locale.h>.
+ */
 /* HAS_LOCALECONV:
  *     This symbol, if defined, indicates that the localeconv routine is
  *     available for numeric and monetary formatting conventions.
  */
-#undef HAS_LOCALECONV  /**/
+#ifdef __DECC
+#  define      I_LOCALE                /*config-skip*/
+#  define HAS_SETLOCALE        /*config-skip*/
+#  define HAS_LOCALECONV       /*config-skip*/
+#else
+#  undef       I_LOCALE                /*config-skip*/
+#  undef HAS_SETLOCALE /*config-skip*/
+#  undef HAS_LOCALECONV        /*config-skip*/
+#endif
 
 /* HAS_MKFIFO:
  *     This symbol, if defined, indicates that the mkfifo routine is
  */
 #define HAS_SAFE_MEMCPY        /**/
 
+/* HAS_SANE_MEMCMP:
+ *     This symbol, if defined, indicates that the memcmp routine is available
+ *     and can be used to compare relative magnitudes of chars with their high
+ *     bits set.  If it is not defined, roll your own version.
+ */
+#define HAS_SANE_MEMCMP        /**/
+
 /* HAS_SETPGRP:
  *     This symbol, if defined, indicates that the setpgrp routine is
  *     available to set the current process group.
 
 /* Groups_t:
  *     This symbol holds the type used for the second argument to
- *     getgroups().  Usually, this is the same of gidtype, but
+ *     [gs]etgroups().  Usually, this is the same of gidtype, but
  *     sometimes it isn't.  It can be int, ushort, uid_t, etc... 
  *     It may be necessary to include <sys/types.h> to get any 
  *     typedef'ed information.  This is only required if you have
- *     getgroups().
+ *     getgroups() or setgroups.
  */
-#ifdef HAS_GETGROUPS
-#define Groups_t unsigned int  /* Type for 2nd arg to getgroups() */  /* config-skip */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t unsigned int  /* config-skip */
 #endif
 
 /* DB_Prefix_t: