From 6e5c54107f6e1487127c0f5b0a11f4ed062904d7 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 06:26:10 +0100 Subject: [PATCH] rebuilt wth LLVM_ENABLE_LIBCXX=ON [release 6.0.1-3mamba;Sat Jul 14 2018] --- llvm.spec | 149 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 118 insertions(+), 31 deletions(-) diff --git a/llvm.spec b/llvm.spec index 60697bb..3aa8e3a 100644 --- a/llvm.spec +++ b/llvm.spec @@ -2,20 +2,22 @@ %define majver %(echo %version | cut -d. -f1-2) Name: llvm Version: 6.0.1 -Release: 1mamba +Release: 3mamba Summary: The Low Level Virtual Machine Group: Development/Languages Vendor: openmamba Distribution: openmamba Packager: Davide Madrisan -URL: http://llvm.org/ -Source0: http://releases.llvm.org/%{version}/llvm-%{version}.src.tar.xz -Source1: http://releases.llvm.org/%{version}/cfe-%{version}.src.tar.xz -Source2: http://releases.llvm.org/%{version}/compiler-rt-%{version}.src.tar.xz -Source3: http://releases.llvm.org/%{version}/clang-tools-extra-%{version}.src.tar.xz -Source4: http://releases.llvm.org/%{version}/lld-%{version}.src.tar.xz -Source5: http://releases.llvm.org/%{version}/lldb-%{version}.src.tar.xz +URL: https://llvm.org/ +Source0: https://releases.llvm.org/%{version}/llvm-%{version}.src.tar.xz +Source1: https://releases.llvm.org/%{version}/cfe-%{version}.src.tar.xz +Source2: https://releases.llvm.org/%{version}/compiler-rt-%{version}.src.tar.xz +Source3: https://releases.llvm.org/%{version}/clang-tools-extra-%{version}.src.tar.xz +Source4: https://releases.llvm.org/%{version}/lld-%{version}.src.tar.xz +Source5: https://releases.llvm.org/%{version}/lldb-%{version}.src.tar.xz Source6: llvm-6.0.0-llvm-config.patch +Source7: https://releases.llvm.org/%{version}/libcxx-%{version}.src.tar.xz +Source8: https://releases.llvm.org/%{version}/libcxxabi-%{version}.src.tar.xz Patch0: %{name}-3.1-llvm-config.patch Patch1: llvm-3.4-default-to-i586.patch Patch2: llvm-5.0.0-openmamba-triplet.patch @@ -72,23 +74,21 @@ Group: Development/Languages Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Provides: llvm-devel Obsoletes: llvm-devel -Requires: libstdc++6-devel +Requires: libc++-devel %description -n lib%{name}-devel The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. This package contains library and header files needed to develop new native programs that use the LLVM infrastructure. -%package devel -Summary: Libraries and header files for LLVM -Group: Development/Languages -Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} -Requires: libstdc++6-devel +%package -n lib%{name}-apidocs +Group: Documentation +Summary: lib%{name} API documentation +Requires: lib%{name}-devel = %{?epoch:%epoch:}%{version}-%{release} +Requires: gtk-doc -%description devel -The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. -Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. -This package contains library and header files needed to develop new native programs that use the LLVM infrastructure. +%description -n lib%{name}-apidocs +This package includes the lib%{name} API documentation. %package tools Summary: Additional LLVM tools @@ -100,6 +100,30 @@ The LLVM Project is a collection of modular and reusable compiler and toolchain Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. This package contains additional LLVM tools. +%package -n libc++ +Group: System/Libraries +Summary: libc++ shared library for %{name} + +%description -n libc++ +This package contains the libc++ shared library for %{name}. + +%package -n libc++-devel +Summary: Libraries and header files for libc++ +Group: Development/Languages +Requires: libc++ = %{?epoch:%epoch:}%{version}-%{release} + +%description -n libc++-devel +This package contains libc++ library and header files needed to develop new native programs that use the LLVM infrastructure. + +%package -n libc++-apidocs +Group: Documentation +Summary: libc++ API documentation +Requires: libc++-devel = %{?epoch:%epoch:}%{version}-%{release} +Requires: gtk-doc + +%description -n libc++-apidocs +This package includes the libc++ API documentation. + %package -n clang Summary: LLVM native C/C++/Objective-C compiler Group: Development/Languages @@ -125,6 +149,15 @@ Cfe is an "LLVM native" C/C++/Objective-C compiler, which aims to deliver amazin The Cfe Static Analyzer is a tool automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Cfe frontend as a library to parse C/C++ code. This package contains header files for the Cfe compiler. +%package -n clang-apidocs +Group: Documentation +Summary: clang API documentation +Requires: clang-devel = %{?epoch:%epoch:}%{version}-%{release} +Requires: gtk-doc + +%description -n clang-apidocs +This package includes the clang API documentation. + %package ocaml Summary: OCaml binding for LLVM Group: Development/Libraries @@ -141,13 +174,23 @@ Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name}-ocaml = %{?epoch:%epoch:}%{version}-%{release} Requires: ocaml -%description ocaml-devel +%description ocaml-devel The %{name}-ocaml-devel package contains libraries and signature files for developing applications that use %{name}-ocaml. +%package ocaml-apidocs +Group: Documentation +Summary: LLVM ocaml API documentation +Requires: %{name}-ocaml-devel = %{?epoch:%epoch:}%{version}-%{release} +Requires: gtk-doc + +%description ocaml-apidocs +This package includes the LLVM ocaml API documentation. + %prep -%setup -q -a1 -a2 -a3 -a4 -a5 -n %{name}-%{version}.src -#-D -T +%setup -q -a1 -a2 -a3 -a4 -a5 -a7 -a8 -n %{name}-%{version}.src +#% setup -q -n %{name}-%{version}.src -D -T #:<< __EOF + #%patch0 -p1 #%patch1 -p1 mv cfe-%{version}.src tools/clang @@ -155,6 +198,8 @@ mv compiler-rt-%{version}.src projects/compiler-rt mv clang-tools-extra-%{version}.src tools/clang/tools/extra mv lld-%{version}.src tools/lld mv lldb-%{version}.src tools/lldb +mv libcxx-%{version}.src projects/libcxx +mv libcxxabi-%{version}.src projects/libcxxabi %patch2 -p1 #%patch3 -p1 @@ -183,6 +228,13 @@ mkdir -p build cd build cmake \ -G Ninja \ +%ifarch x86_64 + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ +%else + -DCMAKE_C_COMPILER=gcc \ + -DCMAKE_CXX_COMPILER=g++ \ +%endif -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DLLVM_HOST_TRIPLE="%{_target_platform}" \ -DLLVM_DEFAULT_TARGET_TRIPLE="%{_target_platform}" \ @@ -195,8 +247,12 @@ cmake \ -DLLDB_DISABLE_PYTHON=ON \ -DLLVM_INSTALL_UTILS=ON \ -DLLVM_ENABLE_SPHINX=ON \ + -DLLVM_ENABLE_LIBCXX=ON \ + -DLLVM_ENABLE_LIBCXXABI=ON \ %ifarch x86_64 -DLLVM_LIBDIR_SUFFIX="64" \ + -DLIBCXX_LIBDIR_SUFFIX="64" \ + -DLIBCXXABI_LIBDIR_SUFFIX="64" \ %endif -DSPHINX_WARNINGS_AS_ERRORS=OFF \ %ifnarch arm @@ -259,10 +315,6 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo %{_bindir}/lli #%{_bindir}/lli-child-target %{_bindir}/llvm* -%{_bindir}/ld64.lld -%{_bindir}/ld.lld -%{_bindir}/lld -%{_bindir}/lld-link #%{_bindir}/macho-dump #%{_bindir}/c-index-test %{_bindir}/obj2yaml @@ -318,6 +370,10 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo %{_bindir}/clangd %{_bindir}/count %{_bindir}/find-all-symbols +%{_bindir}/ld64.lld +%{_bindir}/ld.lld +%{_bindir}/lld +%{_bindir}/lld-link %{_bindir}/lldb %{_bindir}/lldb-argdumper %{_bindir}/lldb-mi @@ -348,9 +404,6 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo %{_includedir}/lld/* %dir %{_includedir}/lldb %{_includedir}/lldb/* -#%{_libdir}/%{name}/*.a -%dir %{_datadir}/doc/llvm/html/ -%{_datadir}/doc/llvm/html/* %{_libdir}/*.a %{_libdir}/*.so %exclude %{_libdir}/libLLVM-%{majver}.so @@ -358,9 +411,13 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo %{_libdir}/cmake/llvm/*.cmake %doc README.txt +%files -n libllvm-apidocs +%defattr(-,root,root) +%dir %{_datadir}/doc/llvm/html/ +%{_datadir}/doc/llvm/html/* + %files -n clang %defattr(-,root,root) -#%{_bindir}/FileCheck %{_bindir}/c-index-test %{_bindir}/clang %{_bindir}/clang++ @@ -394,8 +451,31 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo %dir %{_libdir}/cmake/clang %{_libdir}/cmake/clang/*.cmake %doc tools/clang/{NOTES.txt,README.txt} + +%files -n clang-apidocs +%defattr(-,root,root) %doc tools/clang/docs +%files -n libc++ +%defattr(-,root,root) +%{_libdir}/libc++.so.* +%{_libdir}/libc++abi.so.* + +%files -n libc++-devel +%defattr(-,root,root) +%dir %{_includedir}/c++ +%{_includedir}/c++/* +%{_libdir}/libc++.a +%{_libdir}/libc++.so +%{_libdir}/libc++abi.a +%{_libdir}/libc++abi.so +%{_libdir}/libc++experimental.a + +%files -n libc++-apidocs +%defattr(-,root,root) +%dir %{_datadir}/doc/libcxx +%{_datadir}/doc/libcxx/* + %files ocaml %defattr(-,root,root) %{_libdir}/ocaml/llvm/*.cma @@ -407,12 +487,19 @@ rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo %defattr(-,root,root) %{_libdir}/ocaml/llvm/*.a %{_libdir}/ocaml/llvm/*.cmx* -#%{_libdir}/ocaml/*.mli + +%files ocaml-apidocs +%defattr(-,root,root) %dir %{_docdir}/llvm/ocaml-html %{_docdir}/llvm/ocaml-html/* -#%doc llvm-extradocs/ocamldoc/html %changelog +* Sat Jul 14 2018 Silvan Calarco 6.0.1-3mamba +- rebuilt wth LLVM_ENABLE_LIBCXX=ON + +* Sat Jul 14 2018 Silvan Calarco 6.0.1-2mamba +- rebuilt with libc++ + * Sat Jul 07 2018 Automatic Build System 6.0.1-1mamba - automatic version update by autodist