diff options
author | Dmitry Shachnev <mitya57@gmail.com> | 2017-09-16 11:52:49 +0300 |
---|---|---|
committer | Dmitry Shachnev <mitya57@gmail.com> | 2017-09-16 11:52:49 +0300 |
commit | dc3470d23fc43399164547c1cd2e86e0dba23540 (patch) | |
tree | 9dd448aaec7fa7a650dbd4444a6d52541bba64cd /debian/patches/atomic_config_test.diff | |
parent | bb3c1b4cd674400d63df7045af547e06e7a8252d (diff) | |
download | qt5webkit-dc3470d23fc43399164547c1cd2e86e0dba23540.tar.gz |
Backport upstream patch to add libatomic detection, fixes armel build.
Diffstat (limited to 'debian/patches/atomic_config_test.diff')
-rw-r--r-- | debian/patches/atomic_config_test.diff | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/debian/patches/atomic_config_test.diff b/debian/patches/atomic_config_test.diff new file mode 100644 index 0000000..247c254 --- /dev/null +++ b/debian/patches/atomic_config_test.diff @@ -0,0 +1,52 @@ +Description: improve configuration tests for librt and libatomic +Origin: upstream, https://github.com/annulen/webkit/commit/250709411c49550a +Last-Update: 2017-09-16 + +--- a/Source/WebKit2/CMakeLists.txt ++++ b/Source/WebKit2/CMakeLists.txt +@@ -1,3 +1,6 @@ ++include(CheckCXXSourceCompiles) ++include(CheckFunctionExists) ++ + set(WebKit2_INCLUDE_DIRECTORIES + "${JAVASCRIPTCORE_DIR}/llint" + "${WEBKIT2_DIR}" +@@ -740,11 +743,33 @@ + WebKit2 + ) + +-# librt is needed for shm_open on Linux. +-find_library(LIBRT_LIBRARIES NAMES rt) +-mark_as_advanced(LIBRT_LIBRARIES) +-if (LIBRT_LIBRARIES) +- list(APPEND WebKit2_LIBRARIES ${LIBRT_LIBRARIES}) ++if (COMPILER_IS_GCC_OR_CLANG) ++ set(ATOMIC_TEST_SOURCE ++ " ++ #include <atomic> ++ int main() { std::atomic<int64_t> i(0); i++; return 0; } ++ " ++ ) ++ check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_IS_BUILTIN) ++ if (NOT ATOMIC_INT64_IS_BUILTIN) ++ set(CMAKE_REQUIRED_LIBRARIES atomic) ++ check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_REQUIRES_LIBATOMIC) ++ if (ATOMIC_INT64_REQUIRES_LIBATOMIC) ++ list(APPEND WebKit2_LIBRARIES atomic) ++ endif () ++ unset(CMAKE_REQUIRED_LIBRARIES) ++ endif () ++endif () ++ ++if (UNIX) ++ check_function_exists(shm_open SHM_OPEN_EXISTS) ++ if (NOT SHM_OPEN_EXISTS) ++ set(CMAKE_REQUIRED_LIBRARIES rt) ++ check_function_exists(shm_open SHM_OPEN_REQUIRES_LIBRT) ++ if (SHM_OPEN_REQUIRES_LIBRT) ++ list(APPEND WebKit2_LIBRARIES rt) ++ endif () ++ endif () + endif () + + macro(ADD_WEBKIT2_PREFIX_HEADER _target) |