[oe-commits] [meta-openembedded] 03/19: mariadb: Fix build with musl
git at git.openembedded.org
git at git.openembedded.org
Wed Mar 6 05:47:33 UTC 2019
This is an automated email from the git hooks/post-receive script.
khem pushed a commit to branch master-next
in repository meta-openembedded.
commit 0243ff6f3d7efef1fe7b38f4b47e3cb91f31c644
Author: Khem Raj <raj.khem at gmail.com>
AuthorDate: Tue Mar 5 15:54:05 2019 -0800
mariadb: Fix build with musl
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
meta-oe/recipes-dbs/mysql/mariadb.inc | 1 +
.../recipes-dbs/mysql/mariadb/c11_atomics.patch | 67 ++++++++++++++++++++++
2 files changed, 68 insertions(+)
diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
index cb2d320..e66b9c1 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -15,6 +15,7 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BPN}-${PV}/source/${BPN}
file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \
file://sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
file://0001-disable-ucontext-on-musl.patch \
+ file://c11_atomics.patch \
"
SRC_URI[md5sum] = "603ce42e35b9a688f2cca05275acb5cb"
SRC_URI[sha256sum] = "b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a"
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
new file mode 100644
index 0000000..1699861
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
@@ -0,0 +1,67 @@
+Author: Vicențiu Ciorbaru <vicentiu at mariadb.org>
+Date: Fri Dec 21 19:14:04 2018 +0200
+
+ Link with libatomic to enable C11 atomics support
+
+ Some architectures (mips) require libatomic to support proper
+ atomic operations. Check first if support is available without
+ linking, otherwise use the library.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+
+--- a/configure.cmake
++++ b/configure.cmake
+@@ -926,7 +926,25 @@ int main()
+ long long int *ptr= &var;
+ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
+ }"
+-HAVE_GCC_C11_ATOMICS)
++HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
++IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
++ SET(HAVE_GCC_C11_ATOMICS True)
++ELSE()
++ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
++ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
++ CHECK_CXX_SOURCE_COMPILES("
++ int main()
++ {
++ long long int var= 1;
++ long long int *ptr= &var;
++ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
++ }"
++ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ SET(HAVE_GCC_C11_ATOMICS True)
++ ENDIF()
++ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
++ENDIF()
+
+ IF(WITH_VALGRIND)
+ SET(HAVE_valgrind 1)
+--- a/mysys/CMakeLists.txt
++++ b/mysys/CMakeLists.txt
+@@ -78,6 +78,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings
+ ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_LIBRARY})
+ DTRACE_INSTRUMENT(mysys)
+
++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ TARGET_LINK_LIBRARIES(mysys atomic)
++ENDIF()
++
+ IF(HAVE_BFD_H)
+ TARGET_LINK_LIBRARIES(mysys bfd)
+ ENDIF(HAVE_BFD_H)
+--- a/sql/CMakeLists.txt
++++ b/sql/CMakeLists.txt
+@@ -178,6 +178,10 @@ ELSE()
+ SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
+ ENDIF()
+
++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
++ TARGET_LINK_LIBRARIES(sql atomic)
++ENDIF()
++
+
+ IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
+
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list