390a144903
nginx module selection is, by default, the same as the one sets by the upstream configure script. Patches improving the cross-compilation support have already been sent upstream for integration [1-5]. All these patches are needed because nginx uses its own handwritten build-system, which is cross-platform, but does not properly support cross-compilation. Fixes bug: #3427 [6] [1] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005722.html [2] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005724.html [3] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005725.html [4] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005723.html [5] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005726.html [6] https://bugs.uclibc.org/show_bug.cgi?id=3427 Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: Daniele Salvatore Albano <info@daccii.it> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Johan Oudinet <johan.oudinet@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
136 lines
4.5 KiB
Diff
136 lines
4.5 KiB
Diff
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 2/5] 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
|
|
|