From 67e331f762943a1719a107c1d8c01c41bfb3be67 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 23 Sep 2022 15:10:33 +0200 Subject: [PATCH] Use single build for static and shared library --- libcxx.spec | 62 ++++++++++++++++------------------------------------- 1 file changed, 19 insertions(+), 43 deletions(-) diff --git a/libcxx.spec b/libcxx.spec index a9c86b6..ba69040 100644 --- a/libcxx.spec +++ b/libcxx.spec @@ -76,64 +76,39 @@ else LIBCXX_ABI_PATH=%{_includedir}/c++/v1 fi -common_cmake_flags="\ +%cmake -GNinja \ + -DCMAKE_MODULE_PATH=%{_libdir}/cmake/llvm \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ %if 0%{?__isa_bits} == 64 -DLIBCXX_LIBDIR_SUFFIX:STRING=64 \ %endif %if %{bootstrap} < 1 -DLIBCXX_CXX_ABI=system-libcxxabi \ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$LIBCXX_ABI_PATH \ + -DLIBCXX_CXX_ABI_LIBRARY_PATH=%{_libdir} \ -DPython3_EXECUTABLE=%{_bindir}/python3 \ %endif -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ - -DCMAKE_MODULE_PATH=%{_libdir}/cmake/llvm \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo" - -# Build the static libc++.a. -# We include the libc++abi symbols. -%cmake -GNinja \ - $common_cmake_flags \ - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF \ - -DLIBCXX_ENABLE_STATIC=ON \ - -DLIBCXX_ENABLE_SHARED=OFF \ - -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \ - -DLIBCXX_CXX_ABI_LIBRARY_PATH=%{_libdir} - -%cmake_build - -# Manually link libc++.a against libc++abi.a, because the libcxx build system is currently -# broken when system-libcxxabi is used. -# Also place libc++.a into results-static so we can install it later. -LIBCXX_A=`find $PWD -name libc++.a` -mkdir results-static -pushd results-static -ar -M <