Bump to LLVM 3.3svn
- Enable s390 backend
This commit is contained in:
parent
6531bd75df
commit
94fba1fe65
3
.gitignore
vendored
3
.gitignore
vendored
@ -6,3 +6,6 @@
|
||||
/llvm-3.2.src.tar.gz
|
||||
/clang-3.2.src.tar.gz
|
||||
/R600-Mesa-9.1.patch.gz
|
||||
/clang-20130507.tar.xz
|
||||
/compiler-rt-20130507.tar.xz
|
||||
/llvm-20130507.tar.xz
|
||||
|
@ -7,7 +7,7 @@ diff -up llvm-3.2.src/tools/llvm-config/llvm-config.cpp.jx llvm-3.2.src/tools/ll
|
||||
|
||||
- if (PrintLibs || PrintLibNames || PrintLibFiles) {
|
||||
+ if (PrintLibs) {
|
||||
+ OS << "-lLLVM-3.2svn";
|
||||
+ OS << "-lLLVM-3.3svn";
|
||||
+ } else if (PrintLibNames || PrintLibFiles) {
|
||||
// If no components were specified, default to "all".
|
||||
if (Components.empty())
|
||||
|
94
llvm.spec
94
llvm.spec
@ -19,11 +19,15 @@
|
||||
%bcond_without ocaml
|
||||
%endif
|
||||
|
||||
# compiler-rt not actually working yet
|
||||
%bcond_with crt
|
||||
%bcond_without clang
|
||||
|
||||
#global prerel rcX
|
||||
%global downloadurl http://llvm.org/%{?prerel:pre-}releases/%{version}%{?prerel:/%{prerel}}
|
||||
|
||||
%global gitdate 20130507
|
||||
|
||||
# gold linker support
|
||||
# arch list from binutils spec
|
||||
%global gold_arches %ix86 x86_64
|
||||
@ -34,25 +38,33 @@
|
||||
%endif
|
||||
|
||||
Name: llvm
|
||||
Version: 3.2
|
||||
Release: 6%{?dist}
|
||||
Version: 3.3
|
||||
Release: 0.2.%{gitdate}%{?dist}
|
||||
Summary: The Low Level Virtual Machine
|
||||
|
||||
Group: Development/Languages
|
||||
License: NCSA
|
||||
URL: http://llvm.org/
|
||||
Source0: %{downloadurl}/llvm-%{version}%{?prerel:%{prerel}}.src.tar.gz
|
||||
Source1: %{downloadurl}/clang-%{version}%{?prerel:%{prerel}}.src.tar.gz
|
||||
#Source0: %{downloadurl}/llvm-%{version}%{?prerel:%{prerel}}.src.tar.gz
|
||||
#Source1: %{downloadurl}/clang-%{version}%{?prerel:%{prerel}}.src.tar.gz
|
||||
Source0: llvm-%{gitdate}.tar.xz
|
||||
Source1: clang-%{gitdate}.tar.xz
|
||||
Source2: compiler-rt-%{gitdate}.tar.xz
|
||||
# multilib fixes
|
||||
Source2: llvm-Config-config.h
|
||||
Source3: llvm-Config-llvm-config.h
|
||||
Source10: llvm-Config-config.h
|
||||
Source11: llvm-Config-llvm-config.h
|
||||
|
||||
# snapshot scripts
|
||||
Source100: make-llvm-snapshot.sh
|
||||
Source101: make-clang-snapshot.sh
|
||||
Source102: make-compiler-rt-snapshot.sh
|
||||
|
||||
# Data files should be installed with timestamps preserved
|
||||
Patch0: llvm-2.6-timestamp.patch
|
||||
|
||||
Patch11: clang-hardfloat-hack.patch
|
||||
|
||||
# hack llvm-config to print -lLLVM-3.2svn instead of ALL THE THINGS
|
||||
# hack llvm-config to print -lLLVM-3.* instead of ALL THE THINGS
|
||||
#
|
||||
# you really, really, really want not to use the static libs, otherwise
|
||||
# if you ever end up with two (static) copies of llvm in the same process
|
||||
@ -65,13 +77,6 @@ Patch20: llvm-3.2-llvm-config-dso-hack.patch
|
||||
# hack the link flags for the shared libs for speed and memory usage
|
||||
Patch21: llvm-3.2-symbolic-shlib.patch
|
||||
|
||||
# from http://people.freedesktop.org/~tstellar/llvm/3.2/ as of 7 March 2013
|
||||
# ref: http://lists.freedesktop.org/archives/mesa-dev/2013-March/035561.html
|
||||
Patch600: R600-Mesa-9.1.patch.gz
|
||||
Patch601: 0001-LegalizeDAG-Allow-type-promotion-for-scalar-stores.patch
|
||||
Patch602: 0002-LegalizeDAG-Allow-promotion-of-scalar-loads.patch
|
||||
Patch603: 0003-DAGCombiner-Avoid-generating-illegal-vector-INT_TO_F.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: flex
|
||||
@ -269,10 +274,15 @@ HTML documentation for LLVM's OCaml binding.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n llvm-%{version}%{?prerel}.src %{?with_clang:-a1}
|
||||
#setup -q -n llvm-%{version}%{?prerel}.src %{?with_clang:-a1} %{?with_crt:-a2}
|
||||
%setup -q -n llvm-%{gitdate} %{?with_clang:-a1} %{?with_crt:-a2}
|
||||
rm -r -f tools/clang
|
||||
rm -r -f llvm/projects/compiler-rt
|
||||
%if %{with clang}
|
||||
mv clang-%{version}%{?prerel}.src tools/clang
|
||||
mv clang-*/ tools/clang
|
||||
%endif
|
||||
%if %{with crt}
|
||||
mv compiler-rt-*/ projects/compiler-rt
|
||||
%endif
|
||||
|
||||
# llvm patches
|
||||
@ -285,25 +295,14 @@ mv clang-%{version}%{?prerel}.src tools/clang
|
||||
#patch20 -p1 -b .orig
|
||||
%patch21 -p1 -b .orig
|
||||
|
||||
%patch600 -p1 -b .orig
|
||||
%patch601 -p1 -b .orig
|
||||
%patch602 -p1 -b .orig
|
||||
%patch603 -p1 -b .orig
|
||||
|
||||
# fix ld search path
|
||||
sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' \
|
||||
./configure
|
||||
|
||||
|
||||
%build
|
||||
# Build without -ftree-pre as a workaround for clang segfaulting on x86_64.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=791365
|
||||
%global optflags %(echo %{optflags} | sed 's/-O2 /-O2 -fno-tree-pre /')
|
||||
|
||||
# building with clang failing
|
||||
# clang is lovely and all, but fedora builds with gcc
|
||||
export CC=gcc
|
||||
export CXX=c++
|
||||
# Disabling assertions now, rec. by pure and needed for OpenGTL
|
||||
%configure \
|
||||
--prefix=%{_prefix} \
|
||||
--libdir=%{_libdir}/%{name} \
|
||||
@ -323,11 +322,12 @@ export CXX=c++
|
||||
%endif
|
||||
--disable-assertions \
|
||||
--enable-debug-runtime \
|
||||
--enable-optimized \
|
||||
--enable-jit \
|
||||
--enable-libffi \
|
||||
--enable-shared \
|
||||
--with-c-include-dirs=%{_includedir}:$(echo %{_prefix}/lib/gcc/%{_target_cpu}*/%{gcc_version}/include) \
|
||||
--enable-targets=x86,powerpc,arm,cpp,nvptx \
|
||||
--enable-targets=x86,powerpc,arm,cpp,nvptx,systemz \
|
||||
--enable-experimental-targets=R600
|
||||
|
||||
# FIXME file this
|
||||
@ -340,7 +340,7 @@ sed -i 's|ActiveLibDir = ActivePrefix + "/lib"|ActiveLibDir = ActivePrefix + "/%
|
||||
|
||||
make %{_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1 \
|
||||
%ifarch ppc
|
||||
OPTIMIZE_OPTION="%{optflags} -fno-var-tracking-assignments -UPPC"
|
||||
OPTIMIZE_OPTION="%{optflags} -UPPC"
|
||||
%else
|
||||
OPTIMIZE_OPTION="%{optflags}"
|
||||
%endif
|
||||
@ -360,9 +360,9 @@ mv %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
||||
|
||||
pushd %{buildroot}%{_includedir}/llvm/Config
|
||||
mv config.h config-%{__isa_bits}.h
|
||||
cp -p %{SOURCE2} config.h
|
||||
cp -p %{SOURCE10} config.h
|
||||
mv llvm-config.h llvm-config-%{__isa_bits}.h
|
||||
cp -p %{SOURCE3} llvm-config.h
|
||||
cp -p %{SOURCE11} llvm-config.h
|
||||
popd
|
||||
|
||||
# Create ld.so.conf.d entry
|
||||
@ -430,26 +430,18 @@ find examples -name 'Makefile' | xargs -0r rm -f
|
||||
# the Koji build server does not seem to have enough RAM
|
||||
# for the default 16 threads
|
||||
|
||||
# the || : is wrong, i know, but the git snaps fail to make check due to
|
||||
# broken makefiles in the doc dirs.
|
||||
|
||||
# LLVM test suite failing on ARM, PPC64 and s390(x)
|
||||
make check LIT_ARGS="-v -j4" \
|
||||
%ifarch %{arm} ppc64 s390 s390x
|
||||
| tee llvm-testlog-%{_arch}.txt
|
||||
%else
|
||||
%{nil}
|
||||
%endif
|
||||
make -k check LIT_ARGS="-v -j4" | tee llvm-testlog-%{_arch}.txt || :
|
||||
|
||||
%if %{with clang}
|
||||
# clang test suite failing on PPC and s390(x)
|
||||
# FIXME:
|
||||
# unexpected failures on all platforms with GCC 4.7.0.
|
||||
# capture logs
|
||||
make -C tools/clang/test TESTARGS="-v -j4" \
|
||||
| tee clang-testlog-%{_arch}.txt
|
||||
#ifarch ppc ppc64 s390 s390x
|
||||
# || :
|
||||
#else
|
||||
# %{nil}
|
||||
#endif
|
||||
make -C tools/clang/test TESTARGS="-v -j4" | tee clang-testlog-%{_arch}.txt || :
|
||||
%endif
|
||||
|
||||
|
||||
@ -466,6 +458,10 @@ make -C tools/clang/test TESTARGS="-v -j4" \
|
||||
# link llvm-config to the platform-specific file;
|
||||
# use ISA bits as priority so that 64-bit is preferred
|
||||
# over 32-bit if both are installed
|
||||
#
|
||||
# XXX ew alternatives though. seems like it'd be better to install a
|
||||
# shell script that cases on $(arch) and calls out to the appropriate
|
||||
# llvm-config-%d.
|
||||
alternatives \
|
||||
--install \
|
||||
%{_bindir}/llvm-config \
|
||||
@ -484,9 +480,6 @@ exit 0
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc CREDITS.TXT LICENSE.TXT README.txt
|
||||
%ifarch %{arm} ppc64 s390 s390x
|
||||
%doc llvm-testlog-%{_arch}.txt
|
||||
%endif
|
||||
%{_bindir}/bugpoint
|
||||
%{_bindir}/llc
|
||||
%{_bindir}/lli
|
||||
@ -501,6 +494,7 @@ exit 0
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%doc llvm-testlog-%{_arch}.txt
|
||||
%{_bindir}/llvm-config-%{__isa_bits}
|
||||
%{_includedir}/%{name}
|
||||
%{_includedir}/%{name}-c
|
||||
@ -579,6 +573,10 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue May 07 2013 Adam Jackson <ajax@redhat.com> 3.3-0.1.20130507
|
||||
- Bump to LLVM 3.3svn
|
||||
- Enable s390 backend
|
||||
|
||||
* Mon May 06 2013 Adam Jackson <ajax@redhat.com> 3.2-6
|
||||
- Only build codegen backends for arches that actually exist in Fedora
|
||||
|
||||
|
6
sources
6
sources
@ -1,3 +1,3 @@
|
||||
3896ef4334df08563b05d0848ba80582 clang-3.2.src.tar.gz
|
||||
71610289bbc819e3e15fdd562809a2d7 llvm-3.2.src.tar.gz
|
||||
610deacbd5928bbc62f630512f7d0292 R600-Mesa-9.1.patch.gz
|
||||
f033b786761165f5b2cbe00ed861152b clang-20130507.tar.xz
|
||||
f113764a80fc87ad2b5898b156fa8f4b compiler-rt-20130507.tar.xz
|
||||
f8313d30e86c7f352f77da3521ead4da llvm-20130507.tar.xz
|
||||
|
Loading…
Reference in New Issue
Block a user