Here's an alternative, don't much mind which way we go with this.

It resolves a bigger issue, the APR_INT64_T_FMT of "????" :-)

This only affects test/testtime.c right now

Bill

----- Original Message ----- 
From: <[EMAIL PROTECTED]>
To: <dev@apr.apache.org>
Sent: Tuesday, April 03, 2001 2:56 PM
Subject: [PATCH] create INT64_C autoconf test


> After some fun with buildconf dependencies, I noticed a note from Dean
> about how we should really use INT64_C when it's available.  I've looked
> at autoconf before, but I don't claim expertise with it; it'd probably
> be good to have someone who knows autoconf review it.  It's lightly
> tested on linux and freebsd.
> 
> It'd be nice to insist that buildconf be run when needed.  This came up
> in particular for apr.h.in -- but when I took a look at it, I realized
> that it should be done for other files as well.  I'll look into doing
> that later ...
> 
> thanks --
> 
> Ed
> 
Index: configure.in
===================================================================
RCS file: /home/cvs/apr/configure.in,v
retrieving revision 1.275
diff -u -r1.275 configure.in
--- configure.in        2001/04/03 20:57:44     1.275
+++ configure.in        2001/04/03 22:54:22
@@ -584,20 +584,40 @@
 if test "$ac_cv_sizeof_int" = "4"; then
     int_value=int
 fi
+if test "$ac_cv_sizeof_int" = "8"; then
+    int64_literal='#define APR_INT64_C(val) (val)'
+    int64_t_fmt='#define APR_INT64_T_FMT "d"'
+    int64_value="int"
+fi
 if test "$ac_cv_sizeof_long" = "8"; then
+    int64_literal='#define APR_INT64_C(val) (val##L)'
+    int64_t_fmt='#define APR_INT64_T_FMT "ld"'
+    int64_value="long"
     long_value=long
 fi
 if test "$ac_cv_sizeof_long_double" = "8"; then
+    int64_literal='#define APR_INT64_C(val) (val##LD)'
+    int64_t_fmt='#define APR_INT64_T_FMT "Ld"'
+    int64_value="long double"
     long_value="long double"
 fi
 if test "$ac_cv_sizeof_long_long" = "8"; then
     if test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_long"; then
+        int64_literal='#define APR_INT64_C(val) (val##L)'
+        int64_t_fmt='#define APR_INT64_T_FMT "ld"'
+        int64_value="long"
         long_value="long"
     else
+        int64_literal='#define APR_INT64_C(val) (val##LL)'
+        int64_t_fmt='#define APR_INT64_T_FMT "qd"'
+        int64_value="long long"
         long_value="long long"
     fi
 fi
 if test "$ac_cv_sizeof_longlong" = "8"; then
+    int64_literal='#define APR_INT64_C(val) (val##LL)'
+    int64_t_fmt='#define APR_INT64_T_FMT "qd"'
+    int64_value="__int64"
     long_value="__int64"
 fi
 
Index: include/apr.h.in
===================================================================
RCS file: /home/cvs/apr/include/apr.h.in,v
retrieving revision 1.77
diff -u -r1.77 apr.h.in
--- include/apr.h.in    2001/04/03 01:09:49     1.77
+++ include/apr.h.in    2001/04/03 22:54:24
@@ -173,7 +173,7 @@
  * from stdint.h.  we'd probably be doing a Good Thing to check for
  * INT64_C in autoconf... or otherwise define an APR_INT64_C(). -dean
  */
-#define APR_INT64_C(val) (val##LL)
[EMAIL PROTECTED]@
 
 
 /* Definitions that APR programs need to work properly. */
@@ -238,6 +238,11 @@
 
 /* And APR_OS_PROC_T_FMT */
 @os_proc_t_fmt@
+
+/* And APR_INT64_T_FMT */
+
+#define APR_TIME_T_FMT          APR_INT64_T_FMT
+
 
 /* Local machine definition for console and log output. */
 #define APR_EOL_STR              "@eolstr@"

Reply via email to