summaryrefslogtreecommitdiff
path: root/debian/patches/atomic_config_test.diff
diff options
context:
space:
mode:
authorDmitry Shachnev <mitya57@gmail.com>2017-09-16 11:52:49 +0300
committerDmitry Shachnev <mitya57@gmail.com>2017-09-16 11:52:49 +0300
commitdc3470d23fc43399164547c1cd2e86e0dba23540 (patch)
tree9dd448aaec7fa7a650dbd4444a6d52541bba64cd /debian/patches/atomic_config_test.diff
parentbb3c1b4cd674400d63df7045af547e06e7a8252d (diff)
downloadqt5webkit-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.diff52
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)