summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLei Zhang <zhanglei.april@gmail.com>2016-09-03 19:28:24 +0800
committerAlexis Ballier <aballier@gentoo.org>2016-10-03 10:51:20 +0200
commit600a473dc06a2527981b2e9ecc91a69774cd04f6 (patch)
tree0bf99e38568147733adb37ac389f076455eca4aa /sys-libs/libcxx/files
parentsys-libs/libcxx: update maintainers in metadata (diff)
downloadgentoo-600a473dc06a2527981b2e9ecc91a69774cd04f6.tar.gz
gentoo-600a473dc06a2527981b2e9ecc91a69774cd04f6.tar.bz2
gentoo-600a473dc06a2527981b2e9ecc91a69774cd04f6.zip
sys-libs/libcxx: update live ebuild to use cmake
Notable changes: - gcc is now required to build libcxx against libsupc++ - keyword ~mips is dropped to be compatible with clang/llvm
Diffstat (limited to 'sys-libs/libcxx/files')
-rw-r--r--sys-libs/libcxx/files/libcxx-3.9-cmake-link-flags.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys-libs/libcxx/files/libcxx-3.9-cmake-link-flags.patch b/sys-libs/libcxx/files/libcxx-3.9-cmake-link-flags.patch
new file mode 100644
index 000000000000..bef5bc187547
--- /dev/null
+++ b/sys-libs/libcxx/files/libcxx-3.9-cmake-link-flags.patch
@@ -0,0 +1,23 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d618e83..0e76525 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -293,6 +293,18 @@ remove_flags(-DNDEBUG -UNDEBUG -D_DEBUG
+ # so they don't get transformed into -Wno and -errors respectivly.
+ remove_flags(-Wno-pedantic -pedantic-errors -pedantic)
+
++# FIXME: this is cribbed from HandleLLVMOptions.cmake.
++if(LIBCXX_STANDALONE_BUILD)
++ # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO
++ # build might work on ELF but fail on MachO/COFF.
++ if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR
++ ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
++ ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND
++ NOT LLVM_USE_SANITIZER)
++ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,defs")
++ endif()
++endif()
++
+ # Required flags ==============================================================
+ add_compile_flags_if_supported(-std=c++11)
+ if (NOT MSVC AND NOT LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG)