From patchwork Fri Dec 16 14:05:40 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: gdb-cross-canadian: build gdb with python support Date: Fri, 16 Dec 2011 14:05:40 -0000 From: Eric BENARD X-Patchwork-Id: 17129 Message-Id: <1324044340-21898-1-git-send-email-eric@eukrea.com> To: openembedded-core@lists.openembedded.org Cc: fcooper@ti.com * python support is needed for providing finer scripting control in gdb, and for remote controling gdb for example from qtcreator * gdb/configure tries to autodetect python using python executable with --includes --ldflags --exec-prefix to get the right flags As it's difficult to achieve in OE's context, we generate a script which will return the right values and make gdb's build system happy. This idea was taken from the following article : http://www.mentby.com/doug-evans-2/python-enabled-gdb-on-windows-and-relocation.html * tested using angstrom & armv7 target & qtcreator 201005 & 2.4.0 Signed-off-by: Eric Bénard Cc: fcooper@ti.com --- meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 20 +++++++++++++++++++- 1 files changed, 19 insertions(+), 1 deletions(-) \ No newline at end of file diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index ec0748e..e0e6e30 100644 --- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -4,4 +4,22 @@ DESCRIPTION = "cross-canadian gdb for ${TARGET_ARCH} target - GNU debugger" PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}" BPN = "gdb" -DEPENDS = "ncurses-nativesdk expat-nativesdk gettext-nativesdk readline-nativesdk" +DEPENDS = "ncurses-nativesdk expat-nativesdk gettext-nativesdk readline-nativesdk python-nativesdk" +RDEPENDS += "python-nativesdk-core python-nativesdk-lang python-nativesdk-re \ + python-nativesdk-codecs python-nativesdk-netclient" + +EXTRA_OECONF_append = "--with-python=${WORKDIR}/python" + +do_configure_prepend() { +cat > ${WORKDIR}/python << EOF +#! /bin/sh +case "\$2" in + --includes) echo "-I${STAGING_DIR}/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}${exec_prefix}/include/python${PYTHON_BASEVERSION}/" ;; + --ldflags) echo "-L${STAGING_DIR}/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}${libdir}/python${PYTHON_BASEVERSION}/config/config -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}" ;; + --exec-prefix) echo "/usr" ;; + *) exit 1 ;; +esac +exit 0 +EOF + chmod +x ${WORKDIR}/python +}