summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqi <yuqi.gu@arm.com>2018-06-01 18:06:01 +0800
committerSergey Vojtovich <svoj@mariadb.org>2018-06-01 14:06:01 +0400
commitee5124d714ea01f4e1bd6decf6da38b05c1009ad (patch)
tree8a8599fdebc6455ac0fc02b8fba785f16701e7b7
parentdb677cc6efbb8a58969e83843890c72e2441a6e3 (diff)
downloadmariadb-git-ee5124d714ea01f4e1bd6decf6da38b05c1009ad.tar.gz
Make MariaDB CRC32-lib platform independence (#780)
Make mariadb crc32 lib platform independent It looks strange that someone can make use of 2 crc libraries (Power64 or AArch64) at the same time. The patch sets macros 'CRC32_LIBRARY' to make platform independence as an optional crc32 library. Change-Id: I68bbf73cafb6a12f7fb105ad57d117b114a8c4af Signed-off-by: Yuqi Gu <yuqi.gu@arm.com>
-rw-r--r--CMakeLists.txt2
-rw-r--r--cmake/crc32.cmake (renamed from cmake/crc32-vpmsum.cmake)2
-rw-r--r--extra/crc32-vpmsum/CMakeLists.txt4
-rw-r--r--libmysqld/CMakeLists.txt4
-rw-r--r--mysys/CMakeLists.txt2
-rw-r--r--storage/innobase/CMakeLists.txt2
6 files changed, 8 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 52f511ec0c2..76b0817f8c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -166,7 +166,7 @@ INCLUDE(install_macros)
INCLUDE(systemd)
INCLUDE(mysql_add_executable)
INCLUDE(compile_flags)
-INCLUDE(crc32-vpmsum)
+INCLUDE(crc32)
# Handle options
OPTION(DISABLE_SHARED
diff --git a/cmake/crc32-vpmsum.cmake b/cmake/crc32.cmake
index 15242df6d4f..ee8afdb0e92 100644
--- a/cmake/crc32-vpmsum.cmake
+++ b/cmake/crc32.cmake
@@ -1,5 +1,5 @@
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
SET(HAVE_CRC32_VPMSUM 1)
- SET(CRC32_VPMSUM_LIBRARY crc32-vpmsum)
+ SET(CRC32_LIBRARY crc32-vpmsum)
ADD_SUBDIRECTORY(extra/crc32-vpmsum)
ENDIF()
diff --git a/extra/crc32-vpmsum/CMakeLists.txt b/extra/crc32-vpmsum/CMakeLists.txt
index 63d0175d618..31c09a97d6a 100644
--- a/extra/crc32-vpmsum/CMakeLists.txt
+++ b/extra/crc32-vpmsum/CMakeLists.txt
@@ -1,8 +1,8 @@
-ADD_CONVENIENCE_LIBRARY(${CRC32_VPMSUM_LIBRARY} $<TARGET_OBJECTS:crc32c> $<TARGET_OBJECTS:crc32ieee>)
+ADD_CONVENIENCE_LIBRARY(${CRC32_LIBRARY} $<TARGET_OBJECTS:crc32c> $<TARGET_OBJECTS:crc32ieee>)
ADD_LIBRARY(crc32c OBJECT vec_crc32.c)
ADD_LIBRARY(crc32ieee OBJECT vec_crc32.c)
-GET_TARGET_PROPERTY(CFLAGS_CRC32_VPMSUM ${CRC32_VPMSUM_LIBRARY} COMPILE_FLAGS)
+GET_TARGET_PROPERTY(CFLAGS_CRC32_VPMSUM ${CRC32_LIBRARY} COMPILE_FLAGS)
SET_TARGET_PROPERTIES(crc32c crc32ieee PROPERTIES COMPILE_FLAGS "${CFLAGS_CRC32_VPMSUM} -maltivec -mvsx -mpower8-vector -mcrypto -mpower8-vector")
SET_TARGET_PROPERTIES(crc32ieee PROPERTIES COMPILE_DEFINITIONS "CRC32_FUNCTION=crc32ieee_vpmsum;CRC32_CONSTANTS_HEADER=\"crc32ieee_constants.h\"")
SET_TARGET_PROPERTIES(crc32c PROPERTIES COMPILE_DEFINITIONS "CRC32_FUNCTION=crc32c_vpmsum;CRC32_CONSTANTS_HEADER=\"crc32c_constants.h\"")
diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt
index fe20a03e12d..f1fcfac58f5 100644
--- a/libmysqld/CMakeLists.txt
+++ b/libmysqld/CMakeLists.txt
@@ -445,9 +445,9 @@ IF(NOT DISABLE_SHARED)
# Clean direct output flags, as 2 targets have the same base name
# libmysqld
SET_TARGET_PROPERTIES(libmysqld PROPERTIES CLEAN_DIRECT_OUTPUT 1)
- TARGET_LINK_LIBRARIES(libmysqld ${CRC32_VPMSUM_LIBRARY})
+ TARGET_LINK_LIBRARIES(libmysqld ${CRC32_LIBRARY})
SET_TARGET_PROPERTIES(mysqlserver PROPERTIES CLEAN_DIRECT_OUTPUT 1)
- TARGET_LINK_LIBRARIES(mysqlserver ${CRC32_VPMSUM_LIBRARY})
+ TARGET_LINK_LIBRARIES(mysqlserver ${CRC32_LIBRARY})
IF(LIBMYSQLD_SO_EXTRA_LIBS)
TARGET_LINK_LIBRARIES(libmysqld ${LIBMYSQLD_SO_EXTRA_LIBS})
ENDIF()
diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt
index d4689a6d759..93fca192b3a 100644
--- a/mysys/CMakeLists.txt
+++ b/mysys/CMakeLists.txt
@@ -74,7 +74,7 @@ ENDIF()
ADD_CONVENIENCE_LIBRARY(mysys ${MYSYS_SOURCES})
TARGET_LINK_LIBRARIES(mysys dbug strings mysys_ssl ${ZLIB_LIBRARY}
- ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_VPMSUM_LIBRARY})
+ ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_LIBRARY})
DTRACE_INSTRUMENT(mysys)
IF(HAVE_BFD_H)
diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt
index 69d8684bf3f..e0bc7006770 100644
--- a/storage/innobase/CMakeLists.txt
+++ b/storage/innobase/CMakeLists.txt
@@ -153,7 +153,7 @@ MYSQL_ADD_PLUGIN(innobase ${INNOBASE_SOURCES} STORAGE_ENGINE
DEFAULT RECOMPILE_FOR_EMBEDDED
LINK_LIBRARIES
${ZLIB_LIBRARY}
- ${CRC32_VPMSUM_LIBRARY}
+ ${CRC32_LIBRARY}
${NUMA_LIBRARY}
${LIBSYSTEMD}
${LINKER_SCRIPT})