blob: c3b55ba8d39de87edc6b3263ca5ec08f192349a0 [file] [log] [blame]
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: