mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-18 10:32:48 +02:00
Add a LLVM_USE_LINKER that defines the linker to use when building LLVM
Summary: This string parameter is passed to -fuse-ld when linking. It can be an absolute path to your custom linker, otherwise clang will look for `ld.{name}`. Reviewers: davide, tejohnson, pcc Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D28738 llvm-svn: 292047
This commit is contained in:
parent
8117e6a0a9
commit
5fa6e09708
@ -147,9 +147,19 @@ function(add_flag_or_print_warning flag name)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
if(LLVM_ENABLE_LLD)
|
||||
check_cxx_compiler_flag("-fuse-ld=lld" CXX_SUPPORTS_LLD)
|
||||
append_if(CXX_SUPPORTS_LLD "-fuse-ld=lld"
|
||||
if( LLVM_ENABLE_LLD )
|
||||
if ( LLVM_USE_LINKER )
|
||||
message(FATAL_ERROR "LLVM_ENABLE_LLD and LLVM_USE_LINKER can't be set at the same time")
|
||||
endif()
|
||||
set(LLVM_USE_LINKER "lld")
|
||||
endif()
|
||||
|
||||
if( LLVM_USE_LINKER )
|
||||
check_cxx_compiler_flag("-fuse-ld=${LLVM_USE_LINKER}" CXX_SUPPORTS_CUSTOM_LINKER)
|
||||
if ( NOT CXX_SUPPORTS_CUSTOM_LINKER )
|
||||
message(FATAL_ERROR "Host compiler does not support '-fuse-ld=${LLVM_USE_LINKER}'")
|
||||
endif()
|
||||
append("-fuse-ld=${LLVM_USE_LINKER}"
|
||||
CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
endif()
|
||||
|
||||
|
@ -382,6 +382,18 @@ LLVM-specific variables
|
||||
lines, enabling link-time optimization. Possible values are ``Off``,
|
||||
``On``, ``Thin`` and ``Full``. Defaults to OFF.
|
||||
|
||||
**LLVM_USE_LINKER**:STRING
|
||||
Add ``-fuse-ld={name}`` to the link invocation. The possible value depend on
|
||||
your compiler, for clang the value can be an absolute path to your custom
|
||||
linker, otherwise clang will prefix the name with ``ld.`` and apply its usual
|
||||
search. For example to link LLVM with the Gold linker, cmake can be invoked
|
||||
with ``-DLLVM_USE_LINKER=gold``.
|
||||
|
||||
**LLVM_ENABLE_LLD**:BOOL
|
||||
This option is equivalent to `-DLLVM_USE_LINKER=lld`, except during a 2-stage
|
||||
build where a dependency is added from the first stage to the second ensuring
|
||||
that lld is built before stage2 begins.
|
||||
|
||||
**LLVM_PARALLEL_COMPILE_JOBS**:STRING
|
||||
Define the maximum number of concurrent compilation jobs.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user