CC_WARN=$CC ngx_fmt_collect=yes # C types ngx_type="int"; . auto/types/sizeof; ngx_formats="%d"; . auto/fmt/fmt ngx_type="long"; . auto/types/sizeof; ngx_formats="%ld"; . auto/fmt/fmt ngx_type="long long"; . auto/types/sizeof; ngx_formats="%lld %qd"; . auto/fmt/fmt ngx_type="void *"; . auto/types/sizeof; ngx_ptr_bytes=$ngx_bytes # headers ngx_inc="unistd.h"; . auto/inc ngx_inc="inttypes.h"; . auto/inc #POSIX types NGX_AUTO_CONFIG="#include \"../$NGX_AUTO_CONFIG_H\"" ngx_type="uint64_t" ngx_types="u_int64_t"; . auto/types/typedef ngx_type="socklen_t" ngx_types="uint32_t"; . auto/types/typedef ngx_type="in_addr_t" ngx_types="uint32_t"; . auto/types/typedef ngx_type="rlim_t" ngx_types="int"; . auto/types/typedef . auto/types/uintptr_t # printf() formats CC_WARN=$CC_STRONG ngx_fmt_collect=no ngx_fmt_name=OFF_T_FMT; ngx_type="off_t"; . auto/types/sizeof eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt ngx_fmt_name=TIME_T_FMT; ngx_type="time_t"; . auto/types/sizeof eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt ngx_fmt_name=SIZE_T_FMT; ngx_type="size_t"; . auto/types/sizeof eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt ngx_fmt_name=SIZE_T_X_FMT; . auto/fmt/xfmt ngx_fmt_name=PID_T_FMT; ngx_type="pid_t"; . auto/types/sizeof eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt ngx_fmt_name=RLIM_T_FMT; ngx_type="rlim_t"; . auto/types/sizeof eval ngx_formats=\${ngx_${ngx_bytes}_fmt}; . auto/fmt/fmt # syscalls and libc calls ngx_func="pread()" ngx_func_inc= ngx_func_test=" char buf[1]; ssize_t n; n = pread(0, buf, 1, 0)" . auto/func ngx_func="pwrite()" ngx_func_inc= ngx_func_test=" char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)" . auto/func ngx_func="strerror_r()" ngx_func_inc="#include " ngx_func_test="char buf[20]; strerror_r(1, buf, 20)" . auto/func ngx_func="localtime_r()" ngx_func_inc="#include " ngx_func_test="struct tm t; time_t c=0; localtime_r(&c, &t)" . auto/func