]> git.pld-linux.org Git - packages/llvm.git/blobdiff - llvm.spec
add triplet for aarch64
[packages/llvm.git] / llvm.spec
index f7b8febff7fc5130252542bf585de6eb2959cd3e..63b1747b41c9323b342637b48e4d701858a544a2 100644 (file)
--- a/llvm.spec
+++ b/llvm.spec
@@ -20,6 +20,7 @@
 %bcond_without ocaml           # OCaml binding
 %bcond_without z3              # Z3 constraint solver support in Clang Static Analyzer
 %bcond_without doc             # HTML docs and man pages
+%bcond_with    cxxmodules      # C++20 modules (requires support in bootstrap compiler)
 %bcond_with    apidocs         # doxygen docs (HUGE, so they are not built by default)
 %bcond_with    tests           # run tests
 
 Summary:       The Low Level Virtual Machine (An Optimizing Compiler Infrastructure)
 Summary(pl.UTF-8):     Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego)
 Name:          llvm
-Version:       9.0.0
-Release:       1
+Version:       10.0.0
+Release:       2
 License:       University of Illinois/NCSA Open Source License
 Group:         Development/Languages
-#Source0Download: http://releases.llvm.org/download.html
-Source0:       http://releases.llvm.org/%{version}/%{name}-%{version}.src.tar.xz
-# Source0-md5: 0fd4283ff485dffb71a4f1cc8fd3fc72
-Source1:       http://releases.llvm.org/%{version}/cfe-%{version}.src.tar.xz
-# Source1-md5: 0df6971e2f99b1e99e7bfb533e4067af
-Source2:       http://releases.llvm.org/%{version}/compiler-rt-%{version}.src.tar.xz
-# Source2-md5: c92b8a1aed654463962d77445ebee10b
-Source3:       http://releases.llvm.org/%{version}/lldb-%{version}.src.tar.xz
-# Source3-md5: 963b43e591d9501965e932fc4218d1a0
-Source4:       http://releases.llvm.org/%{version}/polly-%{version}.src.tar.xz
-# Source4-md5: 5cd3222a5d7f96cf789dd0bdba14d0fc
-Source5:       http://releases.llvm.org/%{version}/clang-tools-extra-%{version}.src.tar.xz
-# Source5-md5: 6d1b6e8a9c24ccf98b6ed4f63dbb6356
-Source6:       http://releases.llvm.org/%{version}/lld-%{version}.src.tar.xz
-# Source6-md5: aa70e956ddbe0c7bff029b8358ff6c44
+#Source0Download: https://github.com/llvm/llvm-project/releases/
+Source0:       https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{name}-%{version}.src.tar.xz
+# Source0-md5: 693cefdc49d618f828144486a18b473f
+Source1:       https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-%{version}.src.tar.xz
+# Source1-md5: 717ef92318fed4dbe1ee058368cfb552
+Source2:       https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/compiler-rt-%{version}.src.tar.xz
+# Source2-md5: 3a8477233f69600f3e2ca997405c29db
+Source3:       https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lldb-%{version}.src.tar.xz
+# Source3-md5: 9828da982f3088cece20e0db9e76e06d
+Source4:       https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/polly-%{version}.src.tar.xz
+# Source4-md5: f71e6f808676c211338ad10b3ad5c10d
+Source5:       https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-tools-extra-%{version}.src.tar.xz
+# Source5-md5: 19adb2918e88d682ba2f97ac7280a25d
+Source6:       https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lld-%{version}.src.tar.xz
+# Source6-md5: 481ab4e01c8c5549c8aff5ef1bd25425
 Patch1:                %{name}-pld.patch
 Patch2:                %{name}-python-modules.patch
 Patch3:                x32-gcc-toolchain.patch
 Patch4:                cmake-buildtype.patch
 Patch5:                %{name}-ocaml-shared.patch
+Patch6:                lld-sphinx2.patch
 URL:           http://llvm.org/
 BuildRequires: bash
 BuildRequires: bison
@@ -68,7 +70,9 @@ BuildRequires:        __cc >= 3.4
 BuildRequires: groff
 BuildRequires: libedit-devel
 BuildRequires: libltdl-devel
+BuildRequires: libpfm-devel
 BuildRequires: libstdc++-devel >= 5:3.4
+BuildRequires: libxml2-devel >= 2
 BuildRequires: ncurses-devel
 %if %{with ocaml}
 BuildRequires: ocaml >= 4.00.0
@@ -117,7 +121,7 @@ BuildRequires:      libatomic-devel
 %endif
 BuildRequires: libxml2-devel >= 2
 BuildRequires: ncurses-ext-devel
-BuildRequires: python-devel >= 2
+BuildRequires: python-devel >= 1:2.7
 %{?with_doc:BuildRequires:     python3-recommonmark}
 BuildRequires: swig-python >= 3.0.11
 %endif
