Compare commits

...

61 Commits
master ... el6

Author SHA1 Message Date
Dave Johansen 70d0626d0a Removing the use of auto in the devtoolset patch 2015-01-02 12:21:09 -07:00
Dave Johansen 4c38795a19 Switching back to X_SCLS because that's the offical RedHat environment variable 2015-01-02 12:12:17 -07:00
Dave Johansen 21f3bda45b Fixing the patch to apply correctly 2015-01-02 11:26:46 -07:00
Dave Johansen 964b2a20df Adding CLANG_DTS_LIST for turning on devtoolset use at runtime 2015-01-02 11:05:07 -07:00
Dave Johansen 18bd3a3f63 Replacing tabs with spaces 2014-11-20 20:56:21 -07:00
Dave Johansen 4fcc978405 Fix for CVE-2014-2893 2014-11-20 20:54:51 -07:00
Dave Johansen aa0776fa35 Merge with el6 branch 2014-11-15 09:40:06 -07:00
Dave Johansen a2f68c838d Adding support for using devtoolset 2014-11-15 07:59:37 -07:00
Dave Johansen debf6606c7 Merging in changes from el6 branch and updating to 3.4.2 2014-08-04 19:47:21 -07:00
Dave Johansen f7ecf36d7a Accidentally removed some sources entries 2014-08-03 20:45:37 -07:00
Dave Johansen a692025584 Forgot to add changes to .spec file 2014-08-03 20:40:17 -07:00
Dave Johansen 2336795920 Updating to 3.4.2 2014-08-03 20:39:39 -07:00
Dave Johansen bea50da690 Adding support for Amazon Linux 2014-04-23 13:40:50 -07:00
Dave Johansen 2a8df6ee02 Removing specification of targets 2014-02-05 20:55:00 -07:00
Dave Johansen 9815740381 Putting the changelog into chorological order 2014-02-04 19:32:24 -07:00
Dave Johansen c5d6b65dba Merging in the change from release for in master
Doesn't actually change anything since lldb requires gcc 4.6 and is disabled on EL6
2014-02-04 19:26:28 -07:00
Dave Johansen 5b96b3dfff Adding include path for ffi.h 2014-02-04 19:22:48 -07:00
Dave Johansen 4a47cafc5a Removing specification of --with-c-include-dirs 2014-02-03 19:26:56 -07:00
Dave Johansen 8f002ea29a Obsoleting pure on EL6 2014-01-29 19:36:33 -07:00
Dave Johansen 0e564cfed8 Enabling building on el6 2014-01-20 20:59:36 -07:00
Dave Johansen 4a13f67dc5 Merge branch 'master' into el6 2014-01-20 20:58:33 -07:00
Michel Alexandre Salim 0f60d91ef4 Merge branch 'f15' into el6 2011-11-12 14:21:52 +01:00
Michel Alexandre Salim bd716bccdc Add runtime dependency of -devel on libffi-devel 2011-11-12 10:26:22 +01:00
Dan Horák 12ed181598 don't fail the build on failing tests on s390(x) 2011-10-11 14:21:13 +02:00
Michel Alexandre Salim eaf6624384 - Disable AVX tests, else they fail since AVX is now disabled
- Remove clang 2.9 patch retrieved when cherry-picking F-16/Rawhide
  commit
