blob: 2cb405921c68e574d41db8b26aa5b95e4adcf27d [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
22 ngx_feature_inc_path="-I $ngx_feature_path"
23fi
24
Igor Sysoev415b1ce2004-06-17 17:18:53 +000025cat << END > $NGX_AUTOTEST.c
26
27#include <sys/types.h>
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000028$NGX_INCLUDE_UNISTD_H
29$ngx_feature_incs
Igor Sysoev415b1ce2004-06-17 17:18:53 +000030
31int main() {
32 $ngx_feature_test;
33 return 0;
34}
35
36END
37
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000038
Igor Sysoev0ec09f92006-11-27 11:07:09 +000039ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000040 -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
Igor Sysoev1b735832004-11-11 14:07:14 +000041
Igor Sysoev0ec09f92006-11-27 11:07:09 +000042ngx_feature_inc_path=
43
Igor Sysoev48ae1ac2006-12-23 20:31:14 +000044eval "/bin/sh -c \"$ngx_test\" >> $NGX_AUTOCONF_ERR 2>&1"
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000045
Igor Sysoev415b1ce2004-06-17 17:18:53 +000046
47if [ -x $NGX_AUTOTEST ]; then
48
Igor Sysoev13c68742006-03-10 12:51:52 +000049 case "$ngx_feature_run" in
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000050
Igor Sysoev13c68742006-03-10 12:51:52 +000051 yes)
Igor Sysoev2bdefc12006-09-18 12:27:33 +000052 # /bin/sh is used to intercept "Killed" or "Abort trap" messages
Igor Sysoevd34238f2006-09-18 13:01:04 +000053 if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then
Igor Sysoev13c68742006-03-10 12:51:52 +000054 echo " found"
55 ngx_found=yes
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000056
Igor Sysoev13c68742006-03-10 12:51:52 +000057 if test -n "$ngx_feature_name"; then
58 have=$ngx_have_feature . auto/have
59 fi
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000060
Igor Sysoev13c68742006-03-10 12:51:52 +000061 else
62 echo " found but is not working"
63 fi
64 ;;
Igor Sysoev415b1ce2004-06-17 17:18:53 +000065
Igor Sysoev13c68742006-03-10 12:51:52 +000066 bug)
Igor Sysoev2bdefc12006-09-18 12:27:33 +000067 # /bin/sh is used to intercept "Killed" or "Abort trap" messages
Igor Sysoevd34238f2006-09-18 13:01:04 +000068 if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then
Igor Sysoev13c68742006-03-10 12:51:52 +000069 echo " not found"
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000070
Igor Sysoev13c68742006-03-10 12:51:52 +000071 else
72 echo " found"
73 ngx_found=yes
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000074
Igor Sysoev13c68742006-03-10 12:51:52 +000075 if test -n "$ngx_feature_name"; then
76 have=$ngx_have_feature . auto/have
77 fi
78 fi
79 ;;
80
81 *)
82 echo " found"
83 ngx_found=yes
84
85 if test -n "$ngx_feature_name"; then
86 have=$ngx_have_feature . auto/have
87 fi
88 ;;
89
90 esac
Igor Sysoev415b1ce2004-06-17 17:18:53 +000091
92else
93 echo " not found"
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000094
95 echo "----------" >> $NGX_AUTOCONF_ERR
96 cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
97 echo "----------" >> $NGX_AUTOCONF_ERR
98 echo $ngx_test >> $NGX_AUTOCONF_ERR
99 echo "----------" >> $NGX_AUTOCONF_ERR
Igor Sysoev415b1ce2004-06-17 17:18:53 +0000100fi
101
102rm $NGX_AUTOTEST*