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
|
/llvm-3.2.src.tar.gz
|
||||||
/clang-3.2.src.tar.gz
|
/clang-3.2.src.tar.gz
|
||||||
/R600-Mesa-9.1.patch.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 || PrintLibNames || PrintLibFiles) {
|
||||||
+ if (PrintLibs) {
|
+ if (PrintLibs) {
|
||||||
+ OS << "-lLLVM-3.2svn";
|
+ OS << "-lLLVM-3.3svn";
|
||||||
+ } else if (PrintLibNames || PrintLibFiles) {
|
+ } else if (PrintLibNames || PrintLibFiles) {
|
||||||
// If no components were specified, default to "all".
|
// If no components were specified, default to "all".
|
||||||
if (Components.empty())
|
if (Components.empty())
|
||||||
|
94
llvm.spec
94
llvm.spec
@ -19,11 +19,15 @@
|
|||||||
%bcond_without ocaml
|
%bcond_without ocaml
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# compiler-rt not actually working yet
|
||||||
|
%bcond_with crt
|
||||||
%bcond_without clang
|
%bcond_without clang
|
||||||
|
|
||||||
#global prerel rcX
|
#global prerel rcX
|
||||||
%global downloadurl http://llvm.org/%{?prerel:pre-}releases/%{version}%{?prerel:/%{prerel}}
|
%global downloadurl http://llvm.org/%{?prerel:pre-}releases/%{version}%{?prerel:/%{prerel}}
|
||||||
|
|
||||||
|
%global gitdate 20130507
|
||||||
|
|
||||||
# gold linker support
|
# gold linker support
|
||||||
# arch list from binutils spec
|
# arch list from binutils spec
|
||||||
%global gold_arches %ix86 x86_64
|
%global gold_arches %ix86 x86_64
|
||||||
@ -34,25 +38,33 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: llvm
|
Name: llvm
|
||||||
Version: 3.2
|
Version: 3.3
|
||||||
Release: 6%{?dist}
|
Release: 0.2.%{gitdate}%{?dist}
|
||||||
Summary: The Low Level Virtual Machine
|
Summary: The Low Level Virtual Machine
|
||||||
|
|
||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
License: NCSA
|
License: NCSA
|
||||||
URL: http://llvm.org/
|
URL: http://llvm.org/
|
||||||
Source0: %{downloadurl}/llvm-%{version}%{?prerel:%{prerel}}.src.tar.gz
|
#Source0: %{downloadurl}/llvm-%{version}%{?prerel:%{prerel}}.src.tar.gz
|
||||||
Source1: %{downloadurl}/clang-%{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
|
# multilib fixes
|
||||||
Source2: llvm-Config-config.h
|
Source10: llvm-Config-config.h
|
||||||
Source3: llvm-Config-llvm-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
|
# Data files should be installed with timestamps preserved
|
||||||
Patch0: llvm-2.6-timestamp.patch
|
Patch0: llvm-2.6-timestamp.patch
|
||||||
|
|
||||||
Patch11: clang-hardfloat-hack.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
|
# 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
|
# 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
|
# hack the link flags for the shared libs for speed and memory usage
|
||||||
Patch21: llvm-3.2-symbolic-shlib.patch
|
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: bison
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
@ -269,10 +274,15 @@ HTML documentation for LLVM's OCaml binding.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%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 tools/clang
|
||||||
|
rm -r -f llvm/projects/compiler-rt
|
||||||
%if %{with clang}
|
%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
|
%endif
|
||||||
|
|
||||||
# llvm patches
|
# llvm patches
|
||||||
@ -285,25 +295,14 @@ mv clang-%{version}%{?prerel}.src tools/clang
|
|||||||
#patch20 -p1 -b .orig
|
#patch20 -p1 -b .orig
|
||||||
%patch21 -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
|
# fix ld search path
|
||||||
sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' \
|
sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' \
|
||||||
./configure
|
./configure
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Build without -ftree-pre as a workaround for clang segfaulting on x86_64.
|
# clang is lovely and all, but fedora builds with gcc
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=791365
|
|
||||||
%global optflags %(echo %{optflags} | sed 's/-O2 /-O2 -fno-tree-pre /')
|
|
||||||
|
|
||||||
# building with clang failing
|
|
||||||
export CC=gcc
|
export CC=gcc
|
||||||
export CXX=c++
|
export CXX=c++
|
||||||
# Disabling assertions now, rec. by pure and needed for OpenGTL
|
|
||||||
%configure \
|
%configure \
|
||||||
--prefix=%{_prefix} \
|
--prefix=%{_prefix} \
|
||||||
--libdir=%{_libdir}/%{name} \
|
--libdir=%{_libdir}/%{name} \
|
||||||
@ -323,11 +322,12 @@ export CXX=c++
|
|||||||
%endif
|
%endif
|
||||||
--disable-assertions \
|
--disable-assertions \
|
||||||
--enable-debug-runtime \
|
--enable-debug-runtime \
|
||||||
|
--enable-optimized \
|
||||||
--enable-jit \
|
--enable-jit \
|
||||||
--enable-libffi \
|
--enable-libffi \
|
||||||
--enable-shared \
|
--enable-shared \
|
||||||
--with-c-include-dirs=%{_includedir}:$(echo %{_prefix}/lib/gcc/%{_target_cpu}*/%{gcc_version}/include) \
|
--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
|
--enable-experimental-targets=R600
|
||||||
|
|
||||||
# FIXME file this
|
# FIXME file this
|
||||||
@ -340,7 +340,7 @@ sed -i 's|ActiveLibDir = ActivePrefix + "/lib"|ActiveLibDir = ActivePrefix + "/%
|
|||||||
|
|
||||||
make %{_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1 \
|
make %{_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1 \
|
||||||
%ifarch ppc
|
%ifarch ppc
|
||||||
OPTIMIZE_OPTION="%{optflags} -fno-var-tracking-assignments -UPPC"
|
OPTIMIZE_OPTION="%{optflags} -UPPC"
|
||||||
%else
|
%else
|
||||||
OPTIMIZE_OPTION="%{optflags}"
|
OPTIMIZE_OPTION="%{optflags}"
|
||||||
%endif
|
%endif
|
||||||
@ -360,9 +360,9 @@ mv %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
|||||||
|
|
||||||
pushd %{buildroot}%{_includedir}/llvm/Config
|
pushd %{buildroot}%{_includedir}/llvm/Config
|
||||||
mv config.h config-%{__isa_bits}.h
|
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
|
mv llvm-config.h llvm-config-%{__isa_bits}.h
|
||||||
cp -p %{SOURCE3} llvm-config.h
|
cp -p %{SOURCE11} llvm-config.h
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Create ld.so.conf.d entry
|
# 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
|
# the Koji build server does not seem to have enough RAM
|
||||||
# for the default 16 threads
|
# 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)
|
# LLVM test suite failing on ARM, PPC64 and s390(x)
|
||||||
make check LIT_ARGS="-v -j4" \
|
make -k check LIT_ARGS="-v -j4" | tee llvm-testlog-%{_arch}.txt || :
|
||||||
%ifarch %{arm} ppc64 s390 s390x
|
|
||||||
| tee llvm-testlog-%{_arch}.txt
|
|
||||||
%else
|
|
||||||
%{nil}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with clang}
|
%if %{with clang}
|
||||||
# clang test suite failing on PPC and s390(x)
|
# clang test suite failing on PPC and s390(x)
|
||||||
# FIXME:
|
# FIXME:
|
||||||
# unexpected failures on all platforms with GCC 4.7.0.
|
# unexpected failures on all platforms with GCC 4.7.0.
|
||||||
# capture logs
|
# capture logs
|
||||||
make -C tools/clang/test TESTARGS="-v -j4" \
|
make -C tools/clang/test TESTARGS="-v -j4" | tee clang-testlog-%{_arch}.txt || :
|
||||||
| tee clang-testlog-%{_arch}.txt
|
|
||||||
#ifarch ppc ppc64 s390 s390x
|
|
||||||
# || :
|
|
||||||
#else
|
|
||||||
# %{nil}
|
|
||||||
#endif
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -466,6 +458,10 @@ make -C tools/clang/test TESTARGS="-v -j4" \
|
|||||||
# link llvm-config to the platform-specific file;
|
# link llvm-config to the platform-specific file;
|
||||||
# use ISA bits as priority so that 64-bit is preferred
|
# use ISA bits as priority so that 64-bit is preferred
|
||||||
# over 32-bit if both are installed
|
# 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 \
|
alternatives \
|
||||||
--install \
|
--install \
|
||||||
%{_bindir}/llvm-config \
|
%{_bindir}/llvm-config \
|
||||||
@ -484,9 +480,6 @@ exit 0
|
|||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc CREDITS.TXT LICENSE.TXT README.txt
|
%doc CREDITS.TXT LICENSE.TXT README.txt
|
||||||
%ifarch %{arm} ppc64 s390 s390x
|
|
||||||
%doc llvm-testlog-%{_arch}.txt
|
|
||||||
%endif
|
|
||||||
%{_bindir}/bugpoint
|
%{_bindir}/bugpoint
|
||||||
%{_bindir}/llc
|
%{_bindir}/llc
|
||||||
%{_bindir}/lli
|
%{_bindir}/lli
|
||||||
@ -501,6 +494,7 @@ exit 0
|
|||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
%doc llvm-testlog-%{_arch}.txt
|
||||||
%{_bindir}/llvm-config-%{__isa_bits}
|
%{_bindir}/llvm-config-%{__isa_bits}
|
||||||
%{_includedir}/%{name}
|
%{_includedir}/%{name}
|
||||||
%{_includedir}/%{name}-c
|
%{_includedir}/%{name}-c
|
||||||
@ -579,6 +573,10 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon May 06 2013 Adam Jackson <ajax@redhat.com> 3.2-6
|
||||||
- Only build codegen backends for arches that actually exist in Fedora
|
- 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
|
f033b786761165f5b2cbe00ed861152b clang-20130507.tar.xz
|
||||||
71610289bbc819e3e15fdd562809a2d7 llvm-3.2.src.tar.gz
|
f113764a80fc87ad2b5898b156fa8f4b compiler-rt-20130507.tar.xz
|
||||||
610deacbd5928bbc62f630512f7d0292 R600-Mesa-9.1.patch.gz
|
f8313d30e86c7f352f77da3521ead4da llvm-20130507.tar.xz
|
||||||
|
Loading…
Reference in New Issue
Block a user