123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- From ef72be22ad6d58e230f75553d80b470b80c3303a Mon Sep 17 00:00:00 2001
- From: Samuel Martin <s.martin49@gmail.com>
- Date: Sun, 4 May 2014 00:40:49 +0200
- Subject: [PATCH] auto/feature: add mechanism allowing to force feature run
- test result
- Whenever a feature needs to run a test, the ngx_feature_run_force_result
- variable can be set to the desired test result, and thus skip the test.
- Therefore, the generated config.h file will honor these presets.
- This mechanism aims to make easier cross-compilation support.
- Signed-off-by: Samuel Martin <s.martin49@gmail.com>
- ---
- auto/feature | 80 ++++++++++++++++++++++++++++++++++++++++++++----------------
- 1 file changed, 59 insertions(+), 21 deletions(-)
- diff --git a/auto/feature b/auto/feature
- index 1145f28..a194b85 100644
- --- a/auto/feature
- +++ b/auto/feature
- @@ -52,50 +52,88 @@ if [ -x $NGX_AUTOTEST ]; then
- case "$ngx_feature_run" in
-
- yes)
- - # /bin/sh is used to intercept "Killed" or "Abort trap" messages
- - if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
- - echo " found"
- + if test -n "$ngx_feature_run_force_result" ; then
- + echo " not tested (maybe cross-compiling)"
- + if test -n "$ngx_feature_name" ; then
- + if test "$ngx_feature_run_force_result" = "yes" ; then
- + have=$ngx_have_feature . auto/have
- + fi
- + fi
- ngx_found=yes
- + else
-
- - if test -n "$ngx_feature_name"; then
- - have=$ngx_have_feature . auto/have
- + # /bin/sh is used to intercept "Killed" or "Abort trap" messages
- + if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
- + echo " found"
- + ngx_found=yes
- +
- + if test -n "$ngx_feature_name"; then
- + have=$ngx_have_feature . auto/have
- + fi
- +
- + else
- + echo " found but is not working"
- fi
-
- - else
- - echo " found but is not working"
- fi
- ;;
-
- value)
- - # /bin/sh is used to intercept "Killed" or "Abort trap" messages
- - if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
- - echo " found"
- + if test -n "$ngx_feature_run_force_result" ; then
- + echo " not tested (maybe cross-compiling)"
- + cat << END >> $NGX_AUTO_CONFIG_H
- +
- +#ifndef $ngx_feature_name
- +#define $ngx_feature_name $ngx_feature_run_force_result
- +#endif
- +
- +END
- ngx_found=yes
- + else
-
- - cat << END >> $NGX_AUTO_CONFIG_H
- + # /bin/sh is used to intercept "Killed" or "Abort trap" messages
- + if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 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"
- + else
- + echo " found but is not working"
- + fi
- +
- fi
- ;;
-
- bug)
- - # /bin/sh is used to intercept "Killed" or "Abort trap" messages
- - if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
- - echo " not found"
- -
- - else
- - echo " found"
- + if test -n "$ngx_feature_run_force_result" ; then
- + echo " not tested (maybe cross-compiling)"
- + if test -n "$ngx_feature_name"; then
- + if test "$ngx_feature_run_force_result" = "yes" ; then
- + have=$ngx_have_feature . auto/have
- + fi
- + fi
- ngx_found=yes
- + else
-
- - if test -n "$ngx_feature_name"; then
- - have=$ngx_have_feature . auto/have
- + # /bin/sh is used to intercept "Killed" or "Abort trap" messages
- + if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
- + echo " not found"
- +
- + else
- + echo " found"
- + ngx_found=yes
- +
- + if test -n "$ngx_feature_name"; then
- + have=$ngx_have_feature . auto/have
- + fi
- fi
- +
- fi
- ;;
-
- --
- 1.9.2
|