diff options
Diffstat (limited to 'auto')
| -rw-r--r-- | auto/feature | 18 | ||||
| -rwxr-xr-x | auto/unix | 34 |
2 files changed, 23 insertions, 29 deletions
diff --git a/auto/feature b/auto/feature index 1bd334551..0f9becc3b 100644 --- a/auto/feature +++ b/auto/feature @@ -65,6 +65,24 @@ if [ -x $NGX_AUTOTEST ]; then fi ;; + value) + # /bin/sh is used to intercept "Killed" or "Abort trap" messages + if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then + echo " found" + ngx_found=yes + + cat << END >> $NGX_AUTO_CONFIG_H + +#ifndef $ngx_feature_name +#define $ngx_feature_name `$NGX_AUTOTEST` +#endif + +END + else + echo " found but is not working" + fi + ;; + bug) # /bin/sh is used to intercept "Killed" or "Abort trap" messages if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then @@ -109,37 +109,13 @@ ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)" . auto/feature -ngx_feature="strerror_r()" -ngx_feature_name="NGX_HAVE_STRERROR_R" -ngx_feature_run=yes -ngx_feature_incs="#include <string.h>" -ngx_feature_path= -ngx_feature_libs= -ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024); - if (n < 0 || n > 1024) return 1;" -. auto/feature - - -# GNU style strerror_r() returns not length, but pointer - -ngx_feature="gnu style strerror_r()" -ngx_feature_name="NGX_HAVE_GNU_STRERROR_R" -ngx_feature_run=yes -ngx_feature_incs="#include <string.h>" -ngx_feature_path= -ngx_feature_libs= -ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024); - if (n >= 0 && n < 1024) return 1;" -. auto/feature - - -ngx_feature="sys_errlist[]" -ngx_feature_name="NGX_HAVE_SYS_ERRLIST" -ngx_feature_run=yes -ngx_feature_incs="#include <stdio.h>" +ngx_feature="sys_nerr" +ngx_feature_name="NGX_SYS_NERR" +ngx_feature_run=value +ngx_feature_incs='#include <stdio.h>' ngx_feature_path= ngx_feature_libs= -ngx_feature_test="int n = sys_nerr; const char *p = sys_errlist[1];" +ngx_feature_test='printf("%d", sys_nerr);' . auto/feature |
