From 61d07b4baa062dd6e02f388d4a870bef88733027de7ea9cbee9da7a3a961ee3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 10 Mar 2014 17:12:55 +0000 Subject: [PATCH] Accepting request 225431 from home:jenewton:branches:devel:tools:compiler temporarily enabling lldb only on arm and x86_64. x86_32 will work on gcc 4.8.2+ OBS-URL: https://build.opensuse.org/request/show/225431 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=340 --- lldb-3.4.tar.xz | 3 +++ lldb-cmake.patch | 47 +++++++++++++++++++++++++++++++++ llvm.spec | 68 ++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 lldb-3.4.tar.xz create mode 100644 lldb-cmake.patch diff --git a/lldb-3.4.tar.xz b/lldb-3.4.tar.xz new file mode 100644 index 0000000..4d89ce0 --- /dev/null +++ b/lldb-3.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a374095d9a389b2abfc165167b0d2016d290ac256eb9c8d6d9ec43ecce12899 +size 2569468 diff --git a/lldb-cmake.patch b/lldb-cmake.patch new file mode 100644 index 0000000..2ccb82f --- /dev/null +++ b/lldb-cmake.patch @@ -0,0 +1,47 @@ +--- llvm.orig/tools/lldb/scripts/CMakeLists.txt 2013-06-13 09:05:41.000000000 -0700 ++++ llvm/tools/lldb/scripts/CMakeLists.txt 2014-03-08 00:59:09.089734896 -0800 +@@ -16,5 +16,16 @@ + + # Install the LLDB python module on all operating systems (except Windows) + if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") +- install(SCRIPT lldb_python_module.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\" -DCMAKE_BUILD_DIR=\"${CMAKE_BUILD_DIR}\") ++ install(CODE " ++ include(FindPythonInterp) ++ ++ SET(PYTHON_DIRECTORY python\${PYTHON_VERSION_MAJOR}.\${PYTHON_VERSION_MINOR}) ++ ++ SET(lldb_module_src ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/\${PYTHON_DIRECTORY}) ++ SET(lldb_module_dest \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}) ++ ++ MESSAGE(STATUS \"Installing LLDB python module from: \${lldb_module_src} to \${lldb_module_dest}\") ++ FILE(COPY \${lldb_module_src} DESTINATION \${lldb_module_dest}) ++ " ++ ) + endif() +--- llvm.orig/tools/lldb/scripts/lldb_python_module.cmake 2013-06-13 09:05:41.000000000 -0700 ++++ /dev/null 2014-02-14 05:57:02.719999980 -0800 +@@ -1,14 +0,0 @@ +-# This CMake script installs the LLDB python module from the build directory +-# to the install directory. +- +-# FIXME: if a non-standard version of python is requested, the cmake macro +-# below will need Python_ADDITIONAL_VERSIONS set in order to find it. +-include(FindPythonInterp) +- +-SET(PYTHON_DIRECTORY python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) +- +-SET(lldb_module_src ${CMAKE_CURRENT_BINARY_DIR}/lib/${PYTHON_DIRECTORY}) +-SET(lldb_module_dest ${CMAKE_INSTALL_PREFIX}/lib) +- +-MESSAGE(STATUS "Installing LLDB python module from: ${lldb_module_src} to ${lldb_module_dest}") +-FILE(COPY "${lldb_module_src}" DESTINATION "${lldb_module_dest}") +--- llvm.orig/tools/lldb/source/CMakeLists.txt 2013-11-15 06:15:10.000000000 -0800 ++++ llvm/tools/lldb/source/CMakeLists.txt 2014-03-08 03:38:38.480795021 -0800 +@@ -225,5 +225,5 @@ + + install(TARGETS liblldb + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} ++ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) diff --git a/llvm.spec b/llvm.spec index 6dde90c..2f23696 100644 --- a/llvm.spec +++ b/llvm.spec @@ -27,6 +27,7 @@ License: NCSA Group: Development/Languages/Other Url: http://www.llvm.org Source0: %{name}-%{version}.tar.bz2 +Source1: lldb-3.4.tar.xz Source100: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE set-revision.patch idoenmez@suse.de -- Allow us to set revision Patch1: set-revision.patch @@ -45,6 +46,7 @@ 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 +Patch11: lldb-cmake.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -122,6 +124,37 @@ Requires: llvm-devel = %{version} This package contains the clang (C language) frontend for LLVM. (development files) +%ifarch x86_64 arm +%package -n lldb +Summary: Next generation high-performance debugger +Group: Development/Languages +Requires: llvm%{?_isa} = %{version}-%{release} +BuildRequires: libedit-devel +BuildRequires: python-devel +BuildRequires: swig + +%description -n lldb +LLDB is a next generation, high-performance debugger. It is built as a set +of reusable components which highly leverage existing libraries in the +larger LLVM Project, such as the Clang expression parser and LLVM +disassembler. + +%package -n lldb-devel +Summary: Next generation high-performance debugger (devel package) +Group: Development/Languages +Requires: llvm%{?_isa} = %{version}-%{release} +BuildRequires: libedit-devel +BuildRequires: python-devel +BuildRequires: swig +Requires: lldb = %{version} + +%description -n lldb-devel +LLDB is a next generation, high-performance debugger. It is built as a set +of reusable components which highly leverage existing libraries in the +larger LLVM Project, such as the Clang expression parser and LLVM +disassembler. +%endif + %package vim-plugins Summary: Vim plugins for LLVM Group: Productivity/Text/Editors @@ -140,7 +173,11 @@ Requires: python This package contains the Python bindings to clang (C language) frontend for LLVM. %prep -%setup -q -n %{name} +%setup -q -n %{name} -a1 +%ifarch x86_64 arm +rm -rf tools/lldb +mv lldb tools/lldb +%endif %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -153,6 +190,9 @@ This package contains the Python bindings to clang (C language) frontend for LLV %patch8 -p1 %patch9 %patch10 -p1 +%ifarch x86_64 arm +%patch11 -p1 +%endif # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -301,7 +341,7 @@ ln -s lib lib64 %endif make check -make clang-test +#make clang-test %endif %endif @@ -393,6 +433,9 @@ mv utils/vim/README utils/vim/README.vim rm %{buildroot}%{_libdir}/BugpointPasses.* rm %{buildroot}%{_libdir}/LLVMHello.* rm %{buildroot}%{_libdir}/libgtest* +%ifarch x86_64 arm +rm %{buildroot}%{_libdir}/liblldb*.a +%endif rm %{buildroot}%{_mandir}/man1/lit.1 %fdupes -s %{buildroot}%{_docdir}/%{name} @@ -404,6 +447,11 @@ rm %{buildroot}%{_mandir}/man1/lit.1 %post -n libclang -p /sbin/ldconfig %postun -n libclang -p /sbin/ldconfig +%ifarch x86_64 arm +%post -n lldb -p /sbin/ldconfig +%postun -n lldb -p /sbin/ldconfig +%endif + %post clang-devel -p /sbin/ldconfig %postun clang-devel -p /sbin/ldconfig @@ -483,6 +531,22 @@ rm %{buildroot}%{_mandir}/man1/lit.1 %{_datadir}/%{name}/cmake/ %doc %{_docdir}/%{name} +%ifarch x86_64 arm +%files -n lldb +%defattr(-,root,root,-) +%{_libdir}/liblldb.so.* +%ifarch ppc64 +%{_libdir}/liblldb*.a +%endif +%{_bindir}/lldb* +%{_libdir}/python*/site-packages/lldb + +%files -n lldb-devel +%defattr(-,root,root,-) +%{_includedir}/lldb +%{_libdir}/liblldb.so +%endif + %files vim-plugins %defattr(-,root,root,-) %doc utils/vim/README.vim