blob: ebfbd53a9e8165d39e2ec61deab7cdd1ac1b94f3 [file] [log] [blame]
echo "checking for $NGX_TYPE printf() format"
NGX_FMT=NO
for FMT in $NGX_FORMATS
do
echo "#include <stdio.h>" > autotest.c
echo "#include <sys/types.h>" >> autotest.c
echo "#include <sys/time.h>" >> autotest.c
echo "#include <sys/resource.h>" >> autotest.c
echo "$NGX_INTTYPES_H" >> autotest.c
echo "$NGX_AUTO_CONFIG" >> autotest.c
echo "int main() {" >> autotest.c
echo "printf(\"${FMT}\", ($NGX_TYPE) $NGX_MAX_SIZE);" >> autotest.c
echo "return 0; }" >> autotest.c
eval "$CC_WARN $CC_TEST_FLAGS -o autotest autotest.c > $NGX_ERR 2>&1"
MAX_SIZE=`echo $NGX_MAX_SIZE | sed -e "s/L*\$//"`
if [ -x ./autotest ]; then
if [ "`./autotest`" = $MAX_SIZE ]; then
if [ $NGX_FMT_COLLECT = YES ]; then
echo " + \"${FMT}\" is appropriate"
else
echo " + \"${FMT}\" used"
fi
NGX_FMT=$FMT
fi
fi
rm autotest*
if [ $NGX_FMT != NO ]; then
if [ $NGX_FMT_COLLECT = YES ]; then
eval "NGX_${NGX_BYTES}_FMT=\"\${NGX_${NGX_BYTES}_FMT} \$NGX_FMT\""
continue
else
break
fi
fi
echo " + \"${FMT}\" is not appropriate"
done
if [ $NGX_FMT = NO ]; then
echo "$0: error: printf() $NGX_TYPE format not found"
exit 1
fi
if [ $NGX_FMT_COLLECT = NO ]; then
echo "#ifndef $NGX_FMT_NAME" >> $NGX_AUTO_CONFIG_H
echo "#define $NGX_FMT_NAME \"$NGX_FMT\"" >> $NGX_AUTO_CONFIG_H
echo "#endif" >> $NGX_AUTO_CONFIG_H
echo >> $NGX_AUTO_CONFIG_H
fi