@@ -136,7 +140,7 @@ Requires:   %{name}-libs = %{version}-%{release}
 ExcludeArch:   ppc64
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                abi     9
+%define                abi     10
 %define                _sysconfdir     /etc/%{name}
 
 %define                specflags_ppc   -fno-var-tracking-assignments
@@ -360,6 +364,7 @@ Summary(pl.UTF-8):  Pliki nagłówkowe Clanga
 Group:         Development/Languages
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      clang = %{version}-%{release}
+%{?with_polly:Requires:        llvm-polly-devel = %{version}-%{release}}
 
 %description -n clang-devel
 This package contains header files for the Clang compiler.
@@ -536,7 +541,7 @@ Integracja narzędzi Clang do formatowania i zmiany nazw z Vimem.
 
 %prep
 %setup -q -n %{name}-%{version}.src -a1 %{?with_rt:-a2} %{?with_lldb:-a3} %{?with_polly:-a4} -a5 -a6
-%{__mv} cfe-%{version}.src tools/clang
+%{__mv} clang-%{version}.src tools/clang
 %{?with_rt:%{__mv} compiler-rt-%{version}.src projects/compiler-rt}
 %{?with_lldb:%{__mv} lldb-%{version}.src tools/lldb}
 %{?with_polly:%{__mv} polly-%{version}.src tools/polly}
@@ -548,8 +553,9 @@ Integracja narzędzi Clang do formatowania i zmiany nazw z Vimem.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
-grep -rl /usr/bin/env tools utils | xargs sed -i -e '1{
+grep -rl /usr/bin/env projects tools utils | xargs sed -i -e '1{
        s,^#!.*bin/env python,#!%{__python},
        s,^#!.*bin/env perl,#!%{__perl},
 }'
@@ -568,7 +574,6 @@ CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
 
 %cmake .. \
        -DBUILD_SHARED_LIBS:BOOL=OFF \
-       %{!?with_z3:-DCLANG_ANALYZER_ENABLE_Z3_SOLVER:BOOL=OFF} \
        -DENABLE_LINKER_BUILD_ID:BOOL=ON \
        -DLLVM_BINDINGS_LIST:LIST="%{?with_ocaml:ocaml}" \
        -DLLVM_BINUTILS_INCDIR:STRING=%{_includedir} \
@@ -578,11 +583,13 @@ CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
 %if %{with apidocs}
        -DLLVM_ENABLE_DOXYGEN:BOOL=ON \
 %endif
+       %{?with_cxxmodules:-DLLVM_ENABLE_MODULES:BOOL=ON} \
        -DLLVM_ENABLE_PIC:BOOL=ON \
        -DLLVM_ENABLE_RTTI:BOOL=ON \
 %if %{with doc}
        -DLLVM_ENABLE_SPHINX:BOOL=ON \
 %endif
+       %{!?with_z3:-DLLVM_ENABLE_Z3_SOLVER:BOOL=OFF} \
 %if "%{_lib}" == "lib64"
        -DLLVM_LIBDIR_SUFFIX:STRING=64 \
 %endif
@@ -611,7 +618,7 @@ CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
 %{__make} -C tools/clang/docs docs-clang-man
 %{__make} -C tools/lld/docs docs-lld-html
 # workaround failed import of _lldb
-cp -an %{_lib}/python%{py_ver}/site-packages/lldb/_lldb.so tools/lldb/docs/lldb
+cp -pnL %{_lib}/python%{py_ver}/site-packages/lldb/_lldb.so tools/lldb/docs/lldb
 %{__make} \
        LD_LIBRARY_PATH=$(pwd)/%{_lib} \
        -C tools/lldb/docs lldb-python-doc
@@ -674,8 +681,6 @@ done
 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/six.py*
 # it seems it is used internally by an extra clang tool
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfindAllSymbols.a
-# examples only
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/{CheckerDependencyHandling,CheckerOptionHandling,Sample}AnalyzerPlugin.so
 
 # disable completeness check incompatible with split packaging
 %{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_libdir}/cmake/llvm/LLVMExports.cmake
@@ -718,6 +723,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/llvm-elfabi
 %attr(755,root,root) %{_bindir}/llvm-exegesis
 %attr(755,root,root) %{_bindir}/llvm-extract
+%attr(755,root,root) %{_bindir}/llvm-ifs
+%attr(755,root,root) %{_bindir}/llvm-install-name-tool
 %attr(755,root,root) %{_bindir}/llvm-jitlink
 %attr(755,root,root) %{_bindir}/llvm-lib
 %attr(755,root,root) %{_bindir}/llvm-link
@@ -738,6 +745,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/llvm-rc
 %attr(755,root,root) %{_bindir}/llvm-readelf
 %attr(755,root,root) %{_bindir}/llvm-readobj
+%attr(755,root,root) %{_bindir}/llvm-reduce
 %attr(755,root,root) %{_bindir}/llvm-rtdyld
 %attr(755,root,root) %{_bindir}/llvm-size
 %attr(755,root,root) %{_bindir}/llvm-split
