diff --git a/_constraints b/_constraints index d2dc35b..8467694 100644 --- a/_constraints +++ b/_constraints @@ -1,10 +1,8 @@ - - 2000 - + + 4000 + - kvm - SLOW_CPU diff --git a/aarch64-suse-support.patch b/aarch64-suse-support.patch index ad00825..7591a51 100644 --- a/aarch64-suse-support.patch +++ b/aarch64-suse-support.patch @@ -1,16 +1,15 @@ -Index: llvm-3.3/tools/clang/lib/Driver/ToolChains.cpp +Index: llvm/tools/clang/lib/Driver/ToolChains.cpp =================================================================== ---- llvm-3.3.orig/tools/clang/lib/Driver/ToolChains.cpp -+++ llvm-3.3/tools/clang/lib/Driver/ToolChains.cpp -@@ -1073,9 +1073,10 @@ Generic_GCC::GCCInstallationDetector::GC +--- llvm.orig/tools/clang/lib/Driver/ToolChains.cpp ++++ llvm/tools/clang/lib/Driver/ToolChains.cpp +@@ -1110,8 +1110,9 @@ void Generic_GCC::GCCInstallationDetecto // Declare a bunch of static data sets that we'll select between below. These // are specifically designed to always refer to string literals to avoid any // lifetime or initialization issues. - static const char *const AArch64LibDirs[] = { "/lib" }; + static const char *const AArch64LibDirs[] = { "/lib64", "/lib" }; - static const char *const AArch64Triples[] = { - "aarch64-none-linux-gnu", -+ "aarch64-suse-linux", - "aarch64-linux-gnu" - }; + static const char *const AArch64Triples[] = { "aarch64-none-linux-gnu", ++ "aarch64-suse-linux", + "aarch64-linux-gnu" }; + static const char *const ARMLibDirs[] = { "/lib" }; diff --git a/arm_suse_support.diff b/arm_suse_support.diff index 98b3c4a..cb50d4c 100644 --- a/arm_suse_support.diff +++ b/arm_suse_support.diff @@ -1,16 +1,18 @@ ---- /tools/clang/lib/Driver/ToolChains.cpp.orig 2012-11-22 10:26:49.202107824 +0100 -+++ /tools/clang/lib/Driver/ToolChains.cpp 2012-11-22 12:20:33.662825882 +0100 -@@ -1082,11 +1082,13 @@ Generic_GCC::GCCInstallationDetector::GC +Index: llvm/tools/clang/lib/Driver/ToolChains.cpp +=================================================================== +--- llvm.orig/tools/clang/lib/Driver/ToolChains.cpp ++++ llvm/tools/clang/lib/Driver/ToolChains.cpp +@@ -1071,9 +1071,11 @@ Generic_GCC::GCCInstallationDetector::GC + static const char *const ARMLibDirs[] = { "/lib" }; - static const char *const ARMTriples[] = { - "arm-linux-gnueabi", -+ "armv5tel-suse-linux-gnueabi", - "arm-linux-androideabi" - }; - static const char *const ARMHFTriples[] = { - "arm-linux-gnueabihf", -+ "armv7hl-suse-linux-gnueabi", - "armv7hl-redhat-linux-gnueabi" - }; + static const char *const ARMTriples[] = { "arm-linux-gnueabi", +- "arm-linux-androideabi" }; ++ "arm-linux-androideabi", ++ "armv5tel-suse-linux-gnueabi"}; + static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf", +- "armv7hl-redhat-linux-gnueabi" }; ++ "armv7hl-redhat-linux-gnueabi", ++ "armv7hl-suse-linux-gnueabi" }; static const char *const X86_64LibDirs[] = { "/lib64", "/lib" }; + static const char *const X86_64Triples[] = { diff --git a/asan-disable-hugemalloctest.patch b/asan-disable-hugemalloctest.patch new file mode 100644 index 0000000..5d1968d --- /dev/null +++ b/asan-disable-hugemalloctest.patch @@ -0,0 +1,17 @@ +Index: llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc +=================================================================== +--- llvm.orig/projects/compiler-rt/lib/asan/tests/asan_test.cc ++++ llvm/projects/compiler-rt/lib/asan/tests/asan_test.cc +@@ -298,12 +298,6 @@ TEST(AddressSanitizer, LargeMallocTest) + } + } + +-TEST(AddressSanitizer, HugeMallocTest) { +- if (SANITIZER_WORDSIZE != 64) return; +- size_t n_megs = 4100; +- TestLargeMalloc(n_megs << 20); +-} +- + #ifndef __APPLE__ + void MemalignRun(size_t align, size_t size, int idx) { + char *p = (char *)memalign(align, size); diff --git a/assume-opensuse.patch b/assume-opensuse.patch index c86a2ed..3a1b91e 100644 --- a/assume-opensuse.patch +++ b/assume-opensuse.patch @@ -1,11 +1,78 @@ ---- a/tools/clang/lib/Driver/ToolChains.cpp (revision 178453) -+++ b/tools/clang/lib/Driver/ToolChains.cpp (working copy) -@@ -1878,7 +1878,7 @@ +Index: llvm/tools/clang/lib/Driver/ToolChains.cpp +=================================================================== +--- llvm.orig/tools/clang/lib/Driver/ToolChains.cpp ++++ llvm/tools/clang/lib/Driver/ToolChains.cpp +@@ -2185,73 +2185,7 @@ static bool IsUbuntu(enum Distro Distro) } - static bool IsOpenSuse(enum Distro Distro) { -- return Distro >= OpenSuse11_3 && Distro <= OpenSuse12_2; -+ return true; + static Distro DetectDistro(llvm::Triple::ArchType Arch) { +- OwningPtr File; +- if (!llvm::MemoryBuffer::getFile("/etc/lsb-release", File)) { +- StringRef Data = File.get()->getBuffer(); +- SmallVector Lines; +- Data.split(Lines, "\n"); +- Distro Version = UnknownDistro; +- for (unsigned i = 0, s = Lines.size(); i != s; ++i) +- if (Version == UnknownDistro && Lines[i].startswith("DISTRIB_CODENAME=")) +- Version = llvm::StringSwitch(Lines[i].substr(17)) +- .Case("hardy", UbuntuHardy) +- .Case("intrepid", UbuntuIntrepid) +- .Case("jaunty", UbuntuJaunty) +- .Case("karmic", UbuntuKarmic) +- .Case("lucid", UbuntuLucid) +- .Case("maverick", UbuntuMaverick) +- .Case("natty", UbuntuNatty) +- .Case("oneiric", UbuntuOneiric) +- .Case("precise", UbuntuPrecise) +- .Case("quantal", UbuntuQuantal) +- .Case("raring", UbuntuRaring) +- .Case("saucy", UbuntuSaucy) +- .Case("trusty", UbuntuTrusty) +- .Default(UnknownDistro); +- return Version; +- } +- +- if (!llvm::MemoryBuffer::getFile("/etc/redhat-release", File)) { +- StringRef Data = File.get()->getBuffer(); +- if (Data.startswith("Fedora release")) +- return Fedora; +- else if (Data.startswith("Red Hat Enterprise Linux") && +- Data.find("release 6") != StringRef::npos) +- return RHEL6; +- else if ((Data.startswith("Red Hat Enterprise Linux") || +- Data.startswith("CentOS")) && +- Data.find("release 5") != StringRef::npos) +- return RHEL5; +- else if ((Data.startswith("Red Hat Enterprise Linux") || +- Data.startswith("CentOS")) && +- Data.find("release 4") != StringRef::npos) +- return RHEL4; +- return UnknownDistro; +- } +- +- if (!llvm::MemoryBuffer::getFile("/etc/debian_version", File)) { +- StringRef Data = File.get()->getBuffer(); +- if (Data[0] == '5') +- return DebianLenny; +- else if (Data.startswith("squeeze/sid") || Data[0] == '6') +- return DebianSqueeze; +- else if (Data.startswith("wheezy/sid") || Data[0] == '7') +- return DebianWheezy; +- else if (Data.startswith("jessie/sid") || Data[0] == '8') +- return DebianJessie; +- return UnknownDistro; +- } +- +- if (llvm::sys::fs::exists("/etc/SuSE-release")) + return OpenSUSE; +- +- if (llvm::sys::fs::exists("/etc/exherbo-release")) +- return Exherbo; +- +- if (llvm::sys::fs::exists("/etc/arch-release")) +- return ArchLinux; +- +- return UnknownDistro; } - static bool IsDebian(enum Distro Distro) { + /// \brief Get our best guess at the multiarch triple for a target. diff --git a/baselibs.conf b/baselibs.conf index 3df1296..f5bcf56 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1 +1,3 @@ libLLVM +libclang + diff --git a/default-to-i586.patch b/default-to-i586.patch index 3bbe80b..c80fcdc 100644 --- a/default-to-i586.patch +++ b/default-to-i586.patch @@ -1,20 +1,24 @@ -Index: llvm-3.3/tools/clang/lib/Driver/Tools.cpp +Index: llvm/tools/clang/lib/Driver/Tools.cpp =================================================================== ---- llvm-3.3.orig/tools/clang/lib/Driver/Tools.cpp -+++ llvm-3.3/tools/clang/lib/Driver/Tools.cpp -@@ -1243,12 +1243,12 @@ static const char *getX86TargetCPU(const - if (Triple.getOSName().startswith("netbsd")) - return "i486"; +--- llvm.orig/tools/clang/lib/Driver/Tools.cpp ++++ llvm/tools/clang/lib/Driver/Tools.cpp +@@ -1304,7 +1304,7 @@ static const char *getX86TargetCPU(const + } + // All x86 devices running Android have core2 as their common - // denominator. This makes a better choice than pentium4. + // denominator. This makes a better choice than i586. if (Triple.getEnvironment() == llvm::Triple::Android) return "core2"; -- // Fallback to p4. -- return "pentium4"; -+ // Fallback to i586. -+ return "i586"; +@@ -1322,8 +1322,8 @@ static const char *getX86TargetCPU(const + case llvm::Triple::Bitrig: + return "i686"; + default: +- // Fallback to p4. +- return "pentium4"; ++ // Fallback to i586. ++ return "i586"; + } } - void Clang::AddX86TargetArgs(const ArgList &Args, diff --git a/llvm-3.3.tar.bz2 b/llvm-3.3.tar.bz2 deleted file mode 100644 index fa9224a..0000000 --- a/llvm-3.3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:489179223491c39fc0274cab6540338bb0a6c18e581396d8b75341586181ade2 -size 24912910 diff --git a/llvm-3.4.tar.bz2 b/llvm-3.4.tar.bz2 new file mode 100644 index 0000000..d5f0d9e --- /dev/null +++ b/llvm-3.4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29c1121d34d0309b9c2e5a39b7c79a1e83ac11c3b54acd6654d1ebf81ba1c08e +size 27905661 diff --git a/llvm-disable-pretty-stack-trace.patch b/llvm-disable-pretty-stack-trace.patch deleted file mode 100644 index 19f95d3..0000000 --- a/llvm-disable-pretty-stack-trace.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: llvm-3.3/lib/Support/PrettyStackTrace.cpp -=================================================================== ---- llvm-3.3.orig/lib/Support/PrettyStackTrace.cpp -+++ llvm-3.3/lib/Support/PrettyStackTrace.cpp -@@ -27,7 +27,7 @@ - using namespace llvm; - - namespace llvm { -- bool DisablePrettyStackTrace = false; -+ bool DisablePrettyStackTrace = true; - } - - // FIXME: This should be thread local when llvm supports threads. -Index: llvm-3.3/tools/clang/tools/driver/driver.cpp -=================================================================== ---- llvm-3.3.orig/tools/clang/tools/driver/driver.cpp -+++ llvm-3.3/tools/clang/tools/driver/driver.cpp -@@ -341,6 +341,7 @@ static void ParseProgName(SmallVectorImp - } - - int main(int argc_, const char **argv_) { -+ llvm::DisablePrettyStackTrace = false; - llvm::sys::PrintStackTraceOnErrorSignal(); - llvm::PrettyStackTraceProgram X(argc_, argv_); - diff --git a/llvm-no-visibility.patch b/llvm-no-visibility.patch deleted file mode 100644 index 1f3ae01..0000000 --- a/llvm-no-visibility.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: llvm-3.3/cmake/modules/HandleLLVMOptions.cmake -=================================================================== ---- llvm-3.3.orig/cmake/modules/HandleLLVMOptions.cmake -+++ llvm-3.3/cmake/modules/HandleLLVMOptions.cmake -@@ -104,13 +104,6 @@ if( LLVM_ENABLE_PIC ) - # On Windows all code is PIC. MinGW warns if -fPIC is used. - else() - add_flag_or_print_warning("-fPIC") -- -- if( WIN32 OR CYGWIN) -- # MinGW warns if -fvisibility-inlines-hidden is used. -- else() -- check_cxx_compiler_flag("-fvisibility-inlines-hidden" SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG) -- append_if(SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG "-fvisibility-inlines-hidden" CMAKE_CXX_FLAGS) -- endif() - endif() - endif() - diff --git a/llvm.changes b/llvm.changes index 303d941..39bd542 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,112 @@ +------------------------------------------------------------------- +Fri Jan 24 13:15:48 UTC 2014 - idonmez@suse.com + +- Remove non-existing doc subpackage + +------------------------------------------------------------------- +Fri Jan 24 09:23:08 UTC 2014 - idonmez@suse.com + +- Add a dependency on ncurses-devel since libLLVM now links to + tinfo. + +------------------------------------------------------------------- +Tue Jan 14 13:57:57 UTC 2014 - idonmez@suse.com + +- Add 32bit libclang bnc#857131 + +------------------------------------------------------------------- +Tue Jan 7 08:47:50 UTC 2014 - idonmez@suse.com + +- Update to final llvm 3.4 release + * See http://llvm.org/releases/3.4/docs/ReleaseNotes.html for + complete changelog. + +------------------------------------------------------------------- +Tue Dec 24 13:47:24 UTC 2013 - idonmez@suse.com + +- Update to final release candidate (r197980) + +------------------------------------------------------------------- +Sat Dec 21 18:20:20 UTC 2013 - idonmez@suse.com + +- Update to r197866 from release_34 branch + +------------------------------------------------------------------- +Tue Dec 17 11:31:23 UTC 2013 - idonmez@suse.com + +- Update to r197490 from release_34 branch + +------------------------------------------------------------------- +Thu Dec 12 10:43:42 UTC 2013 - idonmez@suse.com + +- Update to r197142 from release_34 branch +- Disable assertions again now that PPC64 backend is fixed + +------------------------------------------------------------------- +Tue Dec 10 09:48:59 UTC 2013 - idonmez@suse.com + +- Update to r196899 from release_34 branch +- Remove compiler_rt-r196612.patch, merged upstream + +------------------------------------------------------------------- +Mon Dec 9 11:42:44 UTC 2013 - idonmez@suse.com + +- Add compiler_rt-r196612.patch to fix ubsan failures on i586 + +------------------------------------------------------------------- +Mon Dec 9 08:54:48 UTC 2013 - idonmez@suse.com + +- Update to r196762 from release_34 branch + +------------------------------------------------------------------- +Thu Dec 5 13:10:13 UTC 2013 - idonmez@suse.com + +- Update to r196503 from release_34 branch to get compiler_rt fixes + +------------------------------------------------------------------- +Thu Dec 5 08:31:52 UTC 2013 - idonmez@suse.com + +- Update to r196487 from release_34 branch to get compiler_rt fixes + +------------------------------------------------------------------- +Wed Dec 4 13:33:55 UTC 2013 - idonmez@suse.com + +- Ship cmake files for llvm (needed for lldb and such) + +------------------------------------------------------------------- +Wed Dec 4 10:07:59 UTC 2013 - idonmez@suse.com + +- Update to r196371 from release_34 branch + +------------------------------------------------------------------- +Wed Dec 4 03:27:29 UTC 2013 - termim@gmail.com + +- install python binding to libclang + +------------------------------------------------------------------- +Mon Dec 1 08:42:08 UTC 2013 - idonmez@suse.com + +- Update to r196358 from llvm 3.4 branch +- Add asan-disable-hugemalloctest.patch to disable + ASAN HugeMallocTest, it requires 4.1+ GB of RAM. +- Refresh patches + * aarch64-suse-support.patch + * arm_suse_support.diff + * assume-opensuse.patch + * default-to-i586.patch +- Drop upstream patches + * llvm-disable-pretty-stack-trace.patch + * r189852.diff + * unreachable-code.patch + * llvm-no-visibility.patch + +------------------------------------------------------------------- +Tue Oct 22 20:57:00 UTC 2013 - dmueller@suse.com + +- add r189852.diff: Remove vtables optimisation that breaks ARM + and PowerPC +- Disable testsuite on ARMv7, takes forever to run + ------------------------------------------------------------------- Thu Oct 17 10:23:32 UTC 2013 - schwab@suse.de diff --git a/llvm.spec b/llvm.spec index 68261e2..b9a6a2a 100644 --- a/llvm.spec +++ b/llvm.spec @@ -1,7 +1,7 @@ # # spec file for package llvm # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,31 +16,17 @@ # -%define _revision 183898 -%define _release_version 3.3 -%define _supported_archs "AArch64;ARM;PowerPC;X86" -%define _experimental_archs "R600" - -%ifarch %arm -%define _supported_archs "ARM" -%endif - -%ifarch ppc64 -%define _supported_archs "PowerPC" -%endif - -%ifarch s390x -%define _supported_archs "SystemZ" -%endif +%define _revision 198681 +%define _release_version 3.4 Name: llvm -Version: 3.3 +Version: 3.4 Release: 0 Summary: Low Level Virtual Machine License: NCSA Group: Development/Languages/Other Url: http://www.llvm.org -Source0: %{name}-%{_release_version}.tar.bz2 +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 @@ -53,22 +39,16 @@ Patch4: default-to-i586.patch Patch5: llvm-config-lib64.patch # PATCH-FIX-OPENSUSE arm_suse_support.diff --Enable ARM suse toolchain support Patch6: arm_suse_support.diff -# PATCH-FIX-OPENSUSE unreachable-code.patch -- Unreachable code warning triggered on SLE -Patch7: unreachable-code.patch -Patch8: cmake-host-triple.patch +Patch7: cmake-host-triple.patch # PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support -Patch9: aarch64-suse-support.patch -# PATCH-FIX-OPENSUSE llvm-no-visibility.patch -- Disable visibility -Patch10: llvm-no-visibility.patch -# PATCH-FIX-OPENSUSE llvm-disable-pretty-stack-trace.patch -- https://bugs.freedesktop.org/show_bug.cgi?id=60929 -Patch11: llvm-disable-pretty-stack-trace.patch -Patch12: arm-remove-xfails.diff +Patch8: aarch64-suse-support.patch +Patch9: arm-remove-xfails.diff +# PATCH-FIX-OPENSUSE asan-disable-hugemalloctest.patch -- Disable ASAN HugeMallocTest +Patch10: asan-disable-hugemalloctest.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake - BuildRequires: cmake - %if 0%{?suse_version} >= 1220 BuildRequires: binutils-devel >= 2.21.90 %endif @@ -80,6 +60,7 @@ BuildRequires: gcc-c++ BuildRequires: groff BuildRequires: libffi-devel BuildRequires: libtool +BuildRequires: ncurses-devel BuildRequires: python-base Requires: libLLVM = %{version}-%{release} # llvm does not work on ppc, only ppc64 @@ -106,21 +87,12 @@ Group: Development/Languages/Other Requires: %{name} = %{version} Requires: libffi-devel Requires: libstdc++-devel >= 3.4 -Obsoletes: llvm-doc < %{version} -Provides: llvm-doc = %{version} +Requires: ncurses-devel %description devel This package contains library and header files needed to develop new native programs that use the LLVM infrastructure. -%package doc -Summary: Documentation for LLVM -Group: Documentation/HTML -Requires: %{name} = %{version} - -%description doc -Documentation for the LLVM compiler infrastructure. - %package clang Summary: CLANG frontend for LLVM Group: Development/Languages/Other @@ -158,8 +130,17 @@ Requires: vim %description vim-plugins This package contains vim plugins for LLVM like syntax highlighting. +%package -n python-clang +Summary: Python bindings for libclang +Group: Development/Languages/Python +Requires: libclang = %{version} +Requires: python + +%description -n python-clang +This package contains the Python bindings to clang (C language) frontend for LLVM. + %prep -%setup -q -n %{name}-%{_release_version} +%setup -q -n %{name} %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -170,18 +151,14 @@ This package contains vim plugins for LLVM like syntax highlighting. %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 -%ifarch s390 s390x +%patch9 %patch10 -p1 -%endif -%patch11 -p1 -%patch12 # We hardcode i586 rm tools/clang/test/Driver/x86_features.c -# lib64 related problems on 64bit %if "%{_lib}" == "lib64" +# lib64 related problems on 64bit rm tools/clang/test/Driver/linux-ld.c %endif @@ -190,13 +167,14 @@ sed -i s,LLVM_REVISION,\"%{_revision}\",g tools/clang/lib/Basic/Version.cpp %if "%{_lib}" == "lib64" # Nasty hardcoded path -sed -i s,/lib/,/%{_lib}/,g tools/clang/lib/Driver/Tools.cpp \ - tools/clang/test/Preprocessor/iwithprefix.c +sed -i s,"/lib/","/lib64/",g tools/clang/lib/Driver/Tools.cpp \ + tools/clang/test/Driver/dyld-prefix.c +sed -i s,"}lib{","}lib64{",g tools/clang/test/Preprocessor/iwithprefix.c %endif # Only enable target archs otherwise llvm-config is messed up -%ifnarch %arm ppc64 s390x -sed -i s,"subdirectories = .*","subdirectories = AArch64 ARM PowerPC R600 X86", lib/Target/LLVMBuild.txt +%ifarch %{ix86} x86_64 +sed -i s,"subdirectories = .*","subdirectories = R600 X86", lib/Target/LLVMBuild.txt %endif %ifarch %arm @@ -243,13 +221,14 @@ rm -rf ../projects/compiler-rt %ifarch s390x %define host_triple s390x-suse-linux sed -i s,'${CMAKE_SYSTEM_PROCESSOR}','"SystemZ"',g ../cmake/modules/AddLLVM.cmake +rm -rf ../projects/compiler-rt %endif cmake -G "Unix Makefiles" \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=OFF \ - -DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \ + -DLLVM_TARGETS_TO_BUILD=host \ -DCMAKE_C_FLAGS="-O0" \ -DCMAKE_CXX_FLAGS="-O0" \ -DLLVM_HOST_TRIPLE=%{host_triple} \ @@ -293,17 +272,18 @@ cmake -G "Unix Makefiles" \ %if 0%{?suse_version} >= 1220 -DLLVM_BINUTILS_INCDIR=/usr/include \ %endif - -DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \ -%ifnarch %arm ppc64 s390x - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{_experimental_archs} \ +%ifarch %{ix86} x86_64 + -DLLVM_TARGETS_TO_BUILD="host;R600" \ +%else + -DLLVM_TARGETS_TO_BUILD=host \ %endif - -DLLVM_BUILD_TESTS=OFF \ .. make %{?_smp_mflags} VERBOSE=1 %check cd stage2 +%ifnarch armv7hl armv7l %if 0%{!?qemu_user_space_build:1} # we just do not have enough memory with qemu emulation @@ -311,20 +291,10 @@ cd stage2 ln -s lib lib64 %endif -# Due to http://llvm.org/bugs/show_bug.cgi?id=15242 -for i in crash-narrowfunctiontest metadata remove_arguments_test; do - rm ../test/BugPoint/$i.ll; -done - -%ifarch s390 s390x -for i in TestClassDecl.m TestClassForwardDecl.m c-index-getCursor-test.m; do - rm ../tools/clang/test/Index/$i; -done -%endif - make check make clang-test %endif +%endif %install cd stage2 @@ -369,6 +339,16 @@ for file in scan-view/Resources/*; do install -m 644 $file %{buildroot}%{py_sitedir}/Resources/ done popd + +# install python bindings +install -d %{buildroot}%{py_sitedir}/clang +pushd tools/clang/bindings/python +cp clang/*.py %{buildroot}%{py_sitedir}/clang +install -d %{buildroot}%{_docdir}/python-clang/examples/cindex +cp -r examples %{buildroot}%{_docdir}/python-clang +install -d %{buildroot}%{_docdir}/python-clang/tests/cindex/INPUTS +cp -r tests %{buildroot}%{_docdir}/python-clang +popd pushd %{buildroot}%{_bindir} ln -s ccc-analyzer c++-analyzer popd @@ -406,9 +386,6 @@ rm %{buildroot}%{_libdir}/LLVMHello.* rm %{buildroot}%{_libdir}/libgtest* rm %{buildroot}%{_mandir}/man1/lit.1 -# Remove cmake files -rm -rf %{buildroot}/usr/share/llvm/cmake - %fdupes -s %{buildroot}%{_docdir}/%{name} %fdupes -s %{buildroot}%{_docdir}/%{name}-doc @@ -426,6 +403,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_bindir}/bugpoint %{_bindir}/llc %{_bindir}/lli +%{_bindir}/lli-child-target %{_bindir}/macho-dump %exclude %{_bindir}/%{name}-config %{_bindir}/%{name}* @@ -451,6 +429,7 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_bindir}/clang-format %{_bindir}/ccc-analyzer %{_bindir}/c++-analyzer +%{_bindir}/git-clang-format %{_bindir}/scan-build %{_bindir}/scan-view %{py_sitedir}/ScanView.py @@ -460,7 +439,6 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %{_datadir}/clang %{_mandir}/man1/clang.1%{ext_man} %{_libdir}/libLTO.* -%{_libdir}/libprofile_rt.* %if 0%{?suse_version} >= 1220 %{_libdir}/LLVMgold.so %{_libdir}/bfd-plugins/ @@ -492,6 +470,8 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %doc %{_mandir}/man1/%{name}-config.1%{ext_man} %{_includedir}/%{name}/ %{_includedir}/%{name}-c/ +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/cmake/ %doc %{_docdir}/%{name} %files vim-plugins @@ -499,4 +479,13 @@ rm -rf %{buildroot}/usr/share/llvm/cmake %doc utils/vim/README.vim %{_datadir}/vim/ +%files -n python-clang +%defattr(-,root,root) +%{py_sitedir}/clang +%{py_sitedir}/clang/__init__.py +%{py_sitedir}/clang/cindex.py +%{py_sitedir}/clang/enumerations.py + +%doc %{_docdir}/python-clang + %changelog diff --git a/unreachable-code.patch b/unreachable-code.patch deleted file mode 100644 index 04dd8d9..0000000 --- a/unreachable-code.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: llvm/utils/TableGen/CodeGenInstruction.cpp -=================================================================== ---- llvm.orig/utils/TableGen/CodeGenInstruction.cpp -+++ llvm/utils/TableGen/CodeGenInstruction.cpp -@@ -191,7 +191,7 @@ CGIOperandList::ParseOperandName(const s - return std::make_pair(OpIdx, i); - - // Otherwise, didn't find it! -- PrintFatalError(TheDef->getName() + ": unknown suboperand name in '" + Op + "'"); -+ llvm_unreachable(TheDef->getName() + ": unknown suboperand name in '" + Op + "'"); - } - - static void ParseConstraint(const std::string &CStr, CGIOperandList &Ops) {