xref: /OK3568_Linux_fs/buildroot/package/oracle-mysql/0000-ac_cache_check.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunPatch borrowed from
2*4882a593Smuzhiyunhttp://code.google.com/p/minimyth/source/browse/trunk/gar-minimyth/script/db/mysql/files/mysql-5.1.47-ac_cache_check.patch?r=6493.
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunIt allows to override through ac_cv_* variables various checks that
5*4882a593Smuzhiyuncannot be performed when cross-compiling.
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunSigned-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun---
10*4882a593Smuzhiyun storage/innodb_plugin/plug.in |   59 ++++++++++++++++++++++++++++--------------
11*4882a593Smuzhiyun 1 file changed, 40 insertions(+), 19 deletions(-)
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunIndex: mysql-5.1.53/storage/innodb_plugin/plug.in
14*4882a593Smuzhiyun===================================================================
15*4882a593Smuzhiyun--- mysql-5.1.53.orig/storage/innodb_plugin/plug.in
16*4882a593Smuzhiyun+++ mysql-5.1.53/storage/innodb_plugin/plug.in
17*4882a593Smuzhiyun@@ -53,9 +53,10 @@
18*4882a593Smuzhiyun   esac
19*4882a593Smuzhiyun   AC_SUBST(INNODB_DYNAMIC_CFLAGS)
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun-  AC_MSG_CHECKING(whether GCC atomic builtins are available)
22*4882a593Smuzhiyun+  AC_CACHE_CHECK([whether GCC atomic builtins are available],
23*4882a593Smuzhiyun+                 [ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS],
24*4882a593Smuzhiyun   # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
25*4882a593Smuzhiyun-  AC_TRY_RUN(
26*4882a593Smuzhiyun+  [AC_TRY_RUN(
27*4882a593Smuzhiyun     [
28*4882a593Smuzhiyun       int main()
29*4882a593Smuzhiyun       {
30*4882a593Smuzhiyun@@ -95,18 +96,23 @@
31*4882a593Smuzhiyun       }
32*4882a593Smuzhiyun     ],
33*4882a593Smuzhiyun     [
34*4882a593Smuzhiyun-      AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
35*4882a593Smuzhiyun-                [GCC atomic builtins are available])
36*4882a593Smuzhiyun       AC_MSG_RESULT(yes)
37*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes
38*4882a593Smuzhiyun     ],
39*4882a593Smuzhiyun     [
40*4882a593Smuzhiyun       AC_MSG_RESULT(no)
41*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=no
42*4882a593Smuzhiyun     ]
43*4882a593Smuzhiyun-  )
44*4882a593Smuzhiyun+  )])
45*4882a593Smuzhiyun+  if test "x$ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS"= "xyes" ; then
46*4882a593Smuzhiyun+    AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
47*4882a593Smuzhiyun+              [GCC atomic builtins are available])
48*4882a593Smuzhiyun+  fi
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun-  AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
51*4882a593Smuzhiyun+  AC_CACHE_CHECK([whether pthread_t can be used by GCC atomic builtins],
52*4882a593Smuzhiyun+                 [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC],
53*4882a593Smuzhiyun   # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
54*4882a593Smuzhiyun-  AC_TRY_RUN(
55*4882a593Smuzhiyun+  [AC_TRY_RUN(
56*4882a593Smuzhiyun     [
57*4882a593Smuzhiyun       #include <pthread.h>
58*4882a593Smuzhiyun       #include <string.h>
59*4882a593Smuzhiyun@@ -126,14 +132,18 @@
60*4882a593Smuzhiyun       }
61*4882a593Smuzhiyun     ],
62*4882a593Smuzhiyun     [
63*4882a593Smuzhiyun-      AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
64*4882a593Smuzhiyun-                [pthread_t can be used by GCC atomic builtins])
65*4882a593Smuzhiyun       AC_MSG_RESULT(yes)
66*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes
67*4882a593Smuzhiyun     ],
68*4882a593Smuzhiyun     [
69*4882a593Smuzhiyun       AC_MSG_RESULT(no)
70*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=no
71*4882a593Smuzhiyun     ]
72*4882a593Smuzhiyun-  )
73*4882a593Smuzhiyun+  )])
74*4882a593Smuzhiyun+  if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC"= "xyes" ; then
75*4882a593Smuzhiyun+    AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
76*4882a593Smuzhiyun+              [pthread_t can be used by GCC atomic builtins])
77*4882a593Smuzhiyun+  fi
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun   AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
80*4882a593Smuzhiyun   # either define HAVE_IB_SOLARIS_ATOMICS or not
81*4882a593Smuzhiyun@@ -148,9 +158,10 @@
82*4882a593Smuzhiyun 			    are available])
83*4882a593Smuzhiyun   )
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun-  AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
86*4882a593Smuzhiyun+  AC_CACHE_CHECK([whether pthread_t can be used by Solaris libc atomic functions],
87*4882a593Smuzhiyun+                 [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS],
88*4882a593Smuzhiyun   # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
89*4882a593Smuzhiyun-  AC_TRY_RUN(
90*4882a593Smuzhiyun+  [AC_TRY_RUN(
91*4882a593Smuzhiyun     [
92*4882a593Smuzhiyun       #include <pthread.h>
93*4882a593Smuzhiyun       #include <string.h>
94*4882a593Smuzhiyun@@ -181,28 +192,33 @@
95*4882a593Smuzhiyun       }
96*4882a593Smuzhiyun     ],
97*4882a593Smuzhiyun     [
98*4882a593Smuzhiyun-      AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
99*4882a593Smuzhiyun-                [pthread_t can be used by solaris atomics])
100*4882a593Smuzhiyun       AC_MSG_RESULT(yes)
101*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=yes
102*4882a593Smuzhiyun     ],
103*4882a593Smuzhiyun     [
104*4882a593Smuzhiyun       AC_MSG_RESULT(no)
105*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no
106*4882a593Smuzhiyun     ]
107*4882a593Smuzhiyun-  )
108*4882a593Smuzhiyun+  )])
109*4882a593Smuzhiyun+  if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS"= "xyes" ; then
110*4882a593Smuzhiyun+    AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
111*4882a593Smuzhiyun+              [pthread_t can be used by solaris atomics])
112*4882a593Smuzhiyun+  fi
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun   # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
115*4882a593Smuzhiyun   # to use in the source
116*4882a593Smuzhiyun   AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun   # Check for x86 PAUSE instruction
119*4882a593Smuzhiyun-  AC_MSG_CHECKING(for x86 PAUSE instruction)
120*4882a593Smuzhiyun+  AC_CACHE_CHECK([for x86 PAUSE instruction],
121*4882a593Smuzhiyun+                 [ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION],
122*4882a593Smuzhiyun   # We have to actually try running the test program, because of a bug
123*4882a593Smuzhiyun   # in Solaris on x86_64, where it wrongly reports that PAUSE is not
124*4882a593Smuzhiyun   # supported when trying to run an application. See
125*4882a593Smuzhiyun   # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
126*4882a593Smuzhiyun   # We use ib_ prefix to avoid collisoins if this code is added to
127*4882a593Smuzhiyun   # mysql's configure.in.
128*4882a593Smuzhiyun-  AC_TRY_RUN(
129*4882a593Smuzhiyun+  [AC_TRY_RUN(
130*4882a593Smuzhiyun     [
131*4882a593Smuzhiyun       int main() {
132*4882a593Smuzhiyun         __asm__ __volatile__ ("pause");
133*4882a593Smuzhiyun@@ -210,16 +226,21 @@
134*4882a593Smuzhiyun       }
135*4882a593Smuzhiyun     ],
136*4882a593Smuzhiyun     [
137*4882a593Smuzhiyun-      AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
138*4882a593Smuzhiyun       AC_MSG_RESULT(yes)
139*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=yes
140*4882a593Smuzhiyun     ],
141*4882a593Smuzhiyun     [
142*4882a593Smuzhiyun       AC_MSG_RESULT(no)
143*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
144*4882a593Smuzhiyun     ],
145*4882a593Smuzhiyun     [
146*4882a593Smuzhiyun       AC_MSG_RESULT(no)
147*4882a593Smuzhiyun+      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
148*4882a593Smuzhiyun     ]
149*4882a593Smuzhiyun-  )
150*4882a593Smuzhiyun+  )])
151*4882a593Smuzhiyun+  if test "x$ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION"= "xyes" ; then
152*4882a593Smuzhiyun+    AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
153*4882a593Smuzhiyun+  fi
154*4882a593Smuzhiyun   ])
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun # vim: set ft=config:
157