view auto/fmt/ptrfmt @ 120:e85dca77c46a NGINX_0_3_7

nginx 0.3.7 *) Feature: the "access_log" supports the "buffer=" parameter. *) Bugfix: nginx could not be built on platforms different from i386, amd64, sparc и ppc; bug appeared in 0.3.2.
author Igor Sysoev <http://sysoev.ru>
date Thu, 27 Oct 2005 00:00:00 +0400
parents 4b2dafa26fe2
children
line wrap: on
line source


# 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