sys-libs/compiler-rt-sanitizers: Include LLVMgold in test compiler
authorMichał Górny <mgorny@gentoo.org>
Thu, 15 Dec 2016 20:33:39 +0000 (21:33 +0100)
committerMichał Górny <mgorny@gentoo.org>
Fri, 16 Dec 2016 13:05:28 +0000 (14:05 +0100)
Symlink the LLVMgold.so plugin in the test compiler tree since some of
the tests use LTO support if available, and clang uses plugin path
relative to the executable.

sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild

index 77170a8cbca5cd7ed9da608e75d81362676106fe..10ad413060230451e72941d0cb9464183617156f 100644 (file)
@@ -92,13 +92,18 @@ src_configure() {
 
                # copy clang over since resource_dir is located relatively to binary
                # therefore, we can put our new libraries in it
-               mkdir -p "${BUILD_DIR}"/{bin,lib/clang/"${clang_version}"/include} || die
+               mkdir -p "${BUILD_DIR}"/{bin,$(get_libdir),lib/clang/"${clang_version}"/include} || die
                cp "${EPREFIX}/usr/bin/clang" "${EPREFIX}/usr/bin/clang++" \
                        "${BUILD_DIR}"/bin/ || die
                cp "${EPREFIX}/usr/lib/clang/${clang_version}/include"/*.h \
                        "${BUILD_DIR}/lib/clang/${clang_version}/include/" || die
                cp "${sys_dir}"/*builtins*.a \
                        "${BUILD_DIR}/lib/clang/${clang_version}/lib/${sys_dir##*/}/" || die
+               # we also need LLVMgold.so for gold-based tests
+               if [[ -f ${EPREFIX}/usr/$(get_libdir)/LLVMgold.so ]]; then
+                       ln -s "${EPREFIX}/usr/$(get_libdir)/LLVMgold.so" \
+                               "${BUILD_DIR}/$(get_libdir)/" || die
+               fi
        fi
 }