From 2d5fee9b65d9e24dd22a2f14c97d7c83461f92e9 Mon Sep 17 00:00:00 2001 From: "commit-queue@webkit.org" Date: Mon, 28 Jan 2013 20:19:14 +0000 Subject: [PATCH 1/1] [EFL] Quit debug build without -DSHARED_CORE=ON https://bugs.webkit.org/show_bug.cgi?id=104773 Patch by Halton Huo on 2013-01-28 Reviewed by Laszlo Gombos. Debug build without -DSHARED_CORE=ON will fail because libwebcore_efl.a is too big (>4G) to archive. The solution is simply to abort cmake in this condition and notify developer. * CMakeLists.txt: * Source/cmake/OptionsEfl.cmake: * Source/cmake/OptionsCommon.cmake: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@140990 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- CMakeLists.txt | 1 + ChangeLog | 15 +++++++++++++++ Source/cmake/OptionsCommon.cmake | 2 +- Source/cmake/OptionsEfl.cmake | 6 +++++- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a16aaa11c55d..9e2d14fba72e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ project(WebKit) if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_C_FLAGS AND NOT CMAKE_CXX_FLAGS) set(CMAKE_BUILD_TYPE Release) endif () +string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE) # ----------------------------------------------------------------------------- # Default library type diff --git a/ChangeLog b/ChangeLog index 63ba84bec4a3..6061735143ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2013-01-28 Halton Huo + + [EFL] Quit debug build without -DSHARED_CORE=ON + https://bugs.webkit.org/show_bug.cgi?id=104773 + + Reviewed by Laszlo Gombos. + + Debug build without -DSHARED_CORE=ON will fail because libwebcore_efl.a + is too big (>4G) to archive. The solution is simply to abort cmake in + this condition and notify developer. + + * CMakeLists.txt: + * Source/cmake/OptionsEfl.cmake: + * Source/cmake/OptionsCommon.cmake: + 2013-01-28 Renata Hodovan [WK2] Putting QtWebProcess into a chrooted sandbox diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake index 4137d3b630d2..8ede3cae74df 100644 --- a/Source/cmake/OptionsCommon.cmake +++ b/Source/cmake/OptionsCommon.cmake @@ -27,7 +27,7 @@ endif () set_property(GLOBAL PROPERTY USE_FOLDERS ON) string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR) -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|x86)" AND "${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|x86)" AND "${CMAKE_BUILD_TYPE}" STREQUAL "debug") # To avoid out of memory when building with debug option in 32bit system. # See https://bugs.webkit.org/show_bug.cgi?id=77327 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-keep-memory ${CMAKE_SHARED_LINKER_FLAGS}") diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake index cb6dee2ffc11..573f200f0b53 100644 --- a/Source/cmake/OptionsEfl.cmake +++ b/Source/cmake/OptionsEfl.cmake @@ -9,6 +9,10 @@ if (NOT DEFINED ENABLE_WEBKIT2) set(ENABLE_WEBKIT2 ON) endif () +if (${CMAKE_BUILD_TYPE} STREQUAL "debug" AND NOT SHARED_CORE) + message(FATAL_ERROR "Turn on the SHARED_CORE flag to make a debug build - e.g.\n build-webkit --efl --debug --cmakeargs=\"-DSHARED_CORE=ON\".\n") +endif () + find_package(Cairo 1.10.2 REQUIRED) find_package(Fontconfig 2.8.0 REQUIRED) find_package(Sqlite REQUIRED) @@ -215,7 +219,7 @@ endif () set(CPACK_SOURCE_GENERATOR TBZ2) # Optimize binary size for release builds by removing dead sections on unix/gcc -if (CMAKE_BUILD_TYPE STREQUAL Release AND CMAKE_COMPILER_IS_GNUCC AND UNIX AND NOT APPLE) +if (CMAKE_BUILD_TYPE STREQUAL release AND CMAKE_COMPILER_IS_GNUCC AND UNIX AND NOT APPLE) set(CMAKE_C_FLAGS "-ffunction-sections -fdata-sections ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS}") set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--gc-sections ${CMAKE_SHARED_LINKER_FLAGS}") -- 2.36.0