From eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 Mon Sep 17 00:00:00 2001 From: Dave Cobbley Date: Tue, 14 Aug 2018 10:05:37 -0700 Subject: [Subtree] Removing import-layers directory As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley Signed-off-by: Brad Bishop --- ...Introspection.cmake-prefix-variables-obta.patch | 27 +++++ .../webkitgtk/0001-Fix-build-with-musl.patch | 77 +++++++++++++ ...01-Fix-gles3-header-when-gles2-is-enabled.patch | 38 ++++++ ...ix-racy-parallel-build-of-WebKit2-4.0.gir.patch | 49 ++++++++ ...cmake-drop-the-hardcoded-introspection-gt.patch | 34 ++++++ ...c-settings-so-that-gtkdoc-generation-work.patch | 50 ++++++++ ...bKitMacros-Append-to-I-and-not-to-isystem.patch | 127 +++++++++++++++++++++ ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch | 41 +++++++ .../webkit/webkitgtk/cross-compile.patch | 23 ++++ .../detect-atomics-during-configure.patch | 46 ++++++++ .../webkitgtk/fix-configure-failure-aarch64.patch | 29 +++++ .../webkit/webkitgtk/x32_support.patch | 21 ++++ poky/meta/recipes-sato/webkit/webkitgtk_2.18.6.bb | 123 ++++++++++++++++++++ 13 files changed, 685 insertions(+) create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-gles3-header-when-gles2-is-enabled.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/fix-configure-failure-aarch64.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/x32_support.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.18.6.bb (limited to 'poky/meta/recipes-sato/webkit') diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch new file mode 100644 index 000000000..fae3b0b2e --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch @@ -0,0 +1,27 @@ +From 317a5ac120c44987219bc03486cd2f2d1842c9b9 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 27 Oct 2015 16:02:19 +0200 +Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained + from pkg-config with PKG_CONFIG_SYSROOT_DIR + +Upstream-Status: Pending [review on oe-core list] +Signed-off-by: Alexander Kanavin +--- + Source/cmake/FindGObjectIntrospection.cmake | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/cmake/FindGObjectIntrospection.cmake b/Source/cmake/FindGObjectIntrospection.cmake +index e1f49b4..03a4446 100644 +--- a/Source/cmake/FindGObjectIntrospection.cmake ++++ b/Source/cmake/FindGObjectIntrospection.cmake +@@ -26,6 +26,7 @@ macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname _extra_args) + else () + string(REGEX REPLACE "[\r\n]" " " _result "${_result}") + string(REGEX REPLACE " +$" "" _result "${_result}") ++ string(CONCAT _result $ENV{PKG_CONFIG_SYSROOT_DIR} "${_result}") + separate_arguments(_result) + set(${_outvar} ${_result} CACHE INTERNAL "") + endif () +-- +2.1.4 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch new file mode 100644 index 000000000..7cc4514fc --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch @@ -0,0 +1,77 @@ +From 415e31bd5444fa360af58b069f1b9db6607fca7d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 6 Oct 2017 17:00:08 +0300 +Subject: [PATCH] Fix build with musl + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++----- + Source/WTF/wtf/Platform.h | 2 +- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h +index 95080b9..2bb689c 100644 +--- a/Source/JavaScriptCore/runtime/MachineContext.h ++++ b/Source/JavaScriptCore/runtime/MachineContext.h +@@ -146,7 +146,7 @@ inline void*& stackPointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + #if CPU(X86) + return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]); +@@ -251,7 +251,7 @@ inline void*& framePointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -354,7 +354,7 @@ inline void*& instructionPointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -466,7 +466,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -583,7 +583,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 5a2863b..b36c3ff 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -680,7 +680,7 @@ + #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1 + #endif + +-#if OS(DARWIN) || ((OS(FREEBSD) || defined(__GLIBC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) ++#if OS(DARWIN) || ((OS(FREEBSD) || defined(__linux__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) + #define HAVE_MACHINE_CONTEXT 1 + #endif + +-- +2.14.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-gles3-header-when-gles2-is-enabled.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-gles3-header-when-gles2-is-enabled.patch new file mode 100644 index 000000000..21574072f --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-gles3-header-when-gles2-is-enabled.patch @@ -0,0 +1,38 @@ +From adf3d4c9d4133bd6995590d921c0ccaec5254da9 Mon Sep 17 00:00:00 2001 +From: Bhargava Sreekantappa Gayathri + +Date: Tue, 27 Feb 2018 16:09:31 -0800 +Subject: [PATCH] Fix gles3 header when gles2 is enabled + +A GLES 2 application should not use gl3.h. +Fix the gles3 header failure while compiling webkitgtk. + +FAILED: +Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/GLContext.cpp.o + ^~~~~~~~~~~~~ +compilation terminated. + +Upstream-Status: Backport +Imported patch from: https://bugs.webkit.org/show_bug.cgi?id=183008 + +Signed-off-by: Bhargava Sreekantappa Gayathri +Signed-off-by: Manjukumar Matha +--- + Source/WebCore/platform/graphics/GLContext.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Source/WebCore/platform/graphics/GLContext.cpp b/Source/WebCore/platform/graphics/GLContext.cpp +index 599dcc0..46d2fd4 100644 +--- a/Source/WebCore/platform/graphics/GLContext.cpp ++++ b/Source/WebCore/platform/graphics/GLContext.cpp +@@ -31,7 +31,6 @@ + #elif USE(OPENGL_ES_2) + #define GL_GLEXT_PROTOTYPES 1 + #include +-#include + #endif + + #if USE(GLX) +-- +2.7.4 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch new file mode 100644 index 000000000..896890b43 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch @@ -0,0 +1,49 @@ +From b7f40eceef0f23bf88090789d4c5845c35f048ae Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 29 Aug 2016 16:38:11 +0300 +Subject: [PATCH 4/9] Fix racy parallel build of WebKit2-4.0.gir + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin + +--- + Source/WebKit/PlatformGTK.cmake | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake +index a33c6a86..d83a2e77 100644 +--- a/Source/WebKit/PlatformGTK.cmake ++++ b/Source/WebKit/PlatformGTK.cmake +@@ -1122,8 +1122,9 @@ endif () + string(REGEX MATCHALL "-L[^ ]*" + INTROSPECTION_ADDITIONAL_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") + +-add_custom_command( +- OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir ++# This is a target and not a command because it's used to build another .gir ++# and a .typelib, which would trigger two racy parallel builds when using command ++add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir + DEPENDS WebKit2 + DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir + COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= +@@ -1168,7 +1169,7 @@ add_custom_command( + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir + DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir +- DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir ++ DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir + COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} + LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" + ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" +@@ -1225,7 +1226,7 @@ add_custom_command( + + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib +- DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir ++ DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir + COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib + ) + +-- +2.14.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch new file mode 100644 index 000000000..0f6eeed1a --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch @@ -0,0 +1,34 @@ +From 48648570e449cf7f84a26dc03c1e3f620fa69757 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 29 Feb 2016 18:13:39 +0200 +Subject: [PATCH] OptionsGTK.cmake: drop the hardcoded introspection/gtkdoc + disabling when cross-compiling + +This was not possible to override from the command line and in OpenEmbedded +(one of the most prominent cross-compilation frameworks) introspection does work fine, +through the use of qemu target emulation. + +Signed-off-by: Alexander Kanavin + +Upstream-Status: Pending +--- + Source/cmake/OptionsGTK.cmake | 6 ------ + 1 file changed, 6 deletions(-) + +Index: webkitgtk-2.12.1/Source/cmake/OptionsGTK.cmake +=================================================================== +--- webkitgtk-2.12.1.orig/Source/cmake/OptionsGTK.cmake ++++ webkitgtk-2.12.1/Source/cmake/OptionsGTK.cmake +@@ -424,12 +424,6 @@ if (USE_LIBHYPHEN) + endif () + endif () + +-# Override the cached variables, gtk-doc and gobject-introspection do not really work when cross-building. +-if (CMAKE_CROSSCOMPILING) +- set(ENABLE_GTKDOC OFF) +- set(ENABLE_INTROSPECTION OFF) +-endif () +- + # Override the cached variable, gtk-doc does not really work when building on Mac. + if (APPLE) + set(ENABLE_GTKDOC OFF) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch new file mode 100644 index 000000000..83fd5129a --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch @@ -0,0 +1,50 @@ +From 9b09974003097c9a408bbeea568996768efe705b Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 11 Aug 2016 17:13:51 +0300 +Subject: [PATCH 05/10] Tweak gtkdoc settings so that gtkdoc generation works + under OpenEmbedded build system + +This requires setting a few environment variables so that the transient +binary is build and linked correctly, and disabling the tweaks to RUN +variable from gtkdoc.py script so that our qemu wrapper is taken into use. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Alexander Kanavin + +--- + Source/PlatformGTK.cmake | 2 +- + Tools/gtk/gtkdoc.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake +index 50b5393..7a31db5 100644 +--- a/Source/PlatformGTK.cmake ++++ b/Source/PlatformGTK.cmake +@@ -24,7 +24,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) + add_custom_command( + OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" + DEPENDS ${DocumentationDependencies} +- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} ++ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc -v ${_extra_args} + COMMAND touch ${_stamp_name} + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + VERBATIM +diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py +index 03c8e8e..34fbaff 100644 +--- a/Tools/gtk/gtkdoc.py ++++ b/Tools/gtk/gtkdoc.py +@@ -318,9 +318,9 @@ class GTKDoc(object): + additional_ldflags = '%s %s' % (additional_ldflags, arg) + ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags + current_ld_library_path = env.get('LD_LIBRARY_PATH') +- if current_ld_library_path: ++ if current_ld_library_path and 'RUN' not in env: + env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path) +- else: ++ elif 'RUN' not in env: + env['LD_LIBRARY_PATH'] = self.library_path + + if ldflags: +-- +2.15.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch new file mode 100644 index 000000000..9fc1421fd --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch @@ -0,0 +1,127 @@ +From ef832a115b40861c08df333339b1366da49e5393 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 17 Apr 2016 12:35:41 -0700 +Subject: [PATCH 9/9] WebKitMacros: Append to -I and not to -isystem + +gcc-6 has now introduced stdlib.h in libstdc++ for better +compliance and its including the C library stdlib.h using +include_next which is sensitive to order of system header +include paths. Its infact better to not tinker with the +system header include paths at all. Since adding /usr/include +to -system is redundant and compiler knows about it moreover +now with gcc6 it interferes with compiler's functioning +and ends up with compile errors e.g. + +/usr/include/c++/6.0.0/cstdlib:75:25: fatal error: stdlib.h: No such file or directory + +Signed-off-by: Khem Raj + +Upstream-Status: Pending +--- + Source/JavaScriptCore/shell/CMakeLists.txt | 2 +- + Source/WebCore/PlatformGTK.cmake | 6 +++--- + Source/WebKit/PlatformGTK.cmake | 2 +- + Source/cmake/WebKitMacros.cmake | 2 +- + Tools/MiniBrowser/gtk/CMakeLists.txt | 2 +- + Tools/TestWebKitAPI/PlatformGTK.cmake | 2 +- + 6 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt +index bc37dd31..4e49871f 100644 +--- a/Source/JavaScriptCore/shell/CMakeLists.txt ++++ b/Source/JavaScriptCore/shell/CMakeLists.txt +@@ -35,7 +35,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() + WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES}) + WEBKIT_WRAP_SOURCELIST(${TESTAPI_SOURCES}) + include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES}) + add_executable(jsc ${JSC_SOURCES}) + target_link_libraries(jsc ${JSC_LIBRARIES}) + +diff --git a/Source/WebCore/PlatformGTK.cmake b/Source/WebCore/PlatformGTK.cmake +index 73506c74..8eb8b415 100644 +--- a/Source/WebCore/PlatformGTK.cmake ++++ b/Source/WebCore/PlatformGTK.cmake +@@ -281,7 +281,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) + ${GTK2_INCLUDE_DIRS} + ${GDK2_INCLUDE_DIRS} + ) +- target_include_directories(WebCorePlatformGTK2 SYSTEM PRIVATE ++ target_include_directories(WebCorePlatformGTK2 PRIVATE + ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} + ) + target_link_libraries(WebCorePlatformGTK2 +@@ -305,7 +305,7 @@ add_dependencies(WebCorePlatformGTK WebCore) + target_include_directories(WebCorePlatformGTK PRIVATE + ${WebCore_INCLUDE_DIRECTORIES} + ) +-target_include_directories(WebCorePlatformGTK SYSTEM PRIVATE ++target_include_directories(WebCorePlatformGTK PRIVATE + ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} + ${GTK_INCLUDE_DIRS} + ${GDK_INCLUDE_DIRS} +@@ -321,7 +321,7 @@ include_directories( + "${WEBCORE_DIR}/bindings/gobject/" + ) + +-include_directories(SYSTEM ++include_directories( + ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} + ) + +diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake +index d83a2e77..401246f4 100644 +--- a/Source/WebKit/PlatformGTK.cmake ++++ b/Source/WebKit/PlatformGTK.cmake +@@ -1050,7 +1050,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) + target_include_directories(WebKitPluginProcess2 PRIVATE + ${WebKit2CommonIncludeDirectories} + ) +- target_include_directories(WebKitPluginProcess2 SYSTEM PRIVATE ++ target_include_directories(WebKitPluginProcess2 PRIVATE + ${WebKit2CommonSystemIncludeDirectories} + ${GTK2_INCLUDE_DIRS} + ${GDK2_INCLUDE_DIRS} +diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake +index 7bc89543..d9818fa4 100644 +--- a/Source/cmake/WebKitMacros.cmake ++++ b/Source/cmake/WebKitMacros.cmake +@@ -78,7 +78,7 @@ macro(WEBKIT_FRAMEWORK_DECLARE _target) + endmacro() + + macro(WEBKIT_FRAMEWORK _target) +- include_directories(SYSTEM ${${_target}_SYSTEM_INCLUDE_DIRECTORIES}) ++ include_directories(${${_target}_SYSTEM_INCLUDE_DIRECTORIES}) + target_sources(${_target} PRIVATE + ${${_target}_HEADERS} + ${${_target}_SOURCES} +diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt +index e832a86d..ce92c864 100644 +--- a/Tools/MiniBrowser/gtk/CMakeLists.txt ++++ b/Tools/MiniBrowser/gtk/CMakeLists.txt +@@ -57,7 +57,7 @@ endif () + add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6) + + include_directories(${MiniBrowser_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES}) + add_executable(MiniBrowser ${MiniBrowser_SOURCES}) + target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES}) + +diff --git a/Tools/TestWebKitAPI/PlatformGTK.cmake b/Tools/TestWebKitAPI/PlatformGTK.cmake +index 1be3dd52..7bdddf37 100644 +--- a/Tools/TestWebKitAPI/PlatformGTK.cmake ++++ b/Tools/TestWebKitAPI/PlatformGTK.cmake +@@ -20,7 +20,7 @@ include_directories( + ${WEBKIT2_DIR}/UIProcess/API/gtk + ) + +-include_directories(SYSTEM ++include_directories( + ${GDK3_INCLUDE_DIRS} + ${GLIB_INCLUDE_DIRS} + ${GTK3_INCLUDE_DIRS} +-- +2.14.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch new file mode 100644 index 000000000..fb4c4dc93 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch @@ -0,0 +1,41 @@ +From 98b1359a0cd87bbdb22cef98ba594440f4c57d92 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 28 Oct 2015 14:18:57 +0200 +Subject: [PATCH 2/9] When building introspection files, add CMAKE_C_FLAGS to + the compiler flags. + +g-ir-compiler is using a C compiler internally, so it needs to set +the proper flags for it. + +Upstream-Status: Pending [review on oe-core list] +Signed-off-by: Alexander Kanavin + +--- + Source/WebKit/PlatformGTK.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake +index 7f92ae72..a33c6a86 100644 +--- a/Source/WebKit/PlatformGTK.cmake ++++ b/Source/WebKit/PlatformGTK.cmake +@@ -1126,7 +1126,7 @@ add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir + DEPENDS WebKit2 + DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir +- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS= ++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= + ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" + ${INTROSPECTION_SCANNER} + --quiet +@@ -1169,7 +1169,7 @@ add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir + DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir + DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir +- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations ++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} + LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" + ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" + ${INTROSPECTION_SCANNER} +-- +2.14.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch b/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch new file mode 100644 index 000000000..4d1de7285 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/cross-compile.patch @@ -0,0 +1,23 @@ +Disable the tests meant to run when compiling natively + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +Index: webkitgtk-2.14.5/Source/cmake/OptionsCommon.cmake +=================================================================== +--- webkitgtk-2.14.5.orig/Source/cmake/OptionsCommon.cmake ++++ webkitgtk-2.14.5/Source/cmake/OptionsCommon.cmake +@@ -67,8 +67,11 @@ endif () + # Detect Cortex-A53 core if CPU is ARM64 and OS is Linux. + # Query /proc/cpuinfo for each available core and check reported CPU part number: 0xd03 signals Cortex-A53. + # (see Main ID Register in ARM Cortex-A53 MPCore Processor Technical Reference Manual) +-set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE OFF) +-if (WTF_CPU_ARM64 AND (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")) ++if( NOT WTF_CPU_ARM64_CORTEXA53_INITIALVALUE) ++ set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE OFF) ++endif(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE) ++ ++if (WTF_CPU_ARM64 AND NOT CMAKE_CROSSCOMPILING AND (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")) + execute_process(COMMAND nproc OUTPUT_VARIABLE PROC_COUNT) + math(EXPR PROC_MAX ${PROC_COUNT}-1) + foreach (PROC_ID RANGE ${PROC_MAX}) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch b/poky/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch new file mode 100644 index 000000000..c6157e103 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch @@ -0,0 +1,46 @@ +From 0b3811771ae6385503f2d949f9433d8f810d2ff9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 17 May 2017 22:34:24 -0700 +Subject: [PATCH 8/9] webkitgtk: Fix build for armv5 + +Taken from +https://bugs.webkit.org/show_bug.cgi?id=161900 + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- + Source/WTF/wtf/CMakeLists.txt | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt +index 6b5e45b9..46ee3c22 100644 +--- a/Source/WTF/wtf/CMakeLists.txt ++++ b/Source/WTF/wtf/CMakeLists.txt +@@ -205,7 +205,6 @@ set(WTF_HEADERS + + set(WTF_SOURCES + Assertions.cpp +- Atomics.cpp + AutomaticThread.cpp + BitVector.cpp + CPUTime.cpp +@@ -336,6 +335,15 @@ if (NOT USE_SYSTEM_MALLOC) + list(APPEND WTF_LIBRARIES bmalloc) + endif () + ++file(WRITE ${CMAKE_BINARY_DIR}/test_atomics.cpp ++ "int main(void)\n" ++ "{ long long x = 1; return (int) __sync_add_and_fetch_8(&x, 1); }\n") ++try_compile(ATOMICS_BUILD_SUCCEEDED ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/test_atomics.cpp) ++if (NOT ATOMICS_BUILD_SUCCEEDED) ++ list(APPEND WTF_SOURCES Atomics.cpp) ++endif () ++file(REMOVE ${CMAKE_BINARY_DIR}/test_atomics.cpp) ++ + list(APPEND WTF_SOURCES + unicode/icu/CollatorICU.cpp + ) +-- +2.14.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/fix-configure-failure-aarch64.patch b/poky/meta/recipes-sato/webkit/webkitgtk/fix-configure-failure-aarch64.patch new file mode 100644 index 000000000..4a6ab544b --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/fix-configure-failure-aarch64.patch @@ -0,0 +1,29 @@ +Fix configure failure for aarch64 + +| -- Performing Test CXX_COMPILER_SUPPORTS_-fcolor-diagnostics - Failed +| -- Performing Test CXX_COMPILER_SUPPORTS_-fdiagnostics-color=always +| -- Performing Test CXX_COMPILER_SUPPORTS_-fdiagnostics-color=always - Success +| CMake Error at Source/cmake/OptionsCommon.cmake:42 (WEBKIT_PREPEND_GLOBAL_COMPILER_FLAG): +| Unknown CMake command "WEBKIT_PREPEND_GLOBAL_COMPILER_FLAG". +| Call Stack (most recent call first): +| Source/cmake/WebKitCommon.cmake:58 (include) +| CMakeLists.txt:166 (include) +| + +Upstream-Status: Pending + +Signed-off-by: Manjukumar Matha + +Index: webkitgtk-2.14.6/Source/cmake/OptionsCommon.cmake +=================================================================== +--- webkitgtk-2.14.6.orig/Source/cmake/OptionsCommon.cmake 2018-02-15 18:56:29.315238564 -0800 ++++ webkitgtk-2.14.6/Source/cmake/OptionsCommon.cmake 2018-02-15 18:54:57.469518064 -0800 +@@ -39,7 +39,7 @@ + if (NOT WTF_CPU_ARM64) + message(FATAL_ERROR "WTF_CPU_ARM64_CORTEXA53 set without WTF_CPU_ARM64") + endif () +- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAG(-mfix-cortex-a53-835769) ++ WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-mfix-cortex-a53-835769) + endif () + + EXPOSE_VARIABLE_TO_BUILD(WTF_CPU_ARM64_CORTEXA53) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/x32_support.patch b/poky/meta/recipes-sato/webkit/webkitgtk/x32_support.patch new file mode 100644 index 000000000..5f2383758 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/x32_support.patch @@ -0,0 +1,21 @@ +From: Daniel Schepler +Subject: Fix FTBFS in x32 +Bug-Debian: https://bugs.debian.org/700795 +Upstream-Status: Pending +Signed-off-by: Christopher Larson +Index: webkitgtk-2.16.1/Source/WTF/wtf/Platform.h +=================================================================== +--- webkitgtk-2.16.1.orig/Source/WTF/wtf/Platform.h ++++ webkitgtk-2.16.1/Source/WTF/wtf/Platform.h +@@ -172,7 +172,11 @@ + /* CPU(X86_64) - AMD64 / Intel64 / x86_64 64-bit */ + #if defined(__x86_64__) \ + || defined(_M_X64) ++#ifdef __ILP32__ ++#define WTF_CPU_X86_64_32 1 ++#else + #define WTF_CPU_X86_64 1 ++#endif + #define WTF_CPU_X86_SSE2 1 + #endif + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.18.6.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.18.6.bb new file mode 100644 index 000000000..c29fa7f4c --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.18.6.bb @@ -0,0 +1,123 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "http://www.webkitgtk.org/" +BUGTRACKER = "http://bugs.webkit.org/" + +LICENSE = "BSD & LGPLv2+" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ + file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \ + file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ + file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ + file://x32_support.patch \ + file://cross-compile.patch \ + file://detect-atomics-during-configure.patch \ + file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ + file://0001-Fix-build-with-musl.patch \ + file://fix-configure-failure-aarch64.patch \ + file://0001-Fix-gles3-header-when-gles2-is-enabled.patch \ + " + +SRC_URI[md5sum] = "c1a548595135ee75ad3bf2e18ac83112" +SRC_URI[sha256sum] = "93912cc2f40f12e452be1ca4babdbdaac0ec4f828d441257a6b06c2963bbac3c" + +inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc + +# depends on libxt +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \ + gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ + pango icu bison-native gawk intltool-native libwebp \ + atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \ + ruby-native libnotify gstreamer1.0-plugins-bad \ + gettext-native glib-2.0 glib-2.0-native libtasn1 \ + " + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \ + enchant \ + libsecret \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant" +PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" +PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + -DCMAKE_BUILD_TYPE=Release \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DPYTHON_EXECUTABLE=`which python` \ + " + +# GL/GLES header clash: both define the same thing, differently, on 32 bit x86 +EXTRA_OECMAKE_append_x86 = " -DUSE_GSTREAMER_GL=OFF " +EXTRA_OECMAKE_append_x86-x32 = " -DUSE_GSTREAMER_GL=OFF " + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " + +# binutils 2.25.1 has a bug on aarch64: +# https://sourceware.org/bugzilla/show_bug.cgi?id=18430 +EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_toolchain-clang = " -DUSE_LD_GOLD=OFF " + +EXTRA_OECMAKE_append_aarch64 = " -DWTF_CPU_ARM64_CORTEXA53=ON" + +# JIT not supported on MIPS either +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS_remove_aarch64 = "-fpie" +SECURITY_CFLAGS_append_aarch64 = " -fPIE" + +FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET_armv7a = "thumb" +ARM_INSTRUCTION_SET_armv7r = "thumb" +ARM_INSTRUCTION_SET_armv7ve = "thumb" + +# qemu: uncaught target signal 11 (Segmentation fault) - core dumped +# Segmentation fault +GI_DATA_ENABLED_armv7a = "False" +GI_DATA_ENABLED_armv7ve = "False" -- cgit v1.2.3