@@ -775,6 +783,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/llvm-lib.1*
 %{_mandir}/man1/llvm-link.1*
 %{_mandir}/man1/llvm-lipo.1*
+%{_mandir}/man1/llvm-locstats.1*
 %{_mandir}/man1/llvm-mca.1*
 %{_mandir}/man1/llvm-nm.1*
 %{_mandir}/man1/llvm-objcopy.1*
@@ -798,10 +807,10 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libLLVM-%{abi}.so
 # non-soname symlink
 %attr(755,root,root) %{_libdir}/libLLVM-%{version}.so
-%attr(755,root,root) %ghost %{_libdir}/libLTO.so.9
+%attr(755,root,root) %ghost %{_libdir}/libLTO.so.10
 %attr(755,root,root) %{_libdir}/LLVMgold.so
-%attr(755,root,root) %{_libdir}/libRemarks.so.9
-%attr(755,root,root) %{_libdir}/libclang-cpp.so.9
+%attr(755,root,root) %{_libdir}/libRemarks.so.10
+%attr(755,root,root) %{_libdir}/libclang-cpp.so.10
 
 %files devel
 %defattr(644,root,root,755)
@@ -855,12 +864,17 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/clang-format
 %attr(755,root,root) %{_bindir}/clang-import-test
 %attr(755,root,root) %{_bindir}/clang-offload-bundler
+%attr(755,root,root) %{_bindir}/clang-offload-wrapper
 %attr(755,root,root) %{_bindir}/git-clang-format
 %dir %{_libdir}/clang
 %dir %{_libdir}/clang/%{version}
 %{_libdir}/clang/%{version}/include
 %if %{with rt}
-%ifarch %{ix86} %{x8664}
+%ifarch %{x8664} aarch64
+%dir %{_libdir}/clang/%{version}/bin
+%attr(755,root,root) %{_libdir}/clang/%{version}/bin/hwasan_symbolize
+%endif
+%ifarch %{ix86} %{x8664} aarch64
 %dir %{_libdir}/clang/%{version}/lib
 %dir %{_libdir}/clang/%{version}/lib/linux
 %dir %{_libdir}/clang/%{version}/share
@@ -883,10 +897,16 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.so
 %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-x86_64.a.syms
 %endif
+%ifarch aarch64
+%{_libdir}/clang/%{version}/lib/linux/clang_rt.*-aarch64.o
+%{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-aarch64.a
+%attr(755,root,root) %{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-aarch64.so
+%{_libdir}/clang/%{version}/lib/linux/libclang_rt.*-aarch64.a.syms
+%endif
 %ifarch %{ix86} %{x8664} %{arm} aarch64 mips mips64 ppc64
 %{_libdir}/clang/%{version}/share/asan_blacklist.txt
 %endif
-%ifarch %{ix86} %{x8664} mips64
+%ifarch %{ix86} %{x8664} mips64 aarch64
 %{_libdir}/clang/%{version}/share/cfi_blacklist.txt
 %endif
 %ifarch %{x8664} aarch64 mips64
@@ -965,6 +985,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/clang-change-namespace
 %attr(755,root,root) %{_bindir}/clang-extdef-mapping
 %attr(755,root,root) %{_bindir}/clang-include-fixer
+%attr(755,root,root) %{_bindir}/clang-move
 %attr(755,root,root) %{_bindir}/clang-query
 %attr(755,root,root) %{_bindir}/clang-refactor
 %attr(755,root,root) %{_bindir}/clang-rename
@@ -1002,16 +1023,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/lldb
 %attr(755,root,root) %{_bindir}/lldb-argdumper
 %attr(755,root,root) %{_bindir}/lldb-instr
-%attr(755,root,root) %{_bindir}/lldb-mi
 %attr(755,root,root) %{_bindir}/lldb-server
 %attr(755,root,root) %{_bindir}/lldb-vscode
 %attr(755,root,root) %{_libdir}/liblldb.so.%{version}
-%attr(755,root,root) %ghost %{_libdir}/liblldb.so.9
-%attr(755,root,root) %ghost %{_libdir}/liblldbIntelFeatures.so.9
+%attr(755,root,root) %ghost %{_libdir}/liblldb.so.10
+%attr(755,root,root) %ghost %{_libdir}/liblldbIntelFeatures.so.10
 %dir %{py_sitedir}/lldb
 %attr(755,root,root) %{py_sitedir}/lldb/lldb-argdumper
 %{py_sitedir}/lldb/formatters
-%{py_sitedir}/lldb/runtime
 %{py_sitedir}/lldb/utils
 %{py_sitedir}/lldb/__init__.py[co]
 %{py_sitedir}/lldb/embedded_interpreter.py[co]
This page took 0.111256 seconds and 4 git commands to generate.