Browse Source

llvm: update to 3.1

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@7197 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 11 years ago
parent
commit
3a20b8bf27
1 changed files with 41 additions and 32 deletions
  1. 41 32
      l/llvm/llvm-vl.spec

+ 41 - 32
l/llvm/llvm-vl.spec

@@ -5,7 +5,7 @@
 %define build_apidoc %{?_with_doxygen:1}%{!?_with_doxygen:0}
 
 Name:           llvm
-Version:        3.0
+Version:        3.1
 Release:        1%{?_dist_release}
 Summary:        The Low Level Virtual Machine
 Summary(ja):    LLVM - 低レベルバーチャルマシン
@@ -13,23 +13,25 @@ Summary(ja):    LLVM - 低レベルバーチャルマシン
 Group:          Development/Languages
 License:        NCSA
 URL:            http://llvm.org/
-Source0:        http://llvm.org/releases/%{version}/llvm-%{version}.tar.gz
-Source1:        http://llvm.org/releases/%{version}/clang-%{version}.tar.gz
+Source0:        http://llvm.org/releases/%{version}/llvm-%{version}.src.tar.gz
+Source1:        http://llvm.org/releases/%{version}/clang-%{version}.src.tar.gz
 # multilib fixes
 Source2:        llvm-Config-config.h
 Source3:        llvm-Config-llvm-config.h
 
 # Data files should be installed with timestamps preserved
 Patch0:         llvm-2.6-timestamp.patch
-# workaround for http://llvm.org/bugs/show_bug.cgi?id=11177
-Patch1:         llvm-3.0-fix11177.patch
-# fix bug 9798 - Linker flags fail / can't find crtbegin.o 
-# http://llvm.org/bugs/show_bug.cgi?id=9798
-Patch2:         clang-3.0-fix9798.patch
-# Vine Patch
-Patch3:         llvm-3.0-fixLLVMgold.patch	
-Patch4:         clang-3.0-driver-ld.gold.patch 
-Patch5:         clang-3.0-driver-lib64.patch
+
+# r600 llvm and clang patches
+Patch600: 0001-r600-Add-some-intrinsic-definitions.patch
+Patch601: 0002-r600-Add-get_global_size-and-get_local_size-intrinsi.patch
+
+Patch610: 0001-Add-r600-TargetInfo.patch
+Patch611: 0002-r600-Add-some-target-builtins.patch
+Patch612: 0003-r600-Add-read_global_size-and-read_local_size-builti.patch
+
+# ocaml
+Patch700: llvm-fix-ghc.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 
@@ -100,6 +102,8 @@ Summary:        A C language family front-end for LLVM
 Summary(ja):    LLVM の C 言語用フロントエンド
 License:        NCSA
 Group:          Development/Languages
+Requires:       gcc
+%(rpm -q --qf 'Requires: %{name} = %{version}' libstdc++-devel)
 
 %description -n clang
 clang: noun
@@ -203,23 +207,24 @@ mv clang-%{version}.src tools/clang
 
 # llvm patches
 %patch0 -p1 -b .timestamp
-%patch1 -p1 -b .fix11177
-%patch3 -p1 -b .fixLLVMgold
+
+# r600 llvm patch
+%patch600 -p1 -b .r600
+%patch601 -p1 -b .r601
 
 # clang patches
 pushd tools/clang
-%patch2 -p1 -b .fix9798
-%patch4 -p1 -b .ldgold
-%ifarch x86_64
-%patch5 -p1 -b .lib64
-%endif
+%patch610 -p1 -b .r610
+%patch611 -p1 -b .r611
+%patch612 -p1 -b .r612
 popd
 
-# Encoding fix
-#(cd tools/clang/docs && \
-#    iconv -f ISO88591 -t UTF8 BlockImplementation.txt \
-#    -o BlockImplementation.txt)
+%patch700 -p0 -b .ghc
 
+# fix ld search path
+sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' \
+    ./configure
+    
 
 %build
 # explicitly supply CC and CXX when running 'configure'
@@ -240,21 +245,20 @@ export CC=/usr/bin/gcc; export CXX=/usr/bin/g++
   --enable-jit \
   --enable-libffi \
   --enable-shared \
-  --with-binutils-include=%{_includedir} --enable-pic \
-#  --with-c-include-dirs=%{_includedir}:$(find %{_prefix}/lib/gcc/*/* \
-#      -maxdepth 0 -type d)/include \
-#%if %{__isa_bits} == 64
-#  --with-cxx-include-32bit-dir=32 \
-#%endif
-#  --with-cxx-include-root=$(find %{_includedir}/c++/* -maxdepth 0 -type d) \
-#  --with-cxx-include-arch=%{_target_cpu}-%{_vendor}-%{_os}
+  --with-binutils-include=%{_includedir} \
+  --enable-pic
   
 
 # FIXME file this
 # configure does not properly specify libdir
 sed -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}/%{name}|g' Makefile.config
 
-make %{_smp_mflags} REQUIRES_RTTI=1 \
+# FIXME upstream need to fix this
+# llvm-config.cpp hardcodes lib in it
+sed -i 's|ActiveLibDir = ActivePrefix + "/lib"|ActiveLibDir = ActivePrefix + "/%{_lib}/%{name}"|g' tools/llvm-config/llvm-config.cpp
+
+make %{_smp_mflags} \
+  REQUIRES_RTTI=1 \
   OPTIMIZE_OPTION="%{optflags}"
 
 
@@ -400,6 +404,7 @@ exit 0
 %defattr(-,root,root,-)
 %doc clang-docs/*
 %{_bindir}/clang*
+%{_bindir}/c-index-test
 %{_libdir}/%{name}/libclang.so
 %{_prefix}/lib/clang
 %doc %{_mandir}/man1/clang.1.*
@@ -427,6 +432,7 @@ exit 0
 %defattr(-,root,root,-)
 %{_libdir}/ocaml/*.cma
 %{_libdir}/ocaml/*.cmi
+%{_libdir}/ocaml/META.llvm
 
 %files ocaml-devel
 %defattr(-,root,root,-)
@@ -450,6 +456,9 @@ exit 0
 
 
 %changelog
+* Fri Nov 30 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-1
+- update to 3.1
+
 * Tue Jan 24 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 3.0-1
 - updated to 3.0 release