-
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=119
This commit is contained in:
committed by
Git OBS Bridge
parent
98018c7b56
commit
0cb5aad528
@@ -1,11 +0,0 @@
|
||||
--- tools/clang/tools/libclang/CMakeLists.txt (revision 132071)
|
||||
+++ tools/clang/tools/libclang/CMakeLists.txt (working copy)
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
set_target_properties(libclang
|
||||
PROPERTIES
|
||||
- OUTPUT_NAME "libclang"
|
||||
+ OUTPUT_NAME "clang"
|
||||
VERSION ${LIBCLANG_LIBRARY_VERSION}
|
||||
DEFINE_SYMBOL _CINDEX_LIB_)
|
||||
|
13
default-to-i586.patch
Normal file
13
default-to-i586.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: llvm/tools/clang/lib/Driver/Tools.cpp
|
||||
===================================================================
|
||||
--- llvm.orig/tools/clang/lib/Driver/Tools.cpp
|
||||
+++ llvm/tools/clang/lib/Driver/Tools.cpp
|
||||
@@ -897,7 +897,7 @@ void Clang::AddX86TargetArgs(const ArgLi
|
||||
if (getToolChain().getArch() == llvm::Triple::x86_64)
|
||||
CPUName = "x86-64";
|
||||
else if (getToolChain().getArch() == llvm::Triple::x86)
|
||||
- CPUName = "pentium4";
|
||||
+ CPUName = "i586";
|
||||
}
|
||||
}
|
||||
|
77
llvm.spec
77
llvm.spec
@@ -18,7 +18,7 @@
|
||||
|
||||
%define _revision 145598
|
||||
%define _release_version 3.0
|
||||
%define _supported_archs "ARM;X86"
|
||||
%define _supported_archs "arm,x86"
|
||||
|
||||
Name: llvm
|
||||
Version: 3.0
|
||||
@@ -31,8 +31,6 @@ Source0: %{name}-%{version}.tar.bz2
|
||||
Source100: %{name}-rpmlintrc
|
||||
# PATCH-FIX-OPENSUSE set-revision.patch idoenmez@suse.de -- Allow us to set revision
|
||||
Patch1: set-revision.patch
|
||||
# PATCH-FIX-OPENSUSE set-revision.patch idoenmez@suse.de -- Use correct lib prefix
|
||||
Patch2: clang-cmake-lib.patch
|
||||
# PATCH-FIX-OPENSUSE assume-opensuse.patch idoenmez@suse.de -- Always enable openSUSE/SUSE features
|
||||
Patch3: assume-opensuse.patch
|
||||
# PATCH-FIX-UPSTREAM clang-glibc2.14.patch idoenmez@suse.de -- Support glibc 2.14 headers
|
||||
@@ -41,6 +39,8 @@ Patch4: clang-glibc2.14.patch
|
||||
Patch5: clang-disable-ada-extension.patch
|
||||
# PATCH-FIX-UPSTREAM http://llvm.org/viewvc/llvm-project?view=rev&revision=147295
|
||||
Patch6: clang-pr11642.patch
|
||||
# PATCH-FIX-OPENSUSE default-to-i586.patch -- Use i586 as default target for 32bit
|
||||
Patch7: default-to-i586.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
@@ -49,7 +49,6 @@ BuildRequires: binutils-devel >= 2.21.90
|
||||
%endif
|
||||
BuildRequires: bison
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: cmake
|
||||
BuildRequires: dejagnu
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: flex
|
||||
@@ -133,13 +132,13 @@ This package contains vim plugins for LLVM like syntax highlighting.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1
|
||||
%patch2
|
||||
%patch3
|
||||
cd tools/clang
|
||||
%patch4
|
||||
%patch6
|
||||
cd ../..
|
||||
%patch5 -p1
|
||||
%patch7 -p1
|
||||
|
||||
sed -i s,SVN_REVISION,\"%{_revision}\",g tools/clang/lib/Basic/Version.cpp
|
||||
|
||||
@@ -151,16 +150,11 @@ TOPLEVEL=$PWD
|
||||
mkdir stage1 stage2 stage3
|
||||
pushd stage1
|
||||
|
||||
# Idiot cmake doesn't let me select my own optimization level here
|
||||
# hence we use configure, this needed to workaround a gcc 4.5 bug
|
||||
../configure \
|
||||
--enable-optimized \
|
||||
--disable-assertions \
|
||||
--with-optimize-option="-O0" \
|
||||
%ifarch x86
|
||||
--target=i586-linux \
|
||||
%endif
|
||||
--enable-targets=host
|
||||
--enable-optimized \
|
||||
--disable-assertions \
|
||||
--with-optimize-option="-O0" \
|
||||
--enable-targets=host
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
@@ -170,13 +164,11 @@ pushd stage2
|
||||
export CC=$TOPLEVEL/stage1/Release/bin/clang
|
||||
export CXX=$TOPLEVEL/stage1/Release/bin/clang++
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
%ifarch x86
|
||||
-DLLVM_TARGET_ARCH=i586-linux \
|
||||
%endif
|
||||
-DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \
|
||||
..
|
||||
../configure \
|
||||
--enable-optimized \
|
||||
--disable-assertions \
|
||||
--enable-targets=host
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
popd
|
||||
@@ -184,33 +176,27 @@ pushd stage3
|
||||
# Needed to make clang resource dir working inside build tree
|
||||
ln -s lib lib64
|
||||
|
||||
export CC=$TOPLEVEL/stage2/bin/clang
|
||||
export CXX=$TOPLEVEL/stage2/bin/clang++
|
||||
export CC=$TOPLEVEL/stage2/Release/bin/clang
|
||||
export CXX=$TOPLEVEL/stage2/Release/bin/clang++
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLLVM_ENABLE_ASSERTIONS=FALSE \
|
||||
-DLLVM_ENABLE_PIC=TRUE \
|
||||
-DLLVM_ENABLE_TIMESTAMPS=FALSE \
|
||||
-DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \
|
||||
-DCLANG_VENDOR="SUSE Linux" \
|
||||
%ifarch x86
|
||||
-DLLVM_TARGET_ARCH=i586-linux \
|
||||
%endif
|
||||
%if "%{_lib}" == "lib64"
|
||||
-DLLVM_LIBDIR_SUFFIX=64 \
|
||||
%endif
|
||||
../configure \
|
||||
--enable-optimized \
|
||||
--disable-assertions \
|
||||
--enable-pic \
|
||||
--disable-timestamps \
|
||||
--enable-targets=%{_supported_archs} \
|
||||
%if 0%{?suse_version} >= 1220
|
||||
-DLLVM_BINUTILS_INCDIR=/usr/include \
|
||||
--with-binutils-include=/usr/include \
|
||||
%endif
|
||||
-DCLANG_RESOURCE_DIR="../%{_lib}/clang/%{_release_version}" \
|
||||
..
|
||||
make %{?_smp_mflags}
|
||||
--with-clang-resource-dir="../%{_lib}/clang/%{_release_version}"
|
||||
|
||||
make %{?_smp_mflags} REQUIRES_RTTI=1
|
||||
|
||||
%check
|
||||
cd stage3
|
||||
make check
|
||||
make clang-test
|
||||
cd tools/clang
|
||||
make test
|
||||
|
||||
%install
|
||||
cd stage3
|
||||
@@ -282,15 +268,6 @@ install -m 755 -d %{buildroot}%{_datadir}/vim/site/syntax/
|
||||
install -m 644 utils/vim/*.vim %{buildroot}%{_datadir}/vim/site/syntax/
|
||||
mv utils/vim/README utils/vim/README.vim
|
||||
|
||||
# Create man pages because cmake buildsystem doesn't do for us
|
||||
install -m 755 -d %{buildroot}%{_mandir}/man1
|
||||
# tblgen is not installed anymore.
|
||||
rm docs/CommandGuide/tblgen.pod
|
||||
for i in docs/CommandGuide/*.pod tools/clang/docs/tools/*.pod; do
|
||||
page=`echo $i|awk -F"/" '{print $(NF)}'|sed s,.pod,,` &&
|
||||
pod2man -s1 $i %{buildroot}%{_mandir}/man1/$page.1;
|
||||
done
|
||||
|
||||
# Remove gtest library
|
||||
rm -f %{buildroot}%{_libdir}/*gtest*
|
||||
|
||||
|
Reference in New Issue
Block a user