summaryrefslogtreecommitdiffstats
path: root/patches/mysql-5.7.11/0001-Fix_buildsystem-use-compile-only-tests.patch
blob: 106abc54ab2ab66a0780294c400bc0e906e0da58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
From: Juergen Borleis <jbe@pengutronix.de>
Date: Tue, 15 Mar 2016 15:02:02 +0100
Subject: [PATCH] Fix_buildsystem: use compile only tests

Testing compiler features need not to run to test them.
---
 storage/innobase/innodb.cmake | 36 ++++++++++++++++--------------------
 1 file changed, 16 insertions(+), 20 deletions(-)

diff --git a/storage/innobase/innodb.cmake b/storage/innobase/innodb.cmake
index 809e58941e95..944f4e10803b 100644
--- a/storage/innobase/innodb.cmake
+++ b/storage/innobase/innodb.cmake
@@ -108,7 +108,7 @@ IF(HAVE_NANOSLEEP)
 ENDIF()
 
 IF(NOT MSVC)
-  CHECK_C_SOURCE_RUNS(
+  CHECK_CXX_SOURCE_COMPILES(
   "
   #define _GNU_SOURCE
   #include <fcntl.h>
@@ -131,28 +131,27 @@ ENDIF()
 
 IF(NOT MSVC)
 # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
-IF(NOT CMAKE_CROSSCOMPILING)
-  CHECK_C_SOURCE_RUNS(
-  "#include<stdint.h>
+CHECK_CXX_SOURCE_COMPILES("
+  #include<stdint.h>
   int main()
   {
     __sync_synchronize();
     return(0);
   }"
-  HAVE_IB_GCC_SYNC_SYNCHRONISE
-  )
-  CHECK_C_SOURCE_RUNS(
-  "#include<stdint.h>
+  HAVE_IB_GCC_SYNC_SYNCHRONISE)
+
+CHECK_CXX_SOURCE_COMPILES("
+  #include<stdint.h>
   int main()
   {
     __atomic_thread_fence(__ATOMIC_ACQUIRE);
     __atomic_thread_fence(__ATOMIC_RELEASE);
     return(0);
   }"
-  HAVE_IB_GCC_ATOMIC_THREAD_FENCE
-  )
-  CHECK_C_SOURCE_RUNS(
-  "#include<stdint.h>
+  HAVE_IB_GCC_ATOMIC_THREAD_FENCE)
+
+CHECK_CXX_SOURCE_COMPILES("
+  #include<stdint.h>
   int main()
   {
     unsigned char	a = 0;
@@ -164,9 +163,7 @@ IF(NOT CMAKE_CROSSCOMPILING)
 			      __ATOMIC_RELEASE, __ATOMIC_ACQUIRE);
     return(0);
   }"
-  HAVE_IB_GCC_ATOMIC_COMPARE_EXCHANGE
-  )
-ENDIF()
+  HAVE_IB_GCC_ATOMIC_COMPARE_EXCHANGE)
 
 IF(HAVE_IB_GCC_SYNC_SYNCHRONISE)
  ADD_DEFINITIONS(-DHAVE_IB_GCC_SYNC_SYNCHRONISE=1)
@@ -181,8 +178,7 @@ IF(HAVE_IB_GCC_ATOMIC_COMPARE_EXCHANGE)
 ENDIF()
 
  # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
-IF(NOT CMAKE_CROSSCOMPILING)
-  CHECK_C_SOURCE_RUNS(
+CHECK_CXX_SOURCE_COMPILES(
   "
   #include <pthread.h>
   #include <string.h>
@@ -201,14 +197,14 @@ IF(NOT CMAKE_CROSSCOMPILING)
     return(0);
   }"
   HAVE_IB_ATOMIC_PTHREAD_T_GCC)
-ENDIF()
+
 IF(HAVE_IB_ATOMIC_PTHREAD_T_GCC)
   ADD_DEFINITIONS(-DHAVE_IB_ATOMIC_PTHREAD_T_GCC=1)
 ENDIF()
 
 # Only use futexes on Linux if GCC atomics are available
-IF(NOT MSVC AND NOT CMAKE_CROSSCOMPILING)
-  CHECK_C_SOURCE_RUNS(
+IF(NOT MSVC)
+  CHECK_CXX_SOURCE_COMPILES(
   "
   #include <stdio.h>
   #include <unistd.h>