2011-08-02 17:00:59 +02:00
Michel Alexandre Salim 66fa449574 Fix incorrect platform-specific include path on i686 2011-08-02 14:55:32 +02:00
Michel Alexandre Salim 687c13802d Depend on libffi to allow the LLVM interpreter to call external functions
Build with RTTI enabled, needed by e.g. Rubinius (# 722714)
Fix multilib installation
2011-08-02 14:54:32 +02:00
Adam Jackson f63f528480 disable avx code generation 2011-04-26 12:01:42 -04:00
Michel Alexandre Salim 9b6bd7fef2 Merge branch 'f15' into el6 2011-03-17 20:24:26 +01:00
Michel Alexandre Salim 2fc8420d0f Move ldconfig triggers to the subpackages containing .so files 2011-03-17 19:03:50 +01:00
Michel Alexandre Salim c3dcc7c01f Don't include test logs; breaks multilib (# 666195)
Split shared libraries into separate subpackage
2011-03-17 18:24:51 +01:00
Michel Alexandre Salim 9eb64e881c Don't include test logs; breaks multilib (# 666195) 2011-03-17 17:36:08 +01:00
Michel Alexandre Salim 7b281c3e18 Merge branch 'f14' into el6 2011-03-17 16:21:00 +01:00
Michel Alexandre Salim 664c65bee1 Merge branch 'f15' into f14 2011-03-17 14:40:42 +01:00
Michel Alexandre Salim 1db435d4d6 clang++: fix platform-specific include dirs (# 680644) 2011-03-17 14:34:26 +01:00
Michel Alexandre Salim 88425e38fa Don't include 'bits' in the include path override 2011-03-17 13:57:46 +01:00
Michel Alexandre Salim b32ca652bd Fix 32bit-dir and 64-dir parameters: should be relative, not absolute 2011-03-17 13:19:24 +01:00
Michel Alexandre Salim f8523b8fdb clang++: also search for platform-specific include files (# 680644) 2011-03-17 12:47:48 +01:00
Michel Alexandre Salim 7478175842 Merge branch 'master' into el6 2010-11-27 17:42:08 +01:00
Michel Alexandre Salim 775aace187 Merge branch 'master' into f14 2010-11-27 17:39:58 +01:00
Michel Alexandre Salim 67f86fc612 remove obsoleted patch 2010-11-27 17:39:46 +01:00
Michel Alexandre Salim 06a9a2d0a1 Merge branch 'master' into f14 2010-11-27 16:19:13 +01:00
Michel Alexandre Salim 79e6037377 Merge branch 'master' into el6 2010-11-14 13:52:30 +01:00
Michel Alexandre Salim f6b80daf2a Merge commit '60da43cf2b0f0a4dd247ef4a8499be98c34c29d2' into el6 2010-11-14 13:52:26 +01:00
Dan Horák 9fd9a8115d - conditionalize ocaml support
(cherry picked from commit 434321d311)
2010-11-14 13:51:36 +01:00
Michel Alexandre Salim 76c023983a Merge branch 'master' into f14 2010-11-12 16:29:19 +01:00
Michel Alexandre Salim bbe1677554 Merge branch 'master' into f14
Conflicts:
	llvm.spec
2010-11-11 16:51:56 +01:00
Michel Alexandre Salim 2be1863ab3 Bump release number for rebuild 2010-10-15 00:05:07 +02:00
Michel Alexandre Salim 63bfe803a9 macro-ify include overrides 2010-10-15 00:01:05 +02:00
Michel Alexandre Salim b3327249f3 Re-add default include directory 2010-10-14 23:58:09 +02:00
Michel Alexandre Salim ae1ead319b - Add correct C include directory at compile time (# 641500)
- Upstream patch so -g flag is not passed to assembler (# 605266)
2010-10-14 23:26:34 +02:00
Jesse Keating d492cae130 - Rebuilt for gcc bug 634757 2010-09-29 22:56:01 -07:00
Michel Alexandre Salim 83f26e99a6 Merge branch 'master' into f14 2010-09-20 15:01:30 +02:00
Dennis Gilmore 79d29c4d2b Merge branch 'master' into f14
Conflicts:
	llvm.spec
2010-09-15 09:32:59 -05:00
David Malcolm 57df0cc54a recompiling .py files against Python 2.7 (rhbz#623332) 2010-08-11 17:46:43 -04:00
Fedora Release Engineering b1d5f04c67 dist-git conversion 2010-07-29 02:29:28 +00:00
Kevin Fenzi 909e8522df Initialize branch EL-6 for llvm 2010-07-08 01:23:30 +00:00
Michel Alexandre Salim aadedc69fa - Make the new noarch -doc obsoletes older (arched) subpackages 2010-06-09 18:51:38 +00:00
Michel Alexandre Salim c3a8e10d6e - Add F-12/x86_64 and F-13 C++ header paths 2010-06-05 11:49:55 +00:00
Michel Alexandre Salim f2c3edf563 - Update to final 2.7 release 2010-05-02 21:33:15 +00:00
Bill Nottingham 36e6bc7ca8 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:57:30 +00:00
5 changed files with 137 additions and 27 deletions

22
0003-amazon-triples.patch Normal file
View File

@ -0,0 +1,22 @@
--- a/tools/clang/lib/Driver/ToolChains.cpp
+++ b/tools/clang/lib/Driver/ToolChains.cpp
@@ -1124,7 +1124,8 @@
static const char *const X86_64Triples[] = {
"x86_64-linux-gnu", "x86_64-unknown-linux-gnu", "x86_64-pc-linux-gnu",
"x86_64-redhat-linux6E", "x86_64-redhat-linux", "x86_64-suse-linux",
- "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux"
+ "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", "x86_64-slackware-linux",
+ "x86_64-amazon-linux"
};
static const char *const X86LibDirs[] = { "/lib32", "/lib" };
static const char *const X86Triples[] = {
@@ -1131,7 +1132,8 @@
"i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu", "i386-linux-gnu",
"i386-redhat-linux6E", "i686-redhat-linux", "i586-redhat-linux",
"i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux",
- "i686-montavista-linux"
+ "i686-montavista-linux",
+ "i686-amazon-linux"
};
static const char *const MIPSLibDirs[] = { "/lib" };

21
0004-devtoolset.patch Normal file
View File

@ -0,0 +1,21 @@
--- a/tools/clang/lib/Driver/ToolChains.cpp
+++ b/tools/clang/lib/Driver/ToolChains.cpp
@@ -1062,6 +1062,18 @@
// And finally in /usr.
if (D.SysRoot.empty())
Prefixes.push_back("/usr");
+
+ // RedHat Developer Toolset support
+ if (const char *software_collections = getenv("X_SCLS")) {
+ SmallVector<StringRef, 4> Scls;
+ StringRef(software_collections).split(Scls, StringRef(" "), -1, false);
+ for (SmallVector<StringRef, 4>::const_iterator SclsIter = Scls.begin(); SclsIter != Scls.end(); ++SclsIter) {
+ if (!SclsIter->startswith(StringRef("devtoolset-")))
+ continue;
+ const std::string SclPath = std::string("/opt/rh/") + SclsIter->str() + std::string("/root/usr");
+ Prefixes.push_back(SclPath);
+ }
+ }
}
// Loop over the various components which exist and select the best GCC

15
0005-scan-build-dir.patch Normal file
View File

@ -0,0 +1,15 @@
--- a/tools/clang/tools/scan-build/scan-build
+++ b/tools/clang/tools/scan-build/scan-build
@@ -204,6 +204,12 @@
else {
$NewDir = "$Dir/$DateString-$RunNumber";
}
+
+ # Make sure that the directory does not exist in order to avoid hijack.
+ if (-d $NewDir) {
+ DieDiag("The directory '$NewDir' already exists.\n");
+ }
+
system 'mkdir','-p',$NewDir;
return $NewDir;
}

102
llvm.spec
View File

@ -11,16 +11,27 @@
%else
%bcond_with ocaml
%endif
%ifarch %ix86 x86_64
%bcond_without gold
# If build on Fedora or RHEL 7
%if 0%{?rhel}%{?fedora} >= 7
# gold not available on RHEL 6
%ifarch %ix86 x86_64
%bcond_without gold
%else
%bcond_with gold
%endif
# lldb requires gcc 4.6 or higher
# lldb not ported to anything but x86 so far.
%ifarch x86_64 %{ix86}
%bcond_without lldb
%else
%bcond_with lldb
%endif
# gcc 4.4 doesn't understand c++11 (wants c++0x)
%bcond_without cxx11
%else
%bcond_with gold
%endif
# lldb not ported to anything but x86 so far.
%ifarch x86_64 %{ix86}
%bcond_without lldb
%else
%bcond_with lldb
# pure 0.55 doesn't work with newer versions of llvm and 0.58 doesn't work with old libstdc++
# See https://bugzilla.redhat.com/show_bug.cgi?id=1058472
Obsoletes: pure <= 0.55
%endif
@ -32,10 +43,12 @@
%endif
#global prerel rc3
%global version_base 3.4
%global downloadurl http://llvm.org/%{?prerel:pre-}releases/%{version}%{?prerel:/%{prerel}}
%global downloadurl_base http://llvm.org/%{?prerel:pre-}releases/%{version_base}%{?prerel:/%{prerel}}
Name: llvm
Version: 3.4
Version: %{version_base}.2
Release: 4%{?dist}
Summary: The Low Level Virtual Machine
@ -45,10 +58,10 @@ URL: http://llvm.org/
# source archives
Source0: %{downloadurl}/llvm-%{version}%{?prerel}.src.tar.gz
Source1: %{downloadurl}/clang-%{version}%{?prerel}.src.tar.gz
Source2: %{downloadurl}/compiler-rt-%{version}%{?prerel}.src.tar.gz
Source1: %{downloadurl}/cfe-%{version}%{?prerel}.src.tar.gz
Source2: %{downloadurl_base}/compiler-rt-%{version_base}%{?prerel}.src.tar.gz
%if %{with lldb}
Source3: %{downloadurl}/lldb-%{version}%{?prerel}.src.tar.gz
Source3: %{downloadurl_base}/lldb-%{version_base}%{?prerel}.src.tar.gz
%endif
# multilib fixes
@ -58,6 +71,9 @@ Source11: llvm-Config-llvm-config.h
# patches
Patch1: 0001-data-install-preserve-timestamps.patch
Patch2: 0002-linker-flags-speedup-memory.patch
Patch3: 0003-amazon-triples.patch
Patch4: 0004-devtoolset.patch
Patch5: 0005-scan-build-dir.patch
BuildRequires: bison
BuildRequires: chrpath
@ -127,9 +143,9 @@ Shared libraries for the LLVM compiler infrastructure.
%package static
Summary: LLVM static libraries
Group: Development/Languages
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Summary: LLVM static libraries
Group: Development/Languages
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static
Static libraries for the LLVM compiler infrastructure. Not recommended
@ -270,20 +286,23 @@ HTML documentation for LLVM's OCaml binding.
%prep
%setup -q %{?with_clang:-a1} %{?with_crt:-a2} %{?with_lldb:-a3}
%setup -q %{?with_clang:-a1} %{?with_crt:-a2} %{?with_lldb:-a3} -n llvm-%{version}.src
rm -rf tools/clang tools/lldb projects/compiler-rt
%if %{with clang}
mv clang-%{version} tools/clang
mv cfe-%{version}.src tools/clang
%endif
%if %{with crt}
mv compiler-rt-%{version} projects/compiler-rt
mv compiler-rt-%{version_base} projects/compiler-rt
%endif
%if %{with lldb}
mv lldb-%{version} tools/lldb
mv lldb-%{version_base} tools/lldb
%endif
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
# fix library paths
sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' ./configure
@ -294,11 +313,17 @@ sed -i 's|/lib\>|/%{_lib}/%{name}|g' tools/llvm-config/llvm-config.cpp
# clang is lovely and all, but fedora builds with gcc
export CC=gcc
export CXX=c++
# Add include path for ffi.h
export CPPFLAGS=-I$(echo %{_libdir}/libffi-*/include)
export CFLAGS="$RPM_OPT_FLAGS $CPPFLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS $CPPFLAGS"
%configure \
--libdir=%{_libdir}/%{name} \
--disable-polly \
--disable-libcpp \
%if %{with cxx11}
--enable-cxx11 \
%endif
--enable-clang-arcmt \
--enable-clang-static-analyzer \
--enable-clang-rewriter \
@ -324,8 +349,6 @@ export CXX=c++
--disable-embed-stdcxx \
--enable-timestamps \
--enable-backtraces \
--enable-targets=x86,powerpc,arm,aarch64,cpp,nvptx,systemz \
--enable-experimental-targets=R600 \
%if %{with ocaml}
--enable-bindings=ocaml \
%else
@ -346,7 +369,6 @@ export CXX=c++
%if %{with gold}
--with-binutils-include=%{_includedir} \
%endif
--with-c-include-dirs=%{_includedir}:$(echo %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) \
--with-optimize-option=-O3
make %{_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1 \
@ -422,7 +444,7 @@ mkdir -p %{buildroot}%{_docdir}
# llvm
mkdir -p %{buildroot}%{llvmdocdir llvm}
for f in CREDITS.TXT LICENSE.TXT README.txt; do
cp $f %{buildroot}%{llvmdocdir llvm}
cp $f %{buildroot}%{llvmdocdir llvm}
done
# llvm-doc
@ -649,10 +671,40 @@ exit 0
%endif
%changelog
* Fri Jan 31 2014 Kyle McMartin <kyle@redhat.com> 3.4-4
* Fri Jan 02 2015 Dave Johansen <davejohansen@gmail.com> 3.4.2-4
- Adding X_SCLS for turning on devtoolset use at runtime
* Thu Nov 20 2014 Dave Johansen <davejohansen@gmail.com> 3.4.2-3
- Fix for CVE-2014-2893
* Sat Nov 15 2014 Dave Johansen <davejohansen@gmail.com> 3.4.2-2
- Adding support for using devtoolset
* Sun Aug 03 2014 Dave Johansen <davejohansen@gmail.com> 3.4.2-1
- Updated to 3.4.2
* Wed Apr 23 2014 Dave Johansen <davejohansen@gmail.com> 3.4-10
- Adding support for Amazon Linux
* Wed Feb 05 2014 Dave Johansen <davejohansen@gmail.com> 3.4-9
- Removing specification of targets
* Tue Feb 04 2014 Dave Johansen <davejohansen@gmail.com> 3.4-8
- Adding include path for ffi.h
* Mon Feb 03 2014 Dave Johansen <davejohansen@gmail.com> 3.4-7
- Removing specification of --with-c-include-dirs
* Fri Jan 31 2014 Kyle McMartin <kyle@redhat.com> 3.4-6
- Disable lldb on everything but x86_64, and i686. It hasn't been ported
beyond those platforms so far.
* Wed Jan 29 2014 Dave Johansen <davejohansen@gmail.com> 3.4-5
- Obsoleting pure on EL6
* Sat Jan 18 2014 Dave Johansen <davejohansen@gmail.com> 3.4-4
- Enable building on EL6
* Fri Jan 17 2014 Dave Airlie <airlied@redhat.com> 3.4-3
- bump nvr for lldb on ppc disable

View File

@ -1,4 +1,4 @@
b378f1e2c424e03289effc75268d3d2c clang-3.4.src.tar.gz
87945973b7c73038871c5f849a818588 cfe-3.4.2.src.tar.gz
7ed60a0463f9fdfa20db7109d4624cee lldb-3.4.src.tar.gz
7938353e3a3bda85733a165e7ac4bb84 compiler-rt-3.4.src.tar.gz
46ed668a1ce38985120dbf6344cf6116 llvm-3.4.src.tar.gz
a20669f75967440de949ac3b1bad439c llvm-3.4.2.src.tar.gz