---- llvm-4.0.1.src/tools/clang/lib/Driver/ToolChains.cpp.orig 2017-05-31 12:01:14.000000000 +0200
-+++ llvm-4.0.1.src/tools/clang/lib/Driver/ToolChains.cpp 2017-12-10 08:33:21.873800345 +0100
-@@ -1549,6 +1549,7 @@
+--- llvm-5.0.0.src.orig/tools/clang/lib/Driver/ToolChains/Gnu.cpp 2016-08-18 19:56:48.000000000 +0200
++++ llvm-5.0.0.src/tools/clang/lib/Driver/ToolChains/Gnu.cpp 2016-11-03 12:18:35.000000000 +0100
+@@ -1498,6 +1498,7 @@
static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
static const char *const X86_64Triples[] = {
"s390x-linux-gnu", "s390x-unknown-linux-gnu", "s390x-ibm-linux-gnu",
"s390x-suse-linux", "s390x-redhat-linux"};
-@@ -4112,7 +4115,7 @@
-
- Distro Distro(D.getVFS());
-
-- if (Distro.IsOpenSUSE() || Distro.IsUbuntu()) {
-+ if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsPLD()) {
- ExtraOpts.push_back("-z");
- ExtraOpts.push_back("relro");
- }
-@@ -4132,7 +4135,7 @@
- // ABI requires a mapping between the GOT and the symbol table.
- // Android loader does not support .gnu.hash.
- if (!IsMips && !IsAndroid) {
-- if (Distro.IsRedhat() || Distro.IsOpenSUSE() ||
-+ if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsPLD() ||
- (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick))
- ExtraOpts.push_back("--hash-style=gnu");
-
-@@ -4141,7 +4144,7 @@
- ExtraOpts.push_back("--hash-style=both");
- }
-
-- if (Distro.IsRedhat() && Distro != Distro::RHEL5 && Distro != Distro::RHEL6)
-+ if ((Distro.IsRedhat() && Distro != Distro::RHEL5 && Distro != Distro::RHEL6) || Distro.IsPLD())
- ExtraOpts.push_back("--no-add-needed");
-
- #ifdef ENABLE_LINKER_BUILD_ID
---- llvm-4.0.1.src/tools/clang/include/clang/Driver/Distro.h.orig 2016-11-28 22:11:14.000000000 +0100
-+++ llvm-4.0.1.src/tools/clang/include/clang/Driver/Distro.h 2017-12-10 08:31:15.017135111 +0100
+--- llvm-5.0.0.src/tools/clang/include/clang/Driver/Distro.h.orig 2017-05-04 14:46:38.000000000 +0200
++++ llvm-5.0.0.src/tools/clang/include/clang/Driver/Distro.h 2017-12-01 22:44:57.785429043 +0100
@@ -27,6 +27,7 @@
// in this enum, because some tests are done by integer comparison against
// the first and last known member in the family, e.g. IsRedHat().
DebianLenny,
DebianSqueeze,
DebianWheezy,
-@@ -112,7 +113,11 @@
- bool IsUbuntu() const {
- return DistroVal >= UbuntuHardy && DistroVal <= UbuntuZesty;
+@@ -114,6 +115,10 @@
+ return DistroVal >= UbuntuHardy && DistroVal <= UbuntuArtful;
}
--
-+
-+ bool IsPLD() const {
+
++ bool IsPLD() {
+ return DistroVal == PLDLinux;
+ }
+
/// @}
};
---- llvm-4.0.1.src/tools/clang/lib/Driver/Distro.cpp.orig 2016-11-28 22:11:18.000000000 +0100
-+++ llvm-4.0.1.src/tools/clang/lib/Driver/Distro.cpp 2017-12-10 08:32:15.883801082 +0100
-@@ -128,6 +128,9 @@
+--- llvm-5.0.0.src/tools/clang/lib/Driver/Distro.cpp.orig 2017-05-04 14:46:38.000000000 +0200
++++ llvm-5.0.0.src/tools/clang/lib/Driver/Distro.cpp 2017-12-01 22:47:15.155427475 +0100
+@@ -129,6 +129,9 @@
if (VFS.exists("/etc/arch-release"))
return Distro::ArchLinux;
return Distro::UnknownDistro;
}
+--- llvm-5.0.0.src/tools/clang/lib/Driver/ToolChains/Linux.cpp.orig 2017-12-01 22:14:03.462116884 +0100
++++ llvm-5.0.0.src/tools/clang/lib/Driver/ToolChains/Linux.cpp 2017-12-01 22:51:38.678757801 +0100
+@@ -210,7 +210,7 @@
+
+ Distro Distro(D.getVFS());
+
+- if (Distro.IsOpenSUSE() || Distro.IsUbuntu()) {
++ if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsPLD()) {
+ ExtraOpts.push_back("-z");
+ ExtraOpts.push_back("relro");
+ }
+@@ -232,7 +232,7 @@
+ // Android loader does not support .gnu.hash.
+ // Hexagon linker/loader does not support .gnu.hash
+ if (!IsMips && !IsAndroid && !IsHexagon) {
+- if (Distro.IsRedhat() || Distro.IsOpenSUSE() ||
++ if (Distro.IsRedhat() || Distro.IsOpenSUSE() || Distro.IsPLD() ||
+ (Distro.IsUbuntu() && Distro >= Distro::UbuntuMaverick))
+ ExtraOpts.push_back("--hash-style=gnu");
+
+@@ -241,7 +241,7 @@
+ ExtraOpts.push_back("--hash-style=both");
+ }
+
+- if (Distro.IsRedhat() && Distro != Distro::RHEL5 && Distro != Distro::RHEL6)
++ if ((Distro.IsRedhat() && Distro != Distro::RHEL5 && Distro != Distro::RHEL6) || Distro.IsPLD())
+ ExtraOpts.push_back("--no-add-needed");
+
+ #ifdef ENABLE_LINKER_BUILD_ID
# TODO:
+# - wait for rust ready for LLVM 5.0
# - move and package:
# %{_datadir}/clang/bash-autocomplete.sh
# %{_datadir}/clang/clang-format-sublime.py - sublime plugin
# %{_datadir}/clang/clang-rename.el
# %{_datadir}/clang/clang-format.py - clang tools vim integration
# %{_datadir}/clang/clang-rename.py
+# %{_datadir}/opt-viewer
# - no content in doc package (it used to contain parts of clang apidocs and some examples)
# - system isl in polly?
#
Summary: The Low Level Virtual Machine (An Optimizing Compiler Infrastructure)
Summary(pl.UTF-8): Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego)
Name: llvm
-Version: 4.0.1
+Version: 5.0.0
Release: 1
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: a818e70321b91e2bb2d47e60edd5408f
+# Source0-md5: 5ce9c5ad55243347ea0fdb4c16754be0
Source1: http://releases.llvm.org/%{version}/cfe-%{version}.src.tar.xz
-# Source1-md5: a6c7b3e953f8b93e252af5917df7db97
+# Source1-md5: 699c448c6d6d0edb693c87beb1cc8c6e
Source2: http://releases.llvm.org/%{version}/compiler-rt-%{version}.src.tar.xz
-# Source2-md5: 0227ac853ce422125f8bb08f6ad5c995
+# Source2-md5: da735894133589cbc6052c8ef06b1230
Source3: http://releases.llvm.org/%{version}/lldb-%{version}.src.tar.xz
-# Source3-md5: 908bdd777d3b527a914ba360477b8ab3
+# Source3-md5: 8de19973d044ca2cfe325d4625a5cfef
Source4: http://releases.llvm.org/%{version}/polly-%{version}.src.tar.xz
-# Source4-md5: 0d4a3fa2eb446a378bbf01b220851b1f
+# Source4-md5: dcbd08450e895a42f3986e2fe6524c92
Source5: http://releases.llvm.org/%{version}/clang-tools-extra-%{version}.src.tar.xz
-# Source5-md5: cfd46027a0ab7eed483dfcc803e86bd9
+# Source5-md5: 0cda05d1a61becb393eb63746963d7f5
Source6: http://releases.llvm.org/%{version}/lld-%{version}.src.tar.xz
-# Source6-md5: 39cd3512cddcfd7d37ef12066c961660
+# Source6-md5: a39cbecced3263feab9139b47118e062
Patch1: %{name}-pld.patch
Patch3: x32-gcc-toolchain.patch
Patch4: cmake-buildtype.patch
ExcludeArch: ppc64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define abi 4.0
+%define abi 5.0
%define _sysconfdir /etc/%{name}
%define specflags_ppc -fno-var-tracking-assignments
%attr(755,root,root) %{_bindir}/llvm-bcanalyzer
%attr(755,root,root) %{_bindir}/llvm-cat
%attr(755,root,root) %{_bindir}/llvm-cov
+%attr(755,root,root) %{_bindir}/llvm-cvtres
%attr(755,root,root) %{_bindir}/llvm-cxxdump
%attr(755,root,root) %{_bindir}/llvm-cxxfilt
%attr(755,root,root) %{_bindir}/llvm-diff
%attr(755,root,root) %{_bindir}/llvm-dis
+%attr(755,root,root) %{_bindir}/llvm-dlltool
%attr(755,root,root) %{_bindir}/llvm-dsymutil
%attr(755,root,root) %{_bindir}/llvm-dwarfdump
%attr(755,root,root) %{_bindir}/llvm-dwp
%attr(755,root,root) %{_bindir}/llvm-mc
%attr(755,root,root) %{_bindir}/llvm-mcmarkup
%attr(755,root,root) %{_bindir}/llvm-modextract
+%attr(755,root,root) %{_bindir}/llvm-mt
%attr(755,root,root) %{_bindir}/llvm-nm
%attr(755,root,root) %{_bindir}/llvm-objdump
%attr(755,root,root) %{_bindir}/llvm-opt-report
-%attr(755,root,root) %{_bindir}/llvm-pdbdump
+%attr(755,root,root) %{_bindir}/llvm-pdbutil
%attr(755,root,root) %{_bindir}/llvm-profdata
%attr(755,root,root) %{_bindir}/llvm-ranlib
+%attr(755,root,root) %{_bindir}/llvm-readelf
%attr(755,root,root) %{_bindir}/llvm-readobj
%attr(755,root,root) %{_bindir}/llvm-rtdyld
%attr(755,root,root) %{_bindir}/llvm-size
# non-soname symlink
%attr(755,root,root) %{_libdir}/libLLVM-%{version}.so
%attr(755,root,root) %{_libdir}/libLTO.so.%{version}
-%attr(755,root,root) %ghost %{_libdir}/libLTO.so.4
+%attr(755,root,root) %ghost %{_libdir}/libLTO.so.5
%files devel
%defattr(644,root,root,755)
%{_libdir}/libPollyISL.a
%{_libdir}/libPollyPPCG.a
%{_includedir}/polly
+%{_libdir}/cmake/polly
%endif
%files -n clang
%files -n clang-libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libclang.so.%{abi}
-%attr(755,root,root) %ghost %{_libdir}/libclang.so.4
+%attr(755,root,root) %ghost %{_libdir}/libclang.so.5
%if %{with rt} && %{with multilib}
%ifarch %{x8664} x32
%attr(755,root,root) %{_bindir}/clang-rename
%attr(755,root,root) %{_bindir}/clang-reorder-fields
%attr(755,root,root) %{_bindir}/clang-tidy
+%attr(755,root,root) %{_bindir}/clangd
%attr(755,root,root) %{_bindir}/find-all-symbols
%attr(755,root,root) %{_bindir}/modularize
%attr(755,root,root) %{_bindir}/pp-trace
%files -n lldb
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/lldb
-%attr(755,root,root) %{_bindir}/lldb-%{version}
%attr(755,root,root) %{_bindir}/lldb-argdumper
%attr(755,root,root) %{_bindir}/lldb-mi
-%attr(755,root,root) %{_bindir}/lldb-mi-%{version}
%attr(755,root,root) %{_bindir}/lldb-server
-%attr(755,root,root) %{_bindir}/lldb-server-%{version}
+# FIXME: why bindir???
+%attr(755,root,root) %{_bindir}/liblldb-intel-mpxtable.so
%attr(755,root,root) %{_libdir}/liblldb.so.%{version}
-%attr(755,root,root) %ghost %{_libdir}/liblldb.so.4
+%attr(755,root,root) %ghost %{_libdir}/liblldb.so.5
%dir %{py_sitedir}/lldb
%attr(755,root,root) %{py_sitedir}/lldb/lldb-argdumper
%{py_sitedir}/lldb/formatters
%if %{with ocaml}
%files ocaml
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/ocaml/stublibs/dllllvm*.so
%dir %{_libdir}/ocaml/llvm
-%attr(755,root,root) %{_libdir}/ocaml/llvm/dllllvm*.so
%{_libdir}/ocaml/llvm/llvm*.cma
%{_libdir}/ocaml/llvm/llvm*.cmi
%{_libdir}/ocaml/META.llvm*