| Patch borrowed from |
| http://code.google.com/p/minimyth/source/browse/trunk/gar-minimyth/script/db/mysql/files/mysql-5.1.47-ac_cache_check.patch?r=6493. |
| |
| It allows to override through ac_cv_* variables various checks that |
| cannot be performed when cross-compiling. |
| |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| |
| --- |
| storage/innodb_plugin/plug.in | 59 ++++++++++++++++++++++++++++-------------- |
| 1 file changed, 40 insertions(+), 19 deletions(-) |
| |
| Index: mysql-5.1.53/storage/innodb_plugin/plug.in |
| =================================================================== |
| --- mysql-5.1.53.orig/storage/innodb_plugin/plug.in |
| +++ mysql-5.1.53/storage/innodb_plugin/plug.in |
| @@ -53,9 +53,10 @@ |
| esac |
| AC_SUBST(INNODB_DYNAMIC_CFLAGS) |
| |
| - AC_MSG_CHECKING(whether GCC atomic builtins are available) |
| + AC_CACHE_CHECK([whether GCC atomic builtins are available], |
| + [ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS], |
| # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not |
| - AC_TRY_RUN( |
| + [AC_TRY_RUN( |
| [ |
| int main() |
| { |
| @@ -95,18 +96,23 @@ |
| } |
| ], |
| [ |
| - AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], |
| - [GCC atomic builtins are available]) |
| AC_MSG_RESULT(yes) |
| + ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes |
| ], |
| [ |
| AC_MSG_RESULT(no) |
| + ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=no |
| ] |
| - ) |
| + )]) |
| + if test "x$ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS"= "xyes" ; then |
| + AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], |
| + [GCC atomic builtins are available]) |
| + fi |
| |
| - AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins) |
| + AC_CACHE_CHECK([whether pthread_t can be used by GCC atomic builtins], |
| + [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC], |
| # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not |
| - AC_TRY_RUN( |
| + [AC_TRY_RUN( |
| [ |
| #include <pthread.h> |
| #include <string.h> |
| @@ -126,14 +132,18 @@ |
| } |
| ], |
| [ |
| - AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], |
| - [pthread_t can be used by GCC atomic builtins]) |
| AC_MSG_RESULT(yes) |
| + ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes |
| ], |
| [ |
| AC_MSG_RESULT(no) |
| + ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=no |
| ] |
| - ) |
| + )]) |
| + if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC"= "xyes" ; then |
| + AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], |
| + [pthread_t can be used by GCC atomic builtins]) |
| + fi |
| |
| AC_MSG_CHECKING(whether Solaris libc atomic functions are available) |
| # either define HAVE_IB_SOLARIS_ATOMICS or not |
| @@ -148,9 +158,10 @@ |
| are available]) |
| ) |
| |
| - AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions) |
| + AC_CACHE_CHECK([whether pthread_t can be used by Solaris libc atomic functions], |
| + [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], |
| # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not |
| - AC_TRY_RUN( |
| + [AC_TRY_RUN( |
| [ |
| #include <pthread.h> |
| #include <string.h> |
| @@ -181,28 +192,33 @@ |
| } |
| ], |
| [ |
| - AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], |
| - [pthread_t can be used by solaris atomics]) |
| AC_MSG_RESULT(yes) |
| + ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=yes |
| ], |
| [ |
| AC_MSG_RESULT(no) |
| + ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no |
| ] |
| - ) |
| + )]) |
| + if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS"= "xyes" ; then |
| + AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], |
| + [pthread_t can be used by solaris atomics]) |
| + fi |
| |
| # this is needed to know which one of atomic_cas_32() or atomic_cas_64() |
| # to use in the source |
| AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>]) |
| |
| # Check for x86 PAUSE instruction |
| - AC_MSG_CHECKING(for x86 PAUSE instruction) |
| + AC_CACHE_CHECK([for x86 PAUSE instruction], |
| + [ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION], |
| # We have to actually try running the test program, because of a bug |
| # in Solaris on x86_64, where it wrongly reports that PAUSE is not |
| # supported when trying to run an application. See |
| # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684 |
| # We use ib_ prefix to avoid collisoins if this code is added to |
| # mysql's configure.in. |
| - AC_TRY_RUN( |
| + [AC_TRY_RUN( |
| [ |
| int main() { |
| __asm__ __volatile__ ("pause"); |
| @@ -210,16 +226,21 @@ |
| } |
| ], |
| [ |
| - AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) |
| AC_MSG_RESULT(yes) |
| + ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=yes |
| ], |
| [ |
| AC_MSG_RESULT(no) |
| + ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no |
| ], |
| [ |
| AC_MSG_RESULT(no) |
| + ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no |
| ] |
| - ) |
| + )]) |
| + if test "x$ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION"= "xyes" ; then |
| + AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) |
| + fi |
| ]) |
| |
| # vim: set ft=config: |