blob: 55b66bf9332d108b9a99f5dceef329bb4ed944b7 [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"
44ngx_func_inc="#include <sys/types.h>
45#include <sys/socket.h>
46#include <netinet/in.h>"
47
48ngx_func_test="struct sockaddr_in sa; sa.sin_len = 5"
49. auto/func
50
51
Igor Sysoevc0f8d912003-11-26 15:42:18 +000052# printf() formats
53
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000054CC_WARN=$CC_STRONG
Igor Sysoevdc867cd2003-12-14 20:10:27 +000055ngx_fmt_collect=no
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000056
Igor Sysoevdc867cd2003-12-14 20:10:27 +000057ngx_fmt_name=OFF_T_FMT; ngx_type="off_t"; . auto/types/sizeof
58eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000059
Igor Sysoevdc867cd2003-12-14 20:10:27 +000060ngx_fmt_name=TIME_T_FMT; ngx_type="time_t"; . auto/types/sizeof
61eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000062
Igor Sysoevdc867cd2003-12-14 20:10:27 +000063ngx_fmt_name=SIZE_T_FMT; ngx_type="size_t"; . auto/types/sizeof
64eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000065
Igor Sysoevdc867cd2003-12-14 20:10:27 +000066ngx_fmt_name=SIZE_T_X_FMT; . auto/fmt/xfmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000067
Igor Sysoevdc867cd2003-12-14 20:10:27 +000068ngx_fmt_name=PID_T_FMT; ngx_type="pid_t"; . auto/types/sizeof
69eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000070
Igor Sysoevdc867cd2003-12-14 20:10:27 +000071ngx_fmt_name=RLIM_T_FMT; ngx_type="rlim_t"; . auto/types/sizeof
72eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000073
74
Igor Sysoevc0f8d912003-11-26 15:42:18 +000075# syscalls and libc calls
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000076
Igor Sysoevdc867cd2003-12-14 20:10:27 +000077ngx_func="pread()"
78ngx_func_inc=
Igor Sysoev7af6b162004-02-09 07:46:43 +000079ngx_func_test="char buf[1]; ssize_t n;
80 n = pread(0, buf, 1, 0)"
Igor Sysoevdc867cd2003-12-14 20:10:27 +000081. auto/func
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000082
83
Igor Sysoevdc867cd2003-12-14 20:10:27 +000084ngx_func="pwrite()"
85ngx_func_inc=
Igor Sysoev7af6b162004-02-09 07:46:43 +000086ngx_func_test="char buf[1]; ssize_t n;
87 n = pwrite(1, buf, 1, 0)"
Igor Sysoevdc867cd2003-12-14 20:10:27 +000088. auto/func
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000089
90
Igor Sysoev3c3ca172004-01-05 20:55:48 +000091#ngx_func="strsignal()"
92#ngx_func_inc="#include <string.h>"
93#ngx_func_test="char *s = strsignal(1)"
94#. auto/func
Igor Sysoeve89c4582003-12-19 08:15:11 +000095
96
Igor Sysoevdc867cd2003-12-14 20:10:27 +000097ngx_func="strerror_r()"
98ngx_func_inc="#include <string.h>"
Igor Sysoev7af6b162004-02-09 07:46:43 +000099ngx_func_test="char buf[20]; int n; n = strerror_r(1, buf, 20)"
Igor Sysoevdc867cd2003-12-14 20:10:27 +0000100. auto/func
101
102
Igor Sysoevc7a2f682004-02-10 16:23:38 +0000103ngx_func="gnu_strerror_r()"
104ngx_func_inc="#include <string.h>"
105ngx_func_test="char buf[20], *str; str = strerror_r(1, buf, 20)"
106. auto/func
107
108
Igor Sysoevdc867cd2003-12-14 20:10:27 +0000109ngx_func="localtime_r()"
110ngx_func_inc="#include <time.h>"
111ngx_func_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
112. auto/func