Changeset 244895 in webkit
- Timestamp:
- May 2, 2019 4:39:35 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r244881 r244895 1 2019-05-02 Christopher Reid <chris.reid@sony.com> 2 3 [CMake] Add support for LTO builds 4 https://bugs.webkit.org/show_bug.cgi?id=188986 5 6 Reviewed by Don Olmstead. 7 8 Add LTO_MODE cmake variable to enable flto in clang builds. 9 Add support to use ld.lld to build with LTO. 10 11 * Source/cmake/OptionsCommon.cmake: 12 * Source/cmake/WebKitCompilerFlags.cmake: 13 1 14 2019-05-02 Don Olmstead <don.olmstead@sony.com> 2 15 -
trunk/Source/cmake/OptionsCommon.cmake
r237922 r244895 60 60 endif () 61 61 62 # Use ld.lld when building with LTO 63 CMAKE_DEPENDENT_OPTION(USE_LD_LLD "Use LLD linker" ON 64 "LTO_MODE;NOT USE_LD_GOLD;NOT WIN32" OFF) 65 if (USE_LD_LLD) 66 execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=lld -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION) 67 if ("${LD_VERSION}" MATCHES "LLD") 68 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld -Wl,--disable-new-dtags") 69 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld -Wl,--disable-new-dtags") 70 else () 71 set(USE_LD_LLD OFF) 72 endif () 73 endif () 74 62 75 # Use ld.gold if it is available and isn't disabled explicitly 63 76 CMAKE_DEPENDENT_OPTION(USE_LD_GOLD "Use GNU gold linker" ON 64 "NOT CXX_ACCEPTS_MFIX_CORTEX_A53_835769;NOT ARM_TRADITIONAL_DETECTED;NOT WIN32;NOT APPLE " OFF)77 "NOT CXX_ACCEPTS_MFIX_CORTEX_A53_835769;NOT ARM_TRADITIONAL_DETECTED;NOT WIN32;NOT APPLE;NOT USE_LD_LLD" OFF) 65 78 if (USE_LD_GOLD) 66 79 execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION) -
trunk/Source/cmake/WebKitCompilerFlags.cmake
r244653 r244895 165 165 # See https://bugs.webkit.org/show_bug.cgi?id=77327 166 166 set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "-Wl,--no-keep-memory ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}") 167 endif () 168 169 if (LTO_MODE AND COMPILER_IS_CLANG) 170 set(CMAKE_C_FLAGS "-flto=${LTO_MODE} ${CMAKE_C_FLAGS}") 171 set(CMAKE_CXX_FLAGS "-flto=${LTO_MODE} ${CMAKE_CXX_FLAGS}") 172 set(CMAKE_EXE_LINKER_FLAGS "-flto=${LTO_MODE} ${CMAKE_EXE_LINKER_FLAGS}") 173 set(CMAKE_SHARED_LINKER_FLAGS "-flto=${LTO_MODE} ${CMAKE_SHARED_LINKER_FLAGS}") 174 set(CMAKE_MODULE_LINKER_FLAGS "-flto=${LTO_MODE} ${CMAKE_MODULE_LINKER_FLAGS}") 167 175 endif () 168 176 -
trunk/Tools/ChangeLog
r244884 r244895 1 2019-05-02 Christopher Reid <chris.reid@sony.com> 2 3 [CMake] Add support for LTO builds 4 https://bugs.webkit.org/show_bug.cgi?id=188986 5 6 Reviewed by Don Olmstead. 7 8 Add support to configure --lto-mode with cmake builds. 9 10 * Scripts/build-webkit: 11 * Scripts/webkitdirs.pm: 12 (generateBuildSystemFromCMakeProject): 13 1 14 2019-05-02 John Wilander <wilander@apple.com> 2 15 -
trunk/Tools/Scripts/build-webkit
r244171 r244895 115 115 --coverage Enable code coverage support (Mac only) 116 116 --analyze Enable static anaylsis (iOS and Mac only) 117 --lto-mode=<mode> Set Link Time Optimization mode (full, thin, or none) ( Xcodeonly)117 --lto-mode=<mode> Set Link Time Optimization mode (full, thin, or none) (LLVM only) 118 118 119 119 --gtk Build the GTK+ port -
trunk/Tools/Scripts/webkitdirs.pm
r244543 r244895 2180 2180 push @args, "-DENABLE_SANITIZERS=address" if asanIsEnabled(); 2181 2181 2182 push @args, "-DLTO_MODE=$ltoMode" if ltoMode(); 2183 2182 2184 push @args, '-DCMAKE_TOOLCHAIN_FILE=Platform/PlayStation' if isPlayStation(); 2183 2185
Note: See TracChangeset
for help on using the changeset viewer.