view auto/fmt/ptrfmt @ 0:f0b350454894 NGINX_0_1_0

nginx 0.1.0 *) The first public version.
author Igor Sysoev <http://sysoev.ru>
date Mon, 04 Oct 2004 00:00:00 +0400
parents
children 4b2dafa26fe2
line wrap: on
line source


# 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