defining uint64_t, etc., during configure

Igor Sysoev igor at sysoev.ru
Tue Apr 27 22:35:04 MSD 2010


On Tue, Apr 27, 2010 at 01:57:32PM -0400, Brian Lewis wrote:

> On Tuesday, 27.04.10 at 21:50, Igor Sysoev wrote:
> > On Mon, Apr 26, 2010 at 10:08:59AM -0400, Brian Lewis wrote:
> > > A system where I'm trying to build nginx doesn't define a few types
> > > it needs like uint64_t, uint32_t, uintptr_t, etc., anywhere in
> > > /usr/include. What is the proper way to define these missing types
> > > for nginx's configure?
> >
> > It seems there is no way currently to make it right.
> > What is your system ?
> 
> The 'uname -a's are
> 
> SCO_SV sco5 3.2 5.0.6 i386
> SCO_SV sco6 5 6.0.0 i386

Try the attached patch. It should show found replacements and fail on
uintptr_t. Could you show the new ./configure output from

checking for int size ... 4 bytes
to
checking for uintptr_t ...

?


-- 
Igor Sysoev
http://sysoev.ru/en/
-------------- next part --------------
Index: auto/unix
===================================================================
--- auto/unix	(revision 2825)
+++ auto/unix	(working copy)
@@ -30,17 +30,22 @@
     ;;
 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="int32_t"; ngx_types="int"; . auto/types/typedef
+ngx_type="uint32_t"; ngx_types="u_int32_t:unsigned int"; . 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
 
 ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef
 
-ngx_type="in_addr_t"; ngx_types="uint32_t"; . auto/types/typedef
+ngx_type="in_addr_t"; ngx_types="uint32_t:unsigned int"; . auto/types/typedef
 
-ngx_type="in_port_t"; ngx_types="u_short"; . auto/types/typedef
+ngx_type="in_port_t"; ngx_types="u_short:unsigned short"; . auto/types/typedef
 
 ngx_type="rlim_t"; ngx_types="int"; . auto/types/typedef
 
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
@@ -74,3 +76,5 @@
 if [ $ngx_found != yes ]; then
     echo "typedef $ngx_found  $ngx_type;"   >> $NGX_AUTO_CONFIG_H
 fi
+
+IFS=$ngx_ifs


More information about the nginx mailing list