summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2015-06-15 12:52:14 +0000
committerBernard Cafarelli <voyageur@gentoo.org>2015-06-15 12:52:14 +0000
commit7950a1cde9adddabc961387155603268bac6cdbf (patch)
tree0ba397b29d83219eb536122522edee12ad29969c /sys-devel
parentUpdating remote-id in metadata.xml (diff)
downloadgentoo-2-7950a1cde9adddabc961387155603268bac6cdbf.tar.gz
gentoo-2-7950a1cde9adddabc961387155603268bac6cdbf.tar.bz2
gentoo-2-7950a1cde9adddabc961387155603268bac6cdbf.zip
Add initial support for lldb debugger, bug #464354. Also enable USE=doc by default for live ebuild, useful if you want the man pages
(Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 00F7AB331B0F097F)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/llvm/ChangeLog7
-rw-r--r--sys-devel/llvm/llvm-9999.ebuild40
-rw-r--r--sys-devel/llvm/metadata.xml1
3 files changed, 44 insertions, 4 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog
index 76304464a81c..bc9fd4f032ef 100644
--- a/sys-devel/llvm/ChangeLog
+++ b/sys-devel/llvm/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-devel/llvm
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.251 2015/06/14 17:56:07 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.252 2015/06/15 12:52:14 voyageur Exp $
+
+ 15 Jun 2015; Bernard Cafarelli <voyageur@gentoo.org> llvm-9999.ebuild,
+ metadata.xml:
+ Add initial support for lldb debugger, bug #464354. Also enable USE=doc by
+ default for live ebuild, useful if you want the man pages
14 Jun 2015; Michał Górny <mgorny@gentoo.org>
+files/clang-3.6-fbsd-gcc49.patch, llvm-3.6.1.ebuild:
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index b98537eda435..bf78b0036e36 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.116 2015/06/13 20:51:45 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.117 2015/06/15 12:52:14 voyageur Exp $
EAPI=5
@@ -19,7 +19,7 @@ EGIT_REPO_URI="http://llvm.org/git/llvm.git
LICENSE="UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS=""
-IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml
+IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml
python +static-analyzer test xml video_cards_radeon kernel_Darwin"
COMMON_DEPEND="
@@ -54,6 +54,7 @@ DEPEND="${COMMON_DEPEND}
clang? ( xml? ( virtual/pkgconfig ) )
doc? ( dev-python/sphinx )
libffi? ( virtual/pkgconfig )
+ lldb? ( dev-lang/swig )
!!<dev-python/configparser-3.3.0.2
${PYTHON_DEPS}"
RDEPEND="${COMMON_DEPEND}
@@ -65,7 +66,8 @@ PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )"
# pypy gives me around 1700 unresolved tests due to open file limit
# being exceeded. probably GC does not close them fast enough.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( || ( $(python_gen_useflags 'python*') ) )"
+ test? ( || ( $(python_gen_useflags 'python*') ) )
+ lldb? ( clang )"
pkg_pretend() {
# in megs
@@ -128,6 +130,10 @@ src_unpack() {
git-r3_fetch "http://llvm.org/git/clang-tools-extra.git
https://github.com/llvm-mirror/clang-tools-extra.git"
fi
+ if use lldb; then
+ git-r3_fetch "http://llvm.org/git/lldb.git
+ https://github.com/llvm-mirror/lldb.git"
+ fi
git-r3_fetch
if use clang; then
@@ -138,6 +144,10 @@ src_unpack() {
git-r3_checkout http://llvm.org/git/clang-tools-extra.git \
"${S}"/tools/clang/tools/extra
fi
+ if use lldb; then
+ git-r3_checkout http://llvm.org/git/lldb.git \
+ "${S}"/tools/lldb
+ fi
git-r3_checkout
}
@@ -178,6 +188,13 @@ src_prepare() {
epatch "${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
fi
+ if use lldb; then
+ # Do not install dummy readline.so module from
+ # https://llvm.org/bugs/show_bug.cgi?id=18841
+ sed -e 's/add_subdirectory(readline)/#&/' \
+ -i tools/lldb/scripts/Python/modules/CMakeLists.txt || die
+ fi
+
# User patches
epatch_user
@@ -226,6 +243,10 @@ multilib_src_configure() {
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-DHAVE_HISTEDIT_H=$(usex libedit)
+
+ -DLLDB_DISABLE_LIBEDIT=$(usex libedit 0 1)
+ -DLLDB_DISABLE_CURSES=$(usex libedit 0 1)
+ -DLLDB_ENABLE_TERMINFO=$(usex ncurses)
)
if ! multilib_is_native_abi || ! use ocaml; then
@@ -260,6 +281,13 @@ multilib_src_configure() {
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
)
fi
+
+ if use lldb; then
+ mycmakeargs+=(
+ -DLLDB_DISABLE_PYTHON=$(usex python 0 1)
+ )
+ fi
+
else
if use clang; then
mycmakeargs+=(
@@ -271,6 +299,12 @@ multilib_src_configure() {
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=OFF
)
fi
+ if use lldb; then
+ mycmakeargs+=(
+ # only run swig on native abi
+ -DLLDB_DISABLE_PYTHON=ON
+ )
+ fi
fi
if use clang; then
diff --git a/sys-devel/llvm/metadata.xml b/sys-devel/llvm/metadata.xml
index 1a630669f376..c0b2ba7acaf6 100644
--- a/sys-devel/llvm/metadata.xml
+++ b/sys-devel/llvm/metadata.xml
@@ -19,6 +19,7 @@
<flag name='cmake'>Enable cmake support (experimental)</flag>
<flag name='doc'>Build and install the HTML documentation and regenerate the man pages</flag>
<flag name='gold'>Build the gold linker plugin</flag>
+ <flag name='lldb'>Build the lldb debugger</flag>
<flag name='llvm-gcc'>Build LLVM with <pkg>sys-devel/llvm-gcc</pkg></flag>
<flag name='multitarget'>Build all host targets (default: host only)</flag>
<flag name='ncurses'>Support querying terminal properties using ncurses' terminfo</flag>