mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 19:07:34 +00:00
Toolchain: Use Platform/SerenityOS.cmake in LLVM toolchain build
By setting CMAKE_MODULE_PATH in the LLVM initial cache scripts, we can make the "SerenityOS" CMAKE_SYSTEM_NAME usable in the builds of compiler-rt, libunwind, libcxxabi and libcxx. This simplifies some toolchain patches and brings the cross-compiler patches closer to the Port's patches, and closer to something upstreamable.
This commit is contained in:
parent
af31253a16
commit
c5898806d2
4 changed files with 34 additions and 14 deletions
|
@ -1,5 +1,9 @@
|
|||
# This file specifies the options used for building the Clang compiler, LLD linker and the compiler builtins library
|
||||
|
||||
# Note: We force the cmake module path for all dependent projects to include our custom directory
|
||||
# That has the Platform/SerenityOS.cmake definition
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${SERENITY_MODULE_PATH}" CACHE STRING "Modules for CMake")
|
||||
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "")
|
||||
|
||||
set(LLVM_TARGETS_TO_BUILD "X86;AArch64" CACHE STRING "")
|
||||
|
@ -35,10 +39,14 @@ foreach(target i686-pc-serenity;x86_64-pc-serenity;aarch64-pc-serenity)
|
|||
set(RUNTIMES_${target}_COMPILER_RT_BUILD_PROFILE OFF CACHE BOOL "")
|
||||
set(RUNTIMES_${target}_COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "")
|
||||
set(RUNTIMES_${target}_COMPILER_RT_BUILD_ORC OFF CACHE BOOL "")
|
||||
set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME SerenityOS CACHE STRING "")
|
||||
set(RUNTIMES_${target}_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} CACHE STRING "")
|
||||
|
||||
set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "")
|
||||
set(BUILTINS_${target}_CMAKE_SYSROOT ${SERENITY_${target}_SYSROOT} CACHE PATH "")
|
||||
set(BUILTINS_${target}_COMPILER_RT_EXCLUDE_ATOMIC_BUILTIN OFF CACHE BOOL "")
|
||||
set(BUILTINS_${target}_CMAKE_SYSTEM_NAME SerenityOS CACHE STRING "")
|
||||
set(BUILTINS_${target}_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} CACHE STRING "")
|
||||
endforeach()
|
||||
|
||||
set(LLVM_TOOLCHAIN_TOOLS
|
||||
|
|
|
@ -1,9 +1,14 @@
|
|||
# This file specifies the options used for building the various LLVM runtime libraries
|
||||
|
||||
# Note: We force the cmake module path for all dependent projects to include our custom directory
|
||||
# That has the Platform/SerenityOS.cmake definition
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${SERENITY_MODULE_PATH}" CACHE STRING "Modules for CMake")
|
||||
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "")
|
||||
|
||||
set(LLVM_ENABLE_RUNTIMES "libcxx;libcxxabi;libunwind" CACHE STRING "")
|
||||
|
||||
set(CMAKE_SYSTEM_NAME SerenityOS CACHE STRING "")
|
||||
set(target_triple ${SERENITY_TOOLCHAIN_ARCH}-pc-serenity)
|
||||
|
||||
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue