nginx/auto/fmt/fmt
2003-12-14 20:10:27 +00:00

78 lines
1.4 KiB
Plaintext

echo -n "checking for $ngx_type printf() format ..."
echo >> $NGX_ERR
echo "checking for $ngx_type printf() format" >> $NGX_ERR
ngx_fmt=no
comma=
for fmt in $ngx_formats
do
cat << END > $NGX_AUTOTEST.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
$NGX_INTTYPES_H
$NGX_AUTO_CONFIG
int main() {
printf("$fmt", ($ngx_type) $ngx_max_size);
return 0;
}
END
eval "$CC_WARN $CC_TEST_FLAGS -o $NGX_AUTOTEST $NGX_AUTOTEST.c \
>> $NGX_ERR 2>&1"
max_size=`echo $ngx_max_size | sed -e "s/L*\$//"`
if [ -x $NGX_AUTOTEST ]; then
if [ "`$NGX_AUTOTEST`" = $max_size ]; then
if [ $ngx_fmt_collect = yes ]; then
echo -n "$comma \"${fmt}\" is appropriate"
else
echo -n "$comma \"${fmt}\" used"
fi
ngx_fmt=$fmt
fi
fi
rm $NGX_AUTOTEST*
if [ $ngx_fmt != no ]; then
if [ $ngx_fmt_collect = yes ]; then
eval "ngx_${ngx_bytes}_fmt=\"\${ngx_${ngx_bytes}_fmt} \$ngx_fmt\""
comma=","
continue
else
break
fi
fi
echo -n "$comma \"${fmt}\" is not appropriate"
comma=","
done
echo
if [ $ngx_fmt = no ]; then
echo "$0: error: printf() $ngx_type format not found"
exit 1
fi
if [ $ngx_fmt_collect = no ]; then
cat << END >> $NGX_AUTO_CONFIG_H
#ifndef $ngx_fmt_name
#define $ngx_fmt_name "$ngx_fmt"
#endif
END
fi