10Sigor@sysoev.ru 20Sigor@sysoev.ru# Copyright (C) Igor Sysoev 30Sigor@sysoev.ru# Copyright (C) NGINX, Inc. 40Sigor@sysoev.ru 50Sigor@sysoev.ru 60Sigor@sysoev.ru$echo -n "checking for $nxt_feature ..." 70Sigor@sysoev.ru 80Sigor@sysoev.rucat << END >> $NXT_AUTOCONF_ERR 90Sigor@sysoev.ru---------------------------------------- 100Sigor@sysoev.ruchecking for $nxt_feature 110Sigor@sysoev.ruEND 120Sigor@sysoev.ru 130Sigor@sysoev.ru 140Sigor@sysoev.runxt_found=no 150Sigor@sysoev.runxt_feature_value= 160Sigor@sysoev.runxt_feature_inc_path= 170Sigor@sysoev.ru 180Sigor@sysoev.ruif test -n "$nxt_feature_incs"; then 190Sigor@sysoev.ru case "$nxt_feature_incs" in 200Sigor@sysoev.ru -*) 210Sigor@sysoev.ru nxt_feature_inc_path="$nxt_feature_incs" 220Sigor@sysoev.ru ;; 230Sigor@sysoev.ru 240Sigor@sysoev.ru *) 250Sigor@sysoev.ru for nxt_temp in $nxt_feature_incs; do 260Sigor@sysoev.ru nxt_feature_inc_path="$nxt_feature_inc_path -I $nxt_temp" 270Sigor@sysoev.ru done 280Sigor@sysoev.ru ;; 290Sigor@sysoev.ru esac 300Sigor@sysoev.rufi 310Sigor@sysoev.ru 320Sigor@sysoev.ru 330Sigor@sysoev.rucat << END > $NXT_AUTOTEST.c 340Sigor@sysoev.ru$nxt_feature_test 350Sigor@sysoev.ruEND 360Sigor@sysoev.ru 370Sigor@sysoev.ru 380Sigor@sysoev.runxt_test="$CC $CFLAGS $NXT_CFLAGS $NXT_CC_OPT $NXT_TEST_CFLAGS \ 390Sigor@sysoev.ru $nxt_feature_inc_path -o $NXT_AUTOTEST $NXT_AUTOTEST.c \ 40*682Sigor@sysoev.ru $nxt_feature_libs $NXT_LD_OPT $NXT_TEST_LIBS" 410Sigor@sysoev.ru 420Sigor@sysoev.ru# /bin/sh -c "(...)" is to intercept "Killed", "Abort trap", 430Sigor@sysoev.ru# "Segmentation fault", or other shell messages. 440Sigor@sysoev.ru# "|| true" is to bypass "set -e" setting. 450Sigor@sysoev.ru 460Sigor@sysoev.ru/bin/sh -c "($nxt_test || true)" >> $NXT_AUTOCONF_ERR 2>&1 470Sigor@sysoev.ru 480Sigor@sysoev.ru 490Sigor@sysoev.ruif [ -x $NXT_AUTOTEST ]; then 500Sigor@sysoev.ru 510Sigor@sysoev.ru case "$nxt_feature_run" in 520Sigor@sysoev.ru 530Sigor@sysoev.ru value) 540Sigor@sysoev.ru if /bin/sh -c "($NXT_AUTOTEST)" >> $NXT_AUTOCONF_ERR 2>&1; then 550Sigor@sysoev.ru $echo >> $NXT_AUTOCONF_ERR 560Sigor@sysoev.ru nxt_found=yes 570Sigor@sysoev.ru nxt_feature_value=`$NXT_AUTOTEST` 580Sigor@sysoev.ru $echo " $nxt_feature_value" 590Sigor@sysoev.ru if [ -n "$nxt_feature_name" ]; then 600Sigor@sysoev.ru cat << END >> $NXT_AUTO_CONFIG_H 610Sigor@sysoev.ru 620Sigor@sysoev.ru#ifndef $nxt_feature_name 630Sigor@sysoev.ru#define $nxt_feature_name $nxt_feature_value 640Sigor@sysoev.ru#endif 650Sigor@sysoev.ru 660Sigor@sysoev.ruEND 670Sigor@sysoev.ru fi 680Sigor@sysoev.ru else 690Sigor@sysoev.ru $echo " not found" 700Sigor@sysoev.ru fi 710Sigor@sysoev.ru ;; 720Sigor@sysoev.ru 730Sigor@sysoev.ru yes) 740Sigor@sysoev.ru if /bin/sh -c "($NXT_AUTOTEST)" >> $NXT_AUTOCONF_ERR 2>&1; then 750Sigor@sysoev.ru $echo " found" 760Sigor@sysoev.ru nxt_found=yes 77396Smax.romanov@nginx.com if [ -n "$nxt_feature_name" ]; then 78396Smax.romanov@nginx.com cat << END >> $NXT_AUTO_CONFIG_H 790Sigor@sysoev.ru 800Sigor@sysoev.ru#ifndef $nxt_feature_name 810Sigor@sysoev.ru#define $nxt_feature_name 1 820Sigor@sysoev.ru#endif 830Sigor@sysoev.ru 840Sigor@sysoev.ruEND 85396Smax.romanov@nginx.com fi 860Sigor@sysoev.ru else 870Sigor@sysoev.ru $echo " found but is not working" 880Sigor@sysoev.ru fi 890Sigor@sysoev.ru ;; 900Sigor@sysoev.ru 910Sigor@sysoev.ru *) 920Sigor@sysoev.ru $echo " found" 930Sigor@sysoev.ru nxt_found=yes 94396Smax.romanov@nginx.com if [ -n "$nxt_feature_name" ]; then 95396Smax.romanov@nginx.com cat << END >> $NXT_AUTO_CONFIG_H 960Sigor@sysoev.ru 970Sigor@sysoev.ru#ifndef $nxt_feature_name 980Sigor@sysoev.ru#define $nxt_feature_name 1 990Sigor@sysoev.ru#endif 1000Sigor@sysoev.ru 1010Sigor@sysoev.ruEND 102396Smax.romanov@nginx.com fi 1030Sigor@sysoev.ru ;; 1040Sigor@sysoev.ru esac 1050Sigor@sysoev.ru 1060Sigor@sysoev.ruelse 1070Sigor@sysoev.ru $echo " not found" 1080Sigor@sysoev.ru 1090Sigor@sysoev.ru $echo "----------" >> $NXT_AUTOCONF_ERR 1100Sigor@sysoev.ru cat $NXT_AUTOTEST.c >> $NXT_AUTOCONF_ERR 1110Sigor@sysoev.ru $echo "----------" >> $NXT_AUTOCONF_ERR 1120Sigor@sysoev.ru $echo $nxt_test >> $NXT_AUTOCONF_ERR 1130Sigor@sysoev.ru $echo "----------" >> $NXT_AUTOCONF_ERR 1140Sigor@sysoev.rufi 1150Sigor@sysoev.ru 1160Sigor@sysoev.rurm -rf $NXT_AUTOTEST* 117