blob: 183a5039e01b7067f89e8a864b0eeef70b53fc74 [file] [log] [blame]
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00001
2CC_WARN=$CC
Igor Sysoevdc867cd2003-12-14 20:10:27 +00003ngx_fmt_collect=yes
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00004
Igor Sysoevc0f8d912003-11-26 15:42:18 +00005# C types
6
Igor Sysoev48fef662004-02-24 17:31:46 +00007ngx_type="int"; . auto/types/sizeof
Igor Sysoevdc867cd2003-12-14 20:10:27 +00008ngx_formats="%d"; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00009
Igor Sysoev48fef662004-02-24 17:31:46 +000010ngx_type="long"; . auto/types/sizeof
Igor Sysoevdc867cd2003-12-14 20:10:27 +000011ngx_formats="%ld"; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000012
Igor Sysoev48fef662004-02-24 17:31:46 +000013ngx_type="long long"; . auto/types/sizeof
Igor Sysoevdc867cd2003-12-14 20:10:27 +000014ngx_formats="%lld %qd"; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000015
Igor Sysoevdc867cd2003-12-14 20:10:27 +000016ngx_type="void *"; . auto/types/sizeof; ngx_ptr_bytes=$ngx_bytes
Igor Sysoev48fef662004-02-24 17:31:46 +000017ngx_fmt_name=PTR_FMT;
18eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/ptrfmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000019
20
Igor Sysoev7af6b162004-02-09 07:46:43 +000021# POSIX types
Igor Sysoevc0f8d912003-11-26 15:42:18 +000022
Igor Sysoevdc867cd2003-12-14 20:10:27 +000023NGX_AUTO_CONFIG="#include \"../$NGX_AUTO_CONFIG_H\""
Igor Sysoevc0f8d912003-11-26 15:42:18 +000024
Igor Sysoevdc867cd2003-12-14 20:10:27 +000025ngx_type="uint64_t"
26ngx_types="u_int64_t"; . auto/types/typedef
Igor Sysoevc0f8d912003-11-26 15:42:18 +000027
Igor Sysoev6a930452004-03-04 16:34:23 +000028ngx_type="sig_atomic_t"
29ngx_types="int"; . auto/types/typedef
Igor Sysoev92602942004-02-05 16:58:36 +000030
Igor Sysoevdc867cd2003-12-14 20:10:27 +000031ngx_type="socklen_t"
32ngx_types="uint32_t"; . auto/types/typedef
Igor Sysoevc0f8d912003-11-26 15:42:18 +000033
Igor Sysoevdc867cd2003-12-14 20:10:27 +000034ngx_type="in_addr_t"
35ngx_types="uint32_t"; . auto/types/typedef
Igor Sysoevc0f8d912003-11-26 15:42:18 +000036
Igor Sysoevdc867cd2003-12-14 20:10:27 +000037ngx_type="rlim_t"
38ngx_types="int"; . auto/types/typedef
Igor Sysoevc0f8d912003-11-26 15:42:18 +000039
40. auto/types/uintptr_t
41
42
Igor Sysoev7af6b162004-02-09 07:46:43 +000043ngx_func="sin_len"
Igor Sysoevd09f7a12004-06-15 17:47:16 +000044ngx_func_inc="#include <sys/socket.h>
Igor Sysoev7af6b162004-02-09 07:46:43 +000045#include <netinet/in.h>"
46
47ngx_func_test="struct sockaddr_in sa; sa.sin_len = 5"
48. auto/func
49
50
Igor Sysoevc0f8d912003-11-26 15:42:18 +000051# printf() formats
52
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000053CC_WARN=$CC_STRONG
Igor Sysoevdc867cd2003-12-14 20:10:27 +000054ngx_fmt_collect=no
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000055
Igor Sysoevdc867cd2003-12-14 20:10:27 +000056ngx_fmt_name=OFF_T_FMT; ngx_type="off_t"; . auto/types/sizeof
57eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000058
Igor Sysoevdc867cd2003-12-14 20:10:27 +000059ngx_fmt_name=TIME_T_FMT; ngx_type="time_t"; . auto/types/sizeof
60eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000061
Igor Sysoevdc867cd2003-12-14 20:10:27 +000062ngx_fmt_name=SIZE_T_FMT; ngx_type="size_t"; . auto/types/sizeof
63eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000064
Igor Sysoevdc867cd2003-12-14 20:10:27 +000065ngx_fmt_name=SIZE_T_X_FMT; . auto/fmt/xfmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000066
Igor Sysoevdc867cd2003-12-14 20:10:27 +000067ngx_fmt_name=PID_T_FMT; ngx_type="pid_t"; . auto/types/sizeof
68eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000069
Igor Sysoevdc867cd2003-12-14 20:10:27 +000070ngx_fmt_name=RLIM_T_FMT; ngx_type="rlim_t"; . auto/types/sizeof
71eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000072
73
Igor Sysoevc0f8d912003-11-26 15:42:18 +000074# syscalls and libc calls
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000075
Igor Sysoevdc867cd2003-12-14 20:10:27 +000076ngx_func="pread()"
77ngx_func_inc=
Igor Sysoev7af6b162004-02-09 07:46:43 +000078ngx_func_test="char buf[1]; ssize_t n;
79 n = pread(0, buf, 1, 0)"
Igor Sysoevdc867cd2003-12-14 20:10:27 +000080. auto/func
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000081
82
Igor Sysoevdc867cd2003-12-14 20:10:27 +000083ngx_func="pwrite()"
84ngx_func_inc=
Igor Sysoev7af6b162004-02-09 07:46:43 +000085ngx_func_test="char buf[1]; ssize_t n;
86 n = pwrite(1, buf, 1, 0)"
Igor Sysoevdc867cd2003-12-14 20:10:27 +000087. auto/func
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000088
89
Igor Sysoev3c3ca172004-01-05 20:55:48 +000090#ngx_func="strsignal()"
91#ngx_func_inc="#include <string.h>"
92#ngx_func_test="char *s = strsignal(1)"
93#. auto/func
Igor Sysoeve89c4582003-12-19 08:15:11 +000094
95
Igor Sysoevdc867cd2003-12-14 20:10:27 +000096ngx_func="strerror_r()"
97ngx_func_inc="#include <string.h>"
Igor Sysoev7af6b162004-02-09 07:46:43 +000098ngx_func_test="char buf[20]; int n; n = strerror_r(1, buf, 20)"
Igor Sysoevdc867cd2003-12-14 20:10:27 +000099. auto/func
100
101
Igor Sysoevc7a2f682004-02-10 16:23:38 +0000102ngx_func="gnu_strerror_r()"
103ngx_func_inc="#include <string.h>"
104ngx_func_test="char buf[20], *str; str = strerror_r(1, buf, 20)"
105. auto/func
106
107
Igor Sysoevdc867cd2003-12-14 20:10:27 +0000108ngx_func="localtime_r()"
109ngx_func_inc="#include <time.h>"
110ngx_func_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
111. auto/func
Igor Sysoev0ab91b92004-06-06 19:49:18 +0000112
113
114ngx_func="posix_memalign()"
115ngx_func_inc="#include <stdlib.h>"
116ngx_func_test="void *p, int n; n = posix_memalign(&p, 4096, 4096)"
117. auto/func
118
119
120ngx_func="memalign()"
121ngx_func_inc="#include <stdlib.h>"
122ngx_func_test="void *p; p = memalign(4096, 4096)"
123. auto/func
Igor Sysoevd09f7a12004-06-15 17:47:16 +0000124
125
126ngx_func="msghdr.msg_control"
127ngx_func_inc="#include <sys/socket.h>"
128ngx_func_test="struct msghdr msg; msg.msg_control = NULL"
129. auto/func
130
131
132ngx_func="FIONBIO"
133ngx_func_inc="#include <sys/filio.h>"
134ngx_func_test="int i; i = FIONBIO"
135. auto/func