better variant of change#4644 (from Andy Dougherty)
[p5sagit/p5-mst-13.2.git] / config_h.SH
index 8e7115d..7e0f25a 100644 (file)
@@ -1000,25 +1000,19 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 
 /* HAS_QUAD:
  *     This symbol, if defined, tells that there's a 64-bit integer type,
- *     Quad_t.
- */
-/* Quad_t:
- *     This symbol holds the type used for 64-bit integers.
- *     It can be int, long, long long, int64_t etc...
- */
-/* QUADCASE:
- *     This symbol, if defined, encodes the type of a quad:
- *     1 = int, 2 = long, 3 = long long, 4 = int64_t.
- */
-/* 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...
+ *     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.
  */
 #$d_quad HAS_QUAD      /**/
-#$d_quad Quad_t $quadtype      /**/
-#$d_quad Uquad_t $uquadtype    /**/
-#$d_quad QUADCASE $quadcase    /**/
+#ifdef HAS_QUAD
+#   define Quad_t $quadtype    /**/
+#   define Uquad_t $uquadtype  /**/
+#   define QUADKIND $quadkind  /**/
+#   define QUAD_IS_INT 1
+#   define QUAD_IS_LONG        2
+#   define QUAD_IS_LONG_LONG   3
+#   define QUAD_IS_INT64_T     4
+#endif
 
 /* HAS_ACCESSX:
  *     This symbol, if defined, indicates that the accessx routine is
@@ -2220,6 +2214,13 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_hasmntopt HAS_HASMNTOPT            /**/
 
+/* HAS_INT64_T:
+ *     This symbol will defined if the C compiler supports int64_t.
+ *     Usually the <inttypes.h> needs to be included, but sometimes
+ *     <sys/types.h> is enough.
+ */
+#$d_int64t     HAS_INT64_T               /**/
+
 /* HAS_LDBL_DIG:
  *     This symbol, if defined, indicates that this system's <float.h>
  *     or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -2320,13 +2321,7 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  *     This symbol, if defined, indicates to the C program that it should
  *     include <inttypes.h>.
  */
-/* HAS_INT64_T:
- *     This symbol will defined if the C compiler supports int64_t.
- *     Usually the <inttypes.h> needs to be included, but sometimes
- *     <sys/types.h> is enough.
- */
 #$i_inttypes   I_INTTYPES                /**/
-#$d_int64t     HAS_INT64_T               /**/
 
 /* I_MNTENT:
  *     This symbol, if defined, indicates that <mntent.h> exists and
@@ -2470,9 +2465,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 /* U64SIZE:
  *     This symbol contains the sizeof(U64).
  */
-/* NVSIZE:
- *     This symbol contains the sizeof(NV).
- */
 #define        IVTYPE          $ivtype         /**/
 #define        UVTYPE          $uvtype         /**/
 #define        I8TYPE          $i8type         /**/
@@ -2498,7 +2490,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #define        I64SIZE         $i64size        /**/
 #define        U64SIZE         $u64size        /**/
 #endif
-#define        NVSIZE          $nvsize         /**/
 
 /* IVdf:
  *     This symbol defines the format string used for printing a Perl IV
@@ -2555,8 +2546,8 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #$d_strtoull 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
@@ -2809,6 +2800,11 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define        Gid_t_f         $gidformat              /**/
 
+/* Gid_t_size:
+ *     This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size $gidsize            /* GID size */
+
 /* Gid_t:
  *     This symbol holds the return type of getgid() and the type of
  *     argument to setrgid() and related functions.  Typically,
@@ -2826,8 +2822,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 /* LSEEKSIZE:
  *     This symbol holds the number of bytes used by the Off_t.
  */
+/* Off_t_size:
+ *     This symbol holds the number of bytes used by the Off_t.
+ */
 #define Off_t $lseektype               /* <offset> type */
 #define LSEEKSIZE $lseeksize           /* <offset> size */
+#define Off_t_size $lseeksize  /* <offset> size */
 
 /* Mode_t:
  *     This symbol holds the type used to declare file modes 
@@ -2857,6 +2857,11 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #define        Uid_t_f         $uidformat              /**/
 
+/* Uid_t_size:
+ *     This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size $uidsize            /* UID size */
+
 /* Uid_t:
  *     This symbol holds the type used to declare user ids in the kernel.
  *     It can be int, ushort, uid_t, etc... It may be necessary to include