# Copyright (C) Igor Sysoev echo $ngx_n "checking for $ngx_type printf() format ..." $ngx_c echo >> $NGX_ERR echo "checking for $ngx_type printf() format" >> $NGX_ERR ngx_fmt=no comma= fmtX= for fmt in $ngx_formats do cat << END > $NGX_AUTOTEST.c int main() { printf("$fmt", ($ngx_type) $ngx_max_value); return 0; } END eval "$CC_WARN $CC_TEST_FLAGS -o $NGX_AUTOTEST $NGX_AUTOTEST.c \ >> $NGX_ERR 2>&1" max_value=`echo $ngx_max_value | sed -e "s/L*\$//"` if [ -x $NGX_AUTOTEST ]; then if [ "`$NGX_AUTOTEST`" = $max_value ]; then ngx_fmt=$fmt fi fi rm $NGX_AUTOTEST* if [ $ngx_fmt != no ]; then break fi fmtX=`echo $fmt | sed -e "s/d/X/"` echo $ngx_n "$comma \"${fmtX}\" is not appropriate" $ngx_c comma="," done if [ $ngx_fmt = no ]; then echo "$0: error: printf() $ngx_type format not found" exit 1 fi if [ $ngx_ptr_size = 4 ]; then fmtX="%0`expr 2 \* $ngx_ptr_size`" else fmtX="%" fi ngx_fmt=`echo $ngx_fmt | sed -e "s/d/X/" -e "s/^%/$fmtX/"` echo "$comma \"${ngx_fmt}\" used" cat << END >> $NGX_AUTO_CONFIG_H #ifndef $ngx_fmt_name #define $ngx_fmt_name "$ngx_fmt" #endif END