llvm-project/llvm/cmake
Rainer Orth 2feb72bcd5 [cmake] Don't pass -z discard-unused to Illumos ld
I'm currently working to port `libc++` to Solaris.  There exists a slightly
bitrotten port already, which was done on Illumos, an OpenSolaris
derivative.  In order not to break that port with my work, I need to test
the result on both Solaris and Illumos.  While doing so, it turned out that
Illumos `ld` doesn't support the `-z discard-sections=unused` option
currently used on SunOS unconditionally.

While there exists a patch
<https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/developer/clang-90/patches/02-cmake_modules_AddLLVM.cmake.patch>
for LLVM 9.0 in the OpenIndiana repository, it apparently hasn't been
submitted upstream and is completely wrong: it replaces
`-z discard-sections=unused` with `-z ignore`.  In terms of the equivalent
`gld` options, this means replacing `--gc-sections` with `--as-needed`.

This patch instead tests if the linker actually supports the option before
using it.

Tested on `amd64-pc-solaris2.11` (all of Solaris 11.4, 11.3 and OpenIndiana
2020.04).

Differential Revision: https://reviews.llvm.org/D81545
2020-06-12 09:56:42 +02:00
..
modules [cmake] Don't pass -z discard-unused to Illumos ld 2020-06-12 09:56:42 +02:00
platforms [CMake] [WinMsvc] Look for includes and libs in ${MSVC_BASE}/atlmfc 2019-10-22 06:36:27 +00:00
README
config-ix.cmake [CMake] Do not append -lm to CMAKE_REQUIRED_LIBRARIES on Apple 2020-06-05 12:45:30 -04:00
config.guess llvm/cmake/config.guess: add support for riscv32 and riscv64 2020-02-14 11:53:51 +00:00
dummy.cpp
nsis_icon.ico
nsis_logo.bmp

README

See docs/CMake.html for instructions on how to build LLVM with CMake.