diff --git a/libcxx-CmakeLists.txt b/libcxx-CmakeLists.txt new file mode 100644 index 0000000..cf07074 --- /dev/null +++ b/libcxx-CmakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.13.4) +project(Runtimes C CXX ASM) +add_subdirectory(libcxxabi) +add_subdirectory(libcxx) diff --git a/libcxx.spec b/libcxx.spec index 9b69834..1d6d78a 100644 --- a/libcxx.spec +++ b/libcxx.spec @@ -1,5 +1,5 @@ Name: libcxx -Version: 11.1.0 +Version: 16.0.4 Release: 1mamba Summary: An implementation of the C++ standard library, targeting C++11, C++14 and above Group: System/Libraries @@ -9,7 +9,8 @@ Packager: Silvan Calarco URL: https://libcxx.llvm.org/ Source: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/libcxx-%{version}.src.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/libcxxabi-%{version}.src.tar.xz -Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/llvm-%{version}.src.tar.xz +Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/cmake-%{version}.src.tar.xz +Source5: libcxx-CmakeLists.txt License: MIT, BSD ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel @@ -18,7 +19,7 @@ BuildRequires: libgcc ## AUTOBUILDREQ-END BuildRequires: cmake Provides: libc++ -Obsoletes: libc++ +Obsoletes: libc++ < 13.0.0 Requires: libcxxabi = %{?epoch:%epoch:}%{version}-%{release} %description @@ -28,9 +29,9 @@ libc++ is an implementation of the C++ standard library, targeting C++11, C++14 Group: Development/Libraries Summary: Development files for %{name} Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} -Requires: libcxxabi = %{?epoch:%epoch:}%{version}-%{release} +Requires: libcxxabi-devel = %{?epoch:%epoch:}%{version}-%{release} Provides: libc++-devel -Obsoletes: libc++-devel +Obsoletes: libc++-devel < 13.0.0 %description devel This package contains libraries and header files for developing applications that use %{name}. @@ -42,28 +43,44 @@ Summary: Low level support for the LLVM C++ standard library %description -n libcxxabi Low level support for the LLVM C++ standard library. +%package -n libcxxabi-devel +Group: Development/Libraries +Summary: Development files for libcxxabi +Requires: libcxxabi = %{?epoch:%epoch:}%{version}-%{release} + +%description -n libcxxabi-devel +This package contains libraries and header files for developing applications that use libcxxabi. + %debug_package %prep -%setup -q -c -a0 -a1 -a2 +%setup -q -c -a1 -a2 #% setup -q -c -D -T #:<< _EOF -mv llvm-%{version}.src llvm -mv libcxx-%{version}.src llvm/projects/libcxx -mv libcxxabi-%{version}.src llvm/projects/libcxxabi +mv libcxx-%{version}.src libcxx +mv libcxxabi-%{version}.src libcxxabi +mv cmake-%{version}.src cmake +cp %{SOURCE5} CMakeLists.txt %build -%cmake -d build \ - -G Ninja \ - -DCMAKE_C_COMPILER=clang \ - -DCMAKE_CXX_COMPILER=clang++ \ - -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=NO \ -%ifarch x86_64 aarch64 - -DLLVM_LIBDIR_SUFFIX="64" \ +#:<< _EOF +mkdir -p build +cd build +cmake -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ +%if 0%{?__isa_bits} == 64 + -DLIBCXX_LIBDIR_SUFFIX:STRING=64 \ + -DLIBCXXABI_LIBDIR_SUFFIX:STRING=64 \ %endif - ../llvm - -ninja cxx cxx_experimental + -DLIBCXX_INCLUDE_BENCHMARKS=OFF \ + -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \ + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=ON \ + .. + +ninja %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" @@ -82,24 +99,38 @@ DESTDIR=%{buildroot} ninja install-cxx install-cxxabi %files %defattr(-,root,root) %{_libdir}/libc++.so.* -%doc llvm/projects/libcxx/LICENSE.TXT llvm/projects/libcxx/CREDITS.TXT +%doc libcxx/LICENSE.TXT libcxx/CREDITS.TXT %files devel %defattr(-,root,root) %dir %{_includedir}/c++ %dir %{_includedir}/c++/v1 %{_includedir}/c++/v1/* +%exclude %{_includedir}/c++/v1/cxxabi.h +%exclude %{_includedir}/c++/v1/__cxxabi_config.h %{_libdir}/libc++.a +%{_libdir}/libc++experimental.a %{_libdir}/libc++.so -%{_libdir}/libc++abi.a -%{_libdir}/libc++abi.so %files -n libcxxabi %defattr(-,root,root) %{_libdir}/libc++abi.so.* -%doc llvm/projects/libcxxabi/LICENSE.TXT llvm/projects/libcxxabi/CREDITS.TXT +%doc libcxxabi/LICENSE.TXT libcxxabi/CREDITS.TXT + +%files -n libcxxabi-devel +%defattr(-,root,root) +%{_includedir}/c++/v1/cxxabi.h +%{_includedir}/c++/v1/__cxxabi_config.h +%{_libdir}/libc++abi.so +%{_libdir}/libc++abi.a %changelog +* Mon May 22 2023 Automatic Build System 16.0.4-1mamba +- automatic version update by autodist + +* Mon Apr 26 2021 Automatic Build System 12.0.0-1mamba +- automatic version update by autodist + * Thu Mar 25 2021 Silvan Calarco 11.1.0-1mamba - update to 11.1.0