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 1/7] 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 From 0942250035f56d8a81c6aff0bff93c9c190769eefcfc373a5d1753cb7065b62d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 11 Mar 2014 07:08:52 +0000 Subject: [PATCH 2/7] Use upstream tarball OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=341 --- lldb-3.4.tar.bz2 | 3 +++ lldb-3.4.tar.xz | 3 --- llvm.spec | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) create mode 100644 lldb-3.4.tar.bz2 delete mode 100644 lldb-3.4.tar.xz diff --git a/lldb-3.4.tar.bz2 b/lldb-3.4.tar.bz2 new file mode 100644 index 0000000..db4f735 --- /dev/null +++ b/lldb-3.4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72394435cba48dd03693f3e9d80f7859dda63e138c6d0fb3fc8e03e9a0b53a98 +size 10619204 diff --git a/lldb-3.4.tar.xz b/lldb-3.4.tar.xz deleted file mode 100644 index 4d89ce0..0000000 --- a/lldb-3.4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a374095d9a389b2abfc165167b0d2016d290ac256eb9c8d6d9ec43ecce12899 -size 2569468 diff --git a/llvm.spec b/llvm.spec index 2f23696..d3783fb 100644 --- a/llvm.spec +++ b/llvm.spec @@ -27,7 +27,7 @@ License: NCSA Group: Development/Languages/Other Url: http://www.llvm.org Source0: %{name}-%{version}.tar.bz2 -Source1: lldb-3.4.tar.xz +Source1: lldb-%{version}.tar.bz2 Source100: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE set-revision.patch idoenmez@suse.de -- Allow us to set revision Patch1: set-revision.patch @@ -175,8 +175,7 @@ This package contains the Python bindings to clang (C language) frontend for LLV %prep %setup -q -n %{name} -a1 %ifarch x86_64 arm -rm -rf tools/lldb -mv lldb tools/lldb +mv lldb-%{version} tools/lldb %endif %patch1 -p1 %patch2 -p1 From 73c2d743439f066ee1560b066f45a5336f74942e2ecd71ad84b098e6d1ab7dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 11 Mar 2014 09:41:03 +0000 Subject: [PATCH 3/7] - Enable lldb on x86-64 and ARM, work done by Jason Newton. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=342 --- llvm.changes | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/llvm.changes b/llvm.changes index 3de7370..eb95544 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Mar 11 09:39:47 UTC 2014 - idonmez@suse.com + +- Enable lldb on x86-64 and ARM, work done by Jason Newton. + ------------------------------------------------------------------- Sat Feb 22 18:18:57 CET 2014 - ro@suse.de From bf927b43c8e5747d6b001c0887f217ae50467becbf36053c32f972294804e5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 17 Mar 2014 09:09:50 +0000 Subject: [PATCH 4/7] - First release on build.opensuse.org OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=343 --- lldb-cmake.patch | 47 ----------------------- lldb.changes | 5 +++ lldb.spec | 98 ++++++++++++++++++++++++++++++++++++++++++++++++ llvm.changes | 5 --- llvm.spec | 67 +-------------------------------- 5 files changed, 105 insertions(+), 117 deletions(-) delete mode 100644 lldb-cmake.patch create mode 100644 lldb.changes create mode 100644 lldb.spec diff --git a/lldb-cmake.patch b/lldb-cmake.patch deleted file mode 100644 index 2ccb82f..0000000 --- a/lldb-cmake.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- 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/lldb.changes b/lldb.changes new file mode 100644 index 0000000..6bb1324 --- /dev/null +++ b/lldb.changes @@ -0,0 +1,5 @@ +------------------------------------------------------------------- +Mon Mar 17 09:02:51 UTC 2014 - idonmez@suse.com + +- First release on build.opensuse.org + diff --git a/lldb.spec b/lldb.spec new file mode 100644 index 0000000..78b7f91 --- /dev/null +++ b/lldb.spec @@ -0,0 +1,98 @@ +# +# spec file for package lldb +# +# 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 +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: lldb +Version: 3.4 +Release: 0 +Summary: The LLDB Debugger +License: LLVM +Group: Development/Languages +Url: http://lldb.llvm.org/ +Source: lldb-%{version}.tar.bz2 +BuildRequires: cmake +BuildRequires: libedit-devel +BuildRequires: llvm-clang-devel +BuildRequires: llvm-devel +BuildRequires: swig +BuildRoot: %{_tmppath}/%{name}-%{version}-build +ExclusiveArch: arm x86_64 + +%description +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 +Summary: Next generation high-performance debugger +Group: Development/Languages +BuildRequires: libedit-devel +BuildRequires: python-devel +BuildRequires: swig + +%description +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 devel +Summary: Next generation high-performance debugger (devel package) +Group: Development/Languages +BuildRequires: libedit-devel +BuildRequires: python-devel +BuildRequires: swig +Requires: lldb = %{version} + +%description 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. + +%prep +%setup -q + +%build +mkdir build +popd build +CC=clang CXX=clang++ \ +cmake -DLLDB_PATH_TO_LLVM_BUILD=%{_prefix} \ + -DLLDB_PATH_TO_CLANG_BUILD=%{_prefix} .. + +%install +popd build +%makeinstall + +rm %{buildroot}%{_libdir}/liblldb*.a + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%{_libdir}/liblldb.so.* +%{_bindir}/lldb* +%{_libdir}/python*/site-packages/lldb + +%files devel +%defattr(-,root,root,-) +%{_includedir}/lldb +%{_libdir}/liblldb.so + +%changelog diff --git a/llvm.changes b/llvm.changes index eb95544..3de7370 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,8 +1,3 @@ -------------------------------------------------------------------- -Tue Mar 11 09:39:47 UTC 2014 - idonmez@suse.com - -- Enable lldb on x86-64 and ARM, work done by Jason Newton. - ------------------------------------------------------------------- Sat Feb 22 18:18:57 CET 2014 - ro@suse.de diff --git a/llvm.spec b/llvm.spec index d3783fb..6dde90c 100644 --- a/llvm.spec +++ b/llvm.spec @@ -27,7 +27,6 @@ License: NCSA Group: Development/Languages/Other Url: http://www.llvm.org Source0: %{name}-%{version}.tar.bz2 -Source1: lldb-%{version}.tar.bz2 Source100: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE set-revision.patch idoenmez@suse.de -- Allow us to set revision Patch1: set-revision.patch @@ -46,7 +45,6 @@ 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 @@ -124,37 +122,6 @@ 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 @@ -173,10 +140,7 @@ Requires: python This package contains the Python bindings to clang (C language) frontend for LLVM. %prep -%setup -q -n %{name} -a1 -%ifarch x86_64 arm -mv lldb-%{version} tools/lldb -%endif +%setup -q -n %{name} %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -189,9 +153,6 @@ mv lldb-%{version} tools/lldb %patch8 -p1 %patch9 %patch10 -p1 -%ifarch x86_64 arm -%patch11 -p1 -%endif # We hardcode i586 rm tools/clang/test/Driver/x86_features.c @@ -340,7 +301,7 @@ ln -s lib lib64 %endif make check -#make clang-test +make clang-test %endif %endif @@ -432,9 +393,6 @@ 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} @@ -446,11 +404,6 @@ 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 @@ -530,22 +483,6 @@ 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 From 1eb9a793c67ac95f8c3657341c27e4ead5b3f773766a443fa35360ea2389e352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 17 Mar 2014 09:18:48 +0000 Subject: [PATCH 5/7] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=344 --- lldb.spec | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lldb.spec b/lldb.spec index 78b7f91..4b16a41 100644 --- a/lldb.spec +++ b/lldb.spec @@ -20,7 +20,7 @@ Name: lldb Version: 3.4 Release: 0 Summary: The LLDB Debugger -License: LLVM +License: NCSA Group: Development/Languages Url: http://lldb.llvm.org/ Source: lldb-%{version}.tar.bz2 @@ -33,10 +33,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: arm x86_64 %description -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. +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 Summary: Next generation high-performance debugger @@ -70,18 +70,19 @@ disassembler. %build mkdir build -popd build +pushd build CC=clang CXX=clang++ \ -cmake -DLLDB_PATH_TO_LLVM_BUILD=%{_prefix} \ - -DLLDB_PATH_TO_CLANG_BUILD=%{_prefix} .. +%cmake -DLLDB_PATH_TO_LLVM_BUILD=%{_prefix} \ + -DLLDB_PATH_TO_CLANG_BUILD=%{_prefix} .. %install -popd build -%makeinstall +pushd build +make DESTDIR=%{buildroot} install %{?_smp_mflags} rm %{buildroot}%{_libdir}/liblldb*.a %post -p /sbin/ldconfig + %postun -p /sbin/ldconfig %files From 61cd5f986eece6b25b4abf6d4b175ea501f1b425532b139c45ae8ccdc668d0f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 17 Mar 2014 10:04:25 +0000 Subject: [PATCH 6/7] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=345 --- lldb-cmake.patch | 47 +++++++++++++++++++++++++++++++++++++++++++++++ lldb.spec | 34 +++++++++++++++------------------- 2 files changed, 62 insertions(+), 19 deletions(-) create mode 100644 lldb-cmake.patch diff --git a/lldb-cmake.patch b/lldb-cmake.patch new file mode 100644 index 0000000..b50c1a6 --- /dev/null +++ b/lldb-cmake.patch @@ -0,0 +1,47 @@ +--- lldb.orig/scripts/CMakeLists.txt 2013-06-13 09:05:41.000000000 -0700 ++++ lldb.orig/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() +--- lldb.orig/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}") +--- lldb.orig/source/CMakeLists.txt 2013-11-15 06:15:10.000000000 -0800 ++++ 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/lldb.spec b/lldb.spec index 4b16a41..8d90130 100644 --- a/lldb.spec +++ b/lldb.spec @@ -24,12 +24,16 @@ License: NCSA Group: Development/Languages Url: http://lldb.llvm.org/ Source: lldb-%{version}.tar.bz2 +Patch1: lldb-cmake.patch BuildRequires: cmake BuildRequires: libedit-devel BuildRequires: llvm-clang-devel BuildRequires: llvm-devel +BuildRequires: python-base BuildRequires: swig +BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: python-base ExclusiveArch: arm x86_64 %description @@ -38,26 +42,12 @@ of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. -%package -Summary: Next generation high-performance debugger -Group: Development/Languages -BuildRequires: libedit-devel -BuildRequires: python-devel -BuildRequires: swig - -%description -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 devel Summary: Next generation high-performance debugger (devel package) Group: Development/Languages -BuildRequires: libedit-devel -BuildRequires: python-devel -BuildRequires: swig +Requires: libedit-devel Requires: lldb = %{version} +Requires: zlib-devel %description devel LLDB is a next generation, high-performance debugger. It is built as a set @@ -67,13 +57,19 @@ disassembler. %prep %setup -q +%patch1 -p1 %build mkdir build pushd build -CC=clang CXX=clang++ \ -%cmake -DLLDB_PATH_TO_LLVM_BUILD=%{_prefix} \ - -DLLDB_PATH_TO_CLANG_BUILD=%{_prefix} .. +cmake -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ +%if "%{_lib}" == "lib64" + -DLLVM_LIBDIR_SUFFIX=64 \ +%endif + -DLLDB_PATH_TO_LLVM_BUILD=%{_prefix} \ + -DLLDB_PATH_TO_CLANG_BUILD=%{_prefix} .. %install pushd build From 2bf142bb0f16715bf598fb3858597b9d84ae0f7443b6793af7bb2823cf27b824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Mon, 17 Mar 2014 10:15:29 +0000 Subject: [PATCH 7/7] - OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=346 --- lldb.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb.spec b/lldb.spec index 8d90130..4a6239e 100644 --- a/lldb.spec +++ b/lldb.spec @@ -29,7 +29,7 @@ BuildRequires: cmake BuildRequires: libedit-devel BuildRequires: llvm-clang-devel BuildRequires: llvm-devel -BuildRequires: python-base +BuildRequires: python-devel BuildRequires: swig BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build