SHA256
1
0
forked from pool/llvm
Ismail Dönmez
2012-03-21 14:01:15 +00:00
committed by Git OBS Bridge
parent 98018c7b56
commit 0cb5aad528
3 changed files with 40 additions and 61 deletions

View File

@@ -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
View 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";
}
}

View File

@@ -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*