defining uint64_t, etc., during configure

Igor Sysoev igor at sysoev.ru
Thu Apr 29 00:01:03 MSD 2010


On Wed, Apr 28, 2010 at 11:51:53PM +0400, Igor Sysoev wrote:

> On Wed, Apr 28, 2010 at 03:42:45PM -0400, Brian Lewis wrote:
> 
> > On Wednesday, 28.04.10 at 23:18, Igor Sysoev wrote:
> > > It seems <sys/bitypes.h> is the right way to use int32_t, etc. on SCO.
> > > Could you try the attached patch ?
> > 
> > Thank you for the patch.
> > 
> > checking for uint64_t ... uint64_t not found u_int64_t not found
> > ./configure: error: can not define uint64_t
> > 
> > <sys/bitypes.h> defines int32_t and u_int32_t, but I don't see any
> > definitions for int64_t or u_int64_t anywhere in /usr/include.
> 
> Well, here is a new patch.

Sorry, this patch is wrong. Here is a new one.


-- 
Igor Sysoev
http://sysoev.ru/en/
-------------- next part --------------
Index: src/os/unix/ngx_posix_config.h
===================================================================
--- src/os/unix/ngx_posix_config.h	(revision 2825)
+++ src/os/unix/ngx_posix_config.h	(working copy)
@@ -33,6 +33,9 @@
 #if (NGX_HAVE_INTTYPES_H)
 #include <inttypes.h>
 #endif
+#if (NGX_HAVE_BITYPES_H)
+#include <sys/bitypes.h>
+#endif
 #include <stdarg.h>
 #include <stddef.h>             /* offsetof() */
 #include <stdio.h>
Index: auto/unix
===================================================================
--- auto/unix	(revision 2825)
+++ auto/unix	(working copy)
@@ -30,8 +30,11 @@
     ;;
 esac
 
-ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef
+ngx_type="int64_t"; ngx_types="long long"; . auto/types/typedef
 
+ngx_type="uint64_t"; ngx_types="u_int64_t:unsigned long long"
+. auto/types/typedef
+
 ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef
 . auto/types/sizeof
 ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
Index: auto/types/sizeof
===================================================================
--- auto/types/sizeof	(revision 2825)
+++ auto/types/sizeof	(working copy)
@@ -21,6 +21,7 @@
 #include <signal.h>
 #include <sys/resource.h>
 $NGX_INCLUDE_INTTYPES_H
+$NGX_INCLUDE_SYS_BITYPES_H
 $NGX_INCLUDE_AUTO_CONFIG_H
 
 int main() {
Index: auto/types/typedef
===================================================================
--- auto/types/typedef	(revision 2825)
+++ auto/types/typedef	(working copy)
@@ -12,6 +12,8 @@
 END
 
 ngx_found=no
+ngx_ifs=$IFS
+IFS=:
 
 for ngx_try in $ngx_type $ngx_types
 do
@@ -25,6 +27,7 @@
 #include <sys/resource.h>
 #include <netinet/in.h>
 $NGX_INCLUDE_INTTYPES_H
+$NGX_INCLUDE_SYS_BITYPES_H
 
 int main() {
     $ngx_try i = 0;
@@ -74,3 +77,5 @@
 if [ $ngx_found != yes ]; then
     echo "typedef $ngx_found  $ngx_type;"   >> $NGX_AUTO_CONFIG_H
 fi
+
+IFS=$ngx_ifs
Index: auto/headers
===================================================================
--- auto/headers	(revision 2825)
+++ auto/headers	(working copy)
@@ -9,4 +9,5 @@
 ngx_include="sys/param.h";   . auto/include
 ngx_include="sys/mount.h";   . auto/include
 ngx_include="sys/statvfs.h"; . auto/include
+ngx_include="sys/bitypes.h"; . auto/include
 ngx_include="crypt.h";       . auto/include


More information about the nginx mailing list