summaryrefslogtreecommitdiffstats
path: root/meta-efl/recipes-efl
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2012-04-29 23:05:11 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2012-05-04 10:05:32 +0200
commit328cc40a12cc2e2d70fbfd5c37b6dbf914358bee (patch)
tree1d48310dacc603f95476837eb34525ca251cc89c /meta-efl/recipes-efl
parentfbf0e66f986497d2bcadc48977b0de705b0dfc9f (diff)
downloadmeta-openembedded-328cc40a12cc2e2d70fbfd5c37b6dbf914358bee.tar.gz
webkit-efl: fix build with gcc-4.7
* that patch is backport of http://trac.webkit.org/changeset/113786/trunk/ to our SRCREV Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-efl/recipes-efl')
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl/0001-CMake-Do-not-pass-P-to-the-preprocessor-when-running.patch76
-rw-r--r--meta-efl/recipes-efl/webkit/webkit-efl_svn.bb3
2 files changed, 78 insertions, 1 deletions
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0001-CMake-Do-not-pass-P-to-the-preprocessor-when-running.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0001-CMake-Do-not-pass-P-to-the-preprocessor-when-running.patch
new file mode 100644
index 000000000..dcd3a4672
--- /dev/null
+++ b/meta-efl/recipes-efl/webkit/webkit-efl/0001-CMake-Do-not-pass-P-to-the-preprocessor-when-running.patch
@@ -0,0 +1,76 @@
1From 3dfc99730b99472d642f19b825fb9794e32a05c4 Mon Sep 17 00:00:00 2001
2From: "rakuco@webkit.org"
3 <rakuco@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
4Date: Tue, 10 Apr 2012 22:59:04 +0000
5Subject: [PATCH] [CMake] Do not pass -P to the preprocessor when running
6 make_names.pl.
7 https://bugs.webkit.org/show_bug.cgi?id=83225
8
9Reviewed by Rob Buis.
10
11This is necessary to make CMake-based ports build with the
12recently-released GCC 4.7.0, whose preprocessor seems to ignore
13empty lines when -P is passed to it. Such behavior breaks
14make_names.pl (in fact, InFilesParser.pm), which expects an empty
15line to separate common and specific sections in .in files.
16
17A fix for this same problem has been supposedly done in r84123,
18but as the CMake-based ports always pass --preprocessor to the
19Perl tools the fix never reached us.
20
21The idea is to define CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS
22for (!MSVC && !QNX) and use it in the macros which call
23make_names.pl.
24
25* Source/cmake/OptionsCommon.cmake:
26* Source/cmake/WebKitMacros.cmake:
27
28git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
29---
30 ChangeLog | 24 ++++++++++++++++++++++++
31 Source/cmake/OptionsCommon.cmake | 7 +++++++
32 Source/cmake/WebKitMacros.cmake | 2 +-
33 3 files changed, 32 insertions(+), 1 deletions(-)
34
35diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
36index 11581e6..37cb4a8 100644
37--- a/Source/cmake/OptionsCommon.cmake
38+++ b/Source/cmake/OptionsCommon.cmake
39@@ -5,14 +5,21 @@ IF (WTF_OS_UNIX)
40 ADD_DEFINITIONS(-DXP_UNIX)
41 ENDIF (WTF_OS_UNIX)
42
43+# CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS only matters with GCC >= 4.7.0. Since this
44+# version, -P does not output empty lines, which currently breaks make_names.pl in
45+# WebCore. Investigating whether make_names.pl should be changed instead is left as an exercise to
46+# the reader.
47 IF (MSVC)
48 # FIXME: Some codegenerators don't support paths with spaces. So use the executable name only.
49 GET_FILENAME_COMPONENT(CODE_GENERATOR_PREPROCESSOR_EXECUTABLE ${CMAKE_CXX_COMPILER} NAME)
50 SET(CODE_GENERATOR_PREPROCESSOR "${CODE_GENERATOR_PREPROCESSOR_EXECUTABLE} /nologo /EP")
51+ SET(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
52 ELSEIF (CMAKE_SYSTEM_NAME MATCHES QNX)
53 SET(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -Wp,-P -x c++")
54+ SET(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
55 ELSE ()
56 SET(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -P -x c++")
57+ SET(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CMAKE_CXX_COMPILER} -E -x c++")
58 ENDIF ()
59
60 SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
61diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake
62index 3abe342..4e7ca9f 100644
63--- a/Source/cmake/WebKitMacros.cmake
64+++ b/Source/cmake/WebKitMacros.cmake
65@@ -89,7 +89,7 @@ MACRO (GENERATE_DOM_NAMES _namespace _attrs)
66 ADD_CUSTOM_COMMAND(
67 OUTPUT ${_outputfiles}
68 DEPENDS ${NAMES_GENERATOR} ${SCRIPTS_BINDINGS} ${_attrs} ${_tags}
69- COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${NAMES_GENERATOR} --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --outputDir ${DERIVED_SOURCES_WEBCORE_DIR} ${_arguments} ${_additionArguments}
70+ COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${NAMES_GENERATOR} --preprocessor "${CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS}" --outputDir ${DERIVED_SOURCES_WEBCORE_DIR} ${_arguments} ${_additionArguments}
71 VERBATIM)
72 ENDMACRO ()
73
74--
751.7.7
76
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb b/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb
index c0e346ce0..cd3809654 100644
--- a/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb
+++ b/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb
@@ -11,7 +11,7 @@ DEPENDS = "icu libxslt sqlite3 gperf-native bison-native flex-native jpeg \
11 11
12SRCREV = "105069" 12SRCREV = "105069"
13PV = "1.7.3+svnr${SRCPV}" 13PV = "1.7.3+svnr${SRCPV}"
14PR = "r1" 14PR = "r2"
15 15
16SRCREV_FORMAT = "source" 16SRCREV_FORMAT = "source"
17 17
@@ -20,6 +20,7 @@ SRC_URI = "\
20 svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;proto=http;subdir=src \ 20 svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;proto=http;subdir=src \
21 svn://svn.webkit.org/repository/webkit/trunk/;module=Tools;proto=http;subdir=src \ 21 svn://svn.webkit.org/repository/webkit/trunk/;module=Tools;proto=http;subdir=src \
22 file://0001-JavaScriptCore-add-EINA_LIBRARIES-to-shell-build-for.patch \ 22 file://0001-JavaScriptCore-add-EINA_LIBRARIES-to-shell-build-for.patch \
23 file://0001-CMake-Do-not-pass-P-to-the-preprocessor-when-running.patch \
23 file://CMakeLists.txt \ 24 file://CMakeLists.txt \
24" 25"
25 26