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