aboutsummaryrefslogtreecommitdiff
path: root/package/mysql/mysql-ac_cache_check.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mysql/mysql-ac_cache_check.patch')
-rw-r--r--package/mysql/mysql-ac_cache_check.patch156
1 files changed, 156 insertions, 0 deletions
diff --git a/package/mysql/mysql-ac_cache_check.patch b/package/mysql/mysql-ac_cache_check.patch
new file mode 100644
index 0000000000..c3b55ba8d3
--- /dev/null
+++ b/package/mysql/mysql-ac_cache_check.patch
@@ -0,0 +1,156 @@
+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: