blob: 1bd334551affe0a70b5d733c3fa6a970f344af0b [file] [log] [blame]
Igor Sysoev415b1ce2004-06-17 17:18:53 +00001
Igor Sysoevff8da912004-09-29 16:00:49 +00002# Copyright (C) Igor Sysoev
3
4
Igor Sysoevc0edbcc2004-10-21 15:34:38 +00005echo $ngx_n "checking for $ngx_feature ...$ngx_c"
6
7cat << END >> $NGX_AUTOCONF_ERR
8
9----------------------------------------
10checking for $ngx_feature
11
12END
Igor Sysoev415b1ce2004-06-17 17:18:53 +000013
14ngx_found=no
15
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000016if test -n "$ngx_feature_name"; then
Igor Sysoevac72bd12006-05-04 15:32:46 +000017 ngx_have_feature=`echo $ngx_feature_name \
18 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000019fi
Igor Sysoev415b1ce2004-06-17 17:18:53 +000020
Igor Sysoev0ec09f92006-11-27 11:07:09 +000021if test -n "$ngx_feature_path"; then
Igor Sysoev1ae389d2008-08-04 14:48:15 +000022 for ngx_temp in $ngx_feature_path; do
23 ngx_feature_inc_path="$ngx_feature_inc_path -I $ngx_temp"
24 done
Igor Sysoev0ec09f92006-11-27 11:07:09 +000025fi
26
Igor Sysoev415b1ce2004-06-17 17:18:53 +000027cat << END > $NGX_AUTOTEST.c
28
29#include <sys/types.h>
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000030$NGX_INCLUDE_UNISTD_H
31$ngx_feature_incs
Igor Sysoev415b1ce2004-06-17 17:18:53 +000032
33int main() {
34 $ngx_feature_test;
35 return 0;
36}
37
38END
39
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000040
Igor Sysoev0ec09f92006-11-27 11:07:09 +000041ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \
Igor Sysoev9f34ebe2009-11-27 22:02:04 +000042 -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_TEST_LD_OPT $ngx_feature_libs"
Igor Sysoev1b735832004-11-11 14:07:14 +000043
Igor Sysoev0ec09f92006-11-27 11:07:09 +000044ngx_feature_inc_path=
45
Igor Sysoev48ae1ac2006-12-23 20:31:14 +000046eval "/bin/sh -c \"$ngx_test\" >> $NGX_AUTOCONF_ERR 2>&1"
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000047
Igor Sysoev415b1ce2004-06-17 17:18:53 +000048
49if [ -x $NGX_AUTOTEST ]; then
50
Igor Sysoev13c68742006-03-10 12:51:52 +000051 case "$ngx_feature_run" in
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000052
Igor Sysoev13c68742006-03-10 12:51:52 +000053 yes)
Igor Sysoev2bdefc12006-09-18 12:27:33 +000054 # /bin/sh is used to intercept "Killed" or "Abort trap" messages
Igor Sysoevd34238f2006-09-18 13:01:04 +000055 if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then
Igor Sysoev13c68742006-03-10 12:51:52 +000056 echo " found"
57 ngx_found=yes
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000058
Igor Sysoev13c68742006-03-10 12:51:52 +000059 if test -n "$ngx_feature_name"; then
60 have=$ngx_have_feature . auto/have
61 fi
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000062
Igor Sysoev13c68742006-03-10 12:51:52 +000063 else
64 echo " found but is not working"
65 fi
66 ;;
Igor Sysoev415b1ce2004-06-17 17:18:53 +000067
Igor Sysoev13c68742006-03-10 12:51:52 +000068 bug)
Igor Sysoev2bdefc12006-09-18 12:27:33 +000069 # /bin/sh is used to intercept "Killed" or "Abort trap" messages
Igor Sysoevd34238f2006-09-18 13:01:04 +000070 if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then
Igor Sysoev13c68742006-03-10 12:51:52 +000071 echo " not found"
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000072
Igor Sysoev13c68742006-03-10 12:51:52 +000073 else
74 echo " found"
75 ngx_found=yes
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000076
Igor Sysoev13c68742006-03-10 12:51:52 +000077 if test -n "$ngx_feature_name"; then
78 have=$ngx_have_feature . auto/have
79 fi
80 fi
81 ;;
82
83 *)
84 echo " found"
85 ngx_found=yes
86
87 if test -n "$ngx_feature_name"; then
88 have=$ngx_have_feature . auto/have
89 fi
90 ;;
91
92 esac
Igor Sysoev415b1ce2004-06-17 17:18:53 +000093
94else
95 echo " not found"
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000096
97 echo "----------" >> $NGX_AUTOCONF_ERR
98 cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
99 echo "----------" >> $NGX_AUTOCONF_ERR
100 echo $ngx_test >> $NGX_AUTOCONF_ERR
101 echo "----------" >> $NGX_AUTOCONF_ERR
Igor Sysoev415b1ce2004-06-17 17:18:53 +0000102fi
103
104rm $NGX_AUTOTEST*