2010-07-16 11:18:09 +02:00
|
|
|
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>
|
|
|
|
|
2010-12-22 14:07:08 +01:00
|
|
|
---
|
|
|
|
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
|
2010-07-16 11:18:09 +02:00
|
|
|
@@ -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
|
2010-12-22 14:07:08 +01:00
|
|
|
@@ -148,9 +158,10 @@
|
2010-07-16 11:18:09 +02:00
|
|
|
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>
|
2010-12-22 14:07:08 +01:00
|
|
|
@@ -181,28 +192,33 @@
|
2010-07-16 11:18:09 +02:00
|
|
|
}
|
|
|
|
],
|
|
|
|
[
|
|
|
|
- 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");
|
2010-12-22 14:07:08 +01:00
|
|
|
@@ -210,16 +226,21 @@
|
2010-07-16 11:18:09 +02:00
|
|
|
}
|
|
|
|
],
|
|
|
|
[
|
|
|
|
- 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:
|