mirror of
https://abf.rosa.ru/djam/llvm12.git
synced 2025-02-23 15:22:50 +00:00
LLVM 12, git snapshot
This commit is contained in:
parent
cc907b6cd4
commit
114c888cb4
4 changed files with 52 additions and 128 deletions
6
.abf.yml
6
.abf.yml
|
@ -1,6 +1,2 @@
|
|||
sources:
|
||||
clang-11.0.1.src.tar.xz: 10516c6d177dc3d893e640c75d891ee3d6c1edcf
|
||||
clang-tools-extra-11.0.1.src.tar.xz: f5698eb81569a5dea2496c4934401be653eeb031
|
||||
compiler-rt-11.0.1.src.tar.xz: c492a0142887efbe667f6b3994b43a48f53d4832
|
||||
llvm-11.0.1.src.tar.xz: 1a911295260d4e41116b72788eb602702b4bb252
|
||||
polly-11.0.1.src.tar.xz: 1489870c457e7a6396bf4793b62dd264faf844b7
|
||||
llvm12-bc9ab9a5cd6bafc5e1293f3d5d51638f8f5cd26c.tar.gz: 782707b0cf798ac7deb9da87b3a2161f5992646a
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -Naur clang-9.0.1.src-orig/include/clang/Driver/Distro.h clang-9.0.1.src/include/clang/Driver/Distro.h
|
||||
--- clang-9.0.1.src-orig/include/clang/Driver/Distro.h 2019-12-11 22:15:30.000000000 +0300
|
||||
+++ clang-9.0.1.src/include/clang/Driver/Distro.h 2020-02-14 19:46:31.781378040 +0300
|
||||
@@ -38,8 +38,10 @@
|
||||
diff -urN a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h
|
||||
--- a/clang/include/clang/Driver/Distro.h 2021-01-21 14:47:54.887955961 +0300
|
||||
+++ b/clang/include/clang/Driver/Distro.h 2021-01-21 14:49:48.564035875 +0300
|
||||
@@ -41,8 +41,10 @@
|
||||
RHEL5,
|
||||
RHEL6,
|
||||
RHEL7,
|
||||
|
@ -12,7 +12,7 @@ diff -Naur clang-9.0.1.src-orig/include/clang/Driver/Distro.h clang-9.0.1.src/in
|
|||
OpenSUSE,
|
||||
UbuntuHardy,
|
||||
UbuntuIntrepid,
|
||||
@@ -109,6 +111,10 @@
|
||||
@@ -115,6 +117,10 @@
|
||||
return DistroVal == Fedora || (DistroVal >= RHEL5 && DistroVal <= RHEL7);
|
||||
}
|
||||
|
||||
|
@ -20,12 +20,12 @@ diff -Naur clang-9.0.1.src-orig/include/clang/Driver/Distro.h clang-9.0.1.src/in
|
|||
+ return DistroVal == ROSA;
|
||||
+ }
|
||||
+
|
||||
bool IsOpenSUSE() const {
|
||||
return DistroVal == OpenSUSE;
|
||||
}
|
||||
bool IsOpenSUSE() const { return DistroVal == OpenSUSE; }
|
||||
|
||||
bool IsDebian() const {
|
||||
@@ -129,6 +135,9 @@
|
||||
return DistroVal == Gentoo;
|
||||
}
|
||||
|
||||
bool IsGentoo() const { return DistroVal == Gentoo; }
|
||||
|
||||
+ bool IsMandriva() const {
|
||||
+ return DistroVal == OpenMandriva;
|
||||
|
@ -33,24 +33,23 @@ diff -Naur clang-9.0.1.src-orig/include/clang/Driver/Distro.h clang-9.0.1.src/in
|
|||
/// @}
|
||||
};
|
||||
|
||||
diff -Naur clang-9.0.1.src-orig/lib/Driver/Distro.cpp clang-9.0.1.src/lib/Driver/Distro.cpp
|
||||
--- clang-9.0.1.src-orig/lib/Driver/Distro.cpp 2019-12-11 22:15:30.000000000 +0300
|
||||
+++ clang-9.0.1.src/lib/Driver/Distro.cpp 2020-02-14 19:50:25.775772017 +0300
|
||||
@@ -57,6 +57,10 @@
|
||||
return Version;
|
||||
diff -urN a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
|
||||
--- a/clang/lib/Driver/Distro.cpp 2021-01-21 14:47:54.974619591 +0300
|
||||
+++ b/clang/lib/Driver/Distro.cpp 2021-01-21 14:52:04.312828583 +0300
|
||||
@@ -188,6 +188,9 @@
|
||||
}
|
||||
|
||||
+ File = VFS.getBufferForFile("/etc/rosa-release");
|
||||
+ if (File)
|
||||
// ...and others.
|
||||
+ if (VFS.exists("/etc/rosa-release"))
|
||||
+ return Distro::ROSA;
|
||||
+
|
||||
File = VFS.getBufferForFile("/etc/redhat-release");
|
||||
if (File) {
|
||||
StringRef Data = File.get()->getBuffer();
|
||||
diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Gnu.cpp clang-9.0.1.src/lib/Driver/ToolChains/Gnu.cpp
|
||||
--- clang-9.0.1.src-orig/lib/Driver/ToolChains/Gnu.cpp 2019-12-11 22:15:30.000000000 +0300
|
||||
+++ clang-9.0.1.src/lib/Driver/ToolChains/Gnu.cpp 2020-02-14 19:19:59.341584610 +0300
|
||||
@@ -1927,7 +1927,9 @@
|
||||
if (VFS.exists("/etc/exherbo-release"))
|
||||
return Distro::Exherbo;
|
||||
|
||||
diff -urN a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp 2021-01-21 14:47:54.984619240 +0300
|
||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 2021-01-21 14:49:10.282009317 +0300
|
||||
@@ -2075,7 +2075,9 @@
|
||||
static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
|
||||
static const char *const AArch64Triples[] = {
|
||||
"aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
|
||||
|
@ -61,7 +60,7 @@ diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Gnu.cpp clang-9.0.1.src/li
|
|||
static const char *const AArch64beLibDirs[] = {"/lib"};
|
||||
static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
|
||||
"aarch64_be-linux-gnu"};
|
||||
@@ -1937,6 +1939,8 @@
|
||||
@@ -2085,6 +2087,8 @@
|
||||
"arm-linux-androideabi"};
|
||||
static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
|
||||
"armv7hl-redhat-linux-gnueabi",
|
||||
|
@ -70,7 +69,7 @@ diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Gnu.cpp clang-9.0.1.src/li
|
|||
"armv6hl-suse-linux-gnueabi",
|
||||
"armv7hl-suse-linux-gnueabi"};
|
||||
static const char *const ARMebLibDirs[] = {"/lib"};
|
||||
@@ -1955,7 +1959,8 @@
|
||||
@@ -2103,7 +2107,8 @@
|
||||
"x86_64-redhat-linux", "x86_64-suse-linux",
|
||||
"x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
|
||||
"x86_64-slackware-linux", "x86_64-unknown-linux",
|
||||
|
@ -80,7 +79,7 @@ diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Gnu.cpp clang-9.0.1.src/li
|
|||
static const char *const X32LibDirs[] = {"/libx32"};
|
||||
static const char *const X86LibDirs[] = {"/lib32", "/lib"};
|
||||
static const char *const X86Triples[] = {
|
||||
@@ -1964,7 +1969,9 @@
|
||||
@@ -2112,7 +2117,9 @@
|
||||
"i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux",
|
||||
"i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu",
|
||||
"i686-linux-android", "i386-gnu", "i486-gnu",
|
||||
|
@ -91,10 +90,10 @@ diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Gnu.cpp clang-9.0.1.src/li
|
|||
|
||||
static const char *const MIPSLibDirs[] = {"/lib"};
|
||||
static const char *const MIPSTriples[] = {
|
||||
diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Linux.cpp clang-9.0.1.src/lib/Driver/ToolChains/Linux.cpp
|
||||
--- clang-9.0.1.src-orig/lib/Driver/ToolChains/Linux.cpp 2019-12-11 22:15:30.000000000 +0300
|
||||
+++ clang-9.0.1.src/lib/Driver/ToolChains/Linux.cpp 2020-02-14 19:35:44.855908872 +0300
|
||||
@@ -248,7 +248,7 @@
|
||||
diff -urN a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
|
||||
--- a/clang/lib/Driver/ToolChains/Linux.cpp 2021-01-21 14:47:54.984619240 +0300
|
||||
+++ b/clang/lib/Driver/ToolChains/Linux.cpp 2021-01-21 14:49:10.285342537 +0300
|
||||
@@ -231,7 +231,7 @@
|
||||
}
|
||||
|
||||
if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux() ||
|
||||
|
@ -103,7 +102,7 @@ diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Linux.cpp clang-9.0.1.src/
|
|||
ExtraOpts.push_back("-z");
|
||||
ExtraOpts.push_back("relro");
|
||||
}
|
||||
@@ -289,6 +289,7 @@
|
||||
@@ -271,6 +271,7 @@
|
||||
// Hexagon linker/loader does not support .gnu.hash
|
||||
if (!IsMips && !IsHexagon) {
|
||||
if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsAlpineLinux() ||
|
||||
|
@ -111,7 +110,7 @@ diff -Naur clang-9.0.1.src-orig/lib/Driver/ToolChains/Linux.cpp clang-9.0.1.src/
|
|||
(Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick) ||
|
||||
(IsAndroid && !Triple.isAndroidVersionLT(23)))
|
||||
ExtraOpts.push_back("--hash-style=gnu");
|
||||
@@ -304,7 +305,7 @@
|
||||
@@ -286,7 +287,7 @@
|
||||
ExtraOpts.push_back("--build-id");
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
%define _libdir %{_prefix}/%{_lib}
|
||||
%define _libexecdir %{_prefix}/libexec
|
||||
%define _mandir %{_prefix}/share/man
|
||||
%define __cmake /usr/bin/cmake
|
||||
|
||||
%define debugcflags %{nil}
|
||||
%define debug_package %{nil}
|
||||
|
||||
%define _disable_ld_no_undefined 1
|
||||
%global optflags %{optflags} -fno-strict-aliasing
|
||||
%global ldflags %{ldflags} -Wl,-rpath,%{_libdir}
|
||||
|
||||
|
@ -22,21 +22,21 @@
|
|||
%define compile_apidox 0
|
||||
%{?_with_apidox: %{expand: %%global compile_apidox 1}}
|
||||
|
||||
%define maj_ver 11
|
||||
%define maj_ver 12
|
||||
|
||||
# pre-release
|
||||
%define commit bc9ab9a5cd6bafc5e1293f3d5d51638f8f5cd26c
|
||||
%define short_commit %(echo %{commit} | head -c 6)
|
||||
|
||||
Summary: LLVM and Clang in %{_prefix}
|
||||
# llvm11
|
||||
Name: llvm%{maj_ver}
|
||||
Version: %{maj_ver}.0.1
|
||||
Release: 3
|
||||
Version: %{maj_ver}
|
||||
Release: 0.git%{short_commit}.1
|
||||
License: NCSA
|
||||
Group: Development/Other
|
||||
Url: http://llvm.org
|
||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/llvm-%{version}.src.tar.xz
|
||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-%{version}.src.tar.xz
|
||||
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-tools-extra-%{version}.src.tar.xz
|
||||
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/polly-%{version}.src.tar.xz
|
||||
Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/compiler-rt-%{version}.src.tar.xz
|
||||
Source0: https://github.com/llvm/llvm-project/archive/%{commit}.tar.gz?/%{name}-%{commit}.tar.gz
|
||||
Source1000: llvm%{maj_ver}.rpmlintrc
|
||||
# Adjust the search paths to match the OS, adjust the default compiler flags
|
||||
# as well.
|
||||
|
@ -70,7 +70,7 @@ AutoProv: 0
|
|||
Requires: %(patchelf --print-soname /usr/%{_lib}/libffi.so || echo foo)%{_arch_tag_suffix}
|
||||
%else
|
||||
# _arch_tag_suffix in needed form does not exist in rpm5, make a more dirty hack
|
||||
Requires: %mklibname ffi %(patchelf --print-soname /usr/%{_lib}/libffi.so | awk -F '.' '{print $NF}' || echo 0)
|
||||
Requires: %{_lib}ffi%(patchelf --print-soname /usr/%{_lib}/libffi.so | rev | cut -d. -f1 | rev)
|
||||
%endif
|
||||
|
||||
|
||||
|
@ -85,82 +85,12 @@ for effective implementation, proper tail calls or garbage collection.
|
|||
This package contains LLVM and Clang in %{_prefix}.
|
||||
|
||||
%files
|
||||
%doc LICENSE.TXT
|
||||
%doc README.txt
|
||||
%doc docs/tutorial
|
||||
%doc examples
|
||||
%if %{compile_apidox}
|
||||
%doc docs/doxygen
|
||||
%endif
|
||||
%{_bindir}/bugpoint
|
||||
%{_bindir}/c-index-test
|
||||
%{_bindir}/clang*
|
||||
%{_bindir}/diagtool
|
||||
%{_bindir}/dsymutil
|
||||
%{_bindir}/find-all-symbols
|
||||
%{_bindir}/git-clang-format
|
||||
%{_bindir}/hmaptool
|
||||
%{_bindir}/llc
|
||||
%{_bindir}/lli
|
||||
%{_bindir}/llvm*
|
||||
%{_bindir}/modularize
|
||||
%{_bindir}/obj2yaml
|
||||
%{_bindir}/opt
|
||||
%{_bindir}/pollyc++
|
||||
%{_bindir}/pollycc
|
||||
%{_bindir}/pp-trace
|
||||
%{_bindir}/sancov
|
||||
%{_bindir}/sanstats
|
||||
%{_bindir}/scan-build
|
||||
%{_bindir}/scan-view
|
||||
%{_bindir}/verify-uselistorder
|
||||
%{_bindir}/yaml2obj
|
||||
%{_datadir}/clang
|
||||
%{_datadir}/opt-viewer
|
||||
%{_datadir}/scan-build/
|
||||
%{_datadir}/scan-view/
|
||||
%{_includedir}/clang
|
||||
%{_includedir}/clang-c
|
||||
%{_includedir}/clang-tidy
|
||||
%{_includedir}/%{oname}
|
||||
%{_includedir}/%{oname}-c
|
||||
%{_includedir}/polly
|
||||
%{_libdir}/BugpointPasses.so
|
||||
%{_libdir}/clang/
|
||||
%{_libdir}/cmake/clang/ClangConfig.cmake
|
||||
%{_libdir}/cmake/clang/ClangTargets.cmake
|
||||
%{_libdir}/cmake/clang/ClangTargets-relwithdebinfo.cmake
|
||||
%{_libdir}/cmake/%{oname}/*
|
||||
%{_libdir}/cmake/polly/*.cmake
|
||||
%{_libdir}/libclang*.a
|
||||
%{_libdir}/libclang*.so
|
||||
%{_libdir}/libclang*.so.%{maj_ver}
|
||||
%{_libdir}/libfindAllSymbols.a
|
||||
%{_libdir}/libLLVM*.a
|
||||
%{_libdir}/libLLVM-*.so
|
||||
%{_libdir}/libLLVM.so
|
||||
%{_libdir}/libLTO.so*
|
||||
%{_libdir}/libPolly*.a
|
||||
%{_libdir}/libRemarks.so*
|
||||
%{_libdir}/LLVMgold.so
|
||||
%{_libdir}/LLVMHello.so
|
||||
%{_libdir}/LLVMPolly.so
|
||||
%{_libexecdir}/c++-analyzer
|
||||
%{_libexecdir}/ccc-analyzer
|
||||
%{_mandir}/man1/scan-build.1
|
||||
%{_prefix}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
%prep
|
||||
%setup -qn %{oname}-%{version}.src -a1 -a2 -a3 -a4
|
||||
rm -rf tools/clang
|
||||
mv clang-%{version}.src tools/clang
|
||||
mv polly-%{version}.src tools/polly
|
||||
mv clang-tools-extra-%{version}.src tools/clang/tools/extra
|
||||
mv compiler-rt-%{version}.src projects/compiler-rt
|
||||
cd tools/clang
|
||||
%patch1 -p1 -b .rosa~
|
||||
cd -
|
||||
%autosetup -p1 -n llvm-project-%{commit}
|
||||
|
||||
%build
|
||||
# Build with gcc/g++, not clang if it happens to be installed
|
||||
|
@ -194,19 +124,18 @@ EOF
|
|||
done
|
||||
%endif
|
||||
|
||||
%cmake \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
%setup_compile_flags
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ../llvm \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;libcxx;libcxxabi;libunwind;lldb;compiler-rt;lld;polly' \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DLLVM_LIBDIR_SUFFIX=$(echo %{_lib} | sed -e 's,^lib,,') \
|
||||
-DCLANG_LIBDIR_SUFFIX=$(echo %{_lib} | sed -e 's,^lib,,') \
|
||||
-DWITH_POLLY:BOOL=ON \
|
||||
-DLINK_POLLY_INTO_TOOLS:BOOL=ON \
|
||||
-DLLVM_ENABLE_FFI:BOOL=ON \
|
||||
-DLLVM_ENABLE_RTTI:BOOL=ON \
|
||||
-DLLVM_BINUTILS_INCDIR=%{_includedir} \
|
||||
-DLLVM_INCLUDE_UTILS:BOOL=ON \
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB=ON \
|
||||
-DOCAMLFIND=NOTFOUND \
|
||||
%if %{compile_apidox}
|
||||
-DLLVM_INCLUDE_DOCS:BOOL=ON \
|
Loading…
Add table
Reference in a new issue