diff mbox series

[meta-oe] drgn: add new recipe

Message ID 20240822091940.1512585-2-jamin_lin@aspeedtech.com
State Accepted
Headers show
Series [meta-oe] drgn: add new recipe | expand

Commit Message

Jamin Lin Aug. 22, 2024, 9:19 a.m. UTC
drgn is a debugger with an emphasis on programmability
drgn exposes the types and variables in a program
for easy, expressive scripting in Python.

Drgn depends on:
1. python3
2. elfutils
3. openmp
a. clang toolchain should use libomp(openmp)
   from meta-clang
b. gnu gcc toolchain should use libgomp(gcc-runtime)
   from openembedded-core

The build requires:
1. setuptools
2. automake
3. autoconf
4. libtool
5. pkgconf

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
---
 .../drgn/python3-drgn_0.0.27.bb               | 80 +++++++++++++++++++
 1 file changed, 80 insertions(+)
 create mode 100644 meta-oe/recipes-kernel/drgn/python3-drgn_0.0.27.bb
diff mbox series

Patch

diff --git a/meta-oe/recipes-kernel/drgn/python3-drgn_0.0.27.bb b/meta-oe/recipes-kernel/drgn/python3-drgn_0.0.27.bb
new file mode 100644
index 000000000..10d7c6ffd
--- /dev/null
+++ b/meta-oe/recipes-kernel/drgn/python3-drgn_0.0.27.bb
@@ -0,0 +1,80 @@ 
+SUMMARY = "drgn (pronounced dragon) is a debugger with an emphasis on  \
+programmability. drgn exposes the types and variables in a program for easy, \
+expressive scripting in Python."
+HOMEPAGE = "https://github.com/osandov/drgn"
+LICENSE = " LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7c83d30e99508d6b790eacdd3abab846"
+
+SRC_URI = "git://github.com/osandov/drgn.git;protocol=https;branch=main"
+SRCREV = "a8dfc9e31f551d4b3c3d4307fa19ab6b3bfafb1c"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "\
+    autoconf-native \
+    automake-native \
+    libtool-native \
+    elfutils \
+    "
+
+DEPENDS:append:toolchain-clang:class-target ="\
+    openmp \
+    "
+
+OPENMP_LIB = "libgomp"
+OPENMP_LIB:toolchain-clang:class-target = "openmp"
+
+RDEPENDS:${PN} = "\
+    python3-crypt \
+    python3-io \
+    python3-logging \
+    python3-math \
+    python3-pickle \
+    python3-stringold \
+    python3-compression \
+    "
+
+RDEPENDS:${PN}:append:class-target = "\
+    libdw \
+    libelf \
+    ${OPENMP_LIB} \
+    "
+
+RDEPENDS:${PN}:append:class-native = "\
+    elfutils-native \
+    "
+
+RDEPENDS:${PN}:append:class-nativesdk = "\
+    nativesdk-elfutils \
+    "
+
+OPENMP_LIB_NAME = "gomp"
+OPENMP_LIB_NAME:toolchain-clang:class-target = "omp"
+
+export CONFIGURE_FLAGS = "\
+    --build=${BUILD_SYS}, \
+    --host=${HOST_SYS}, \
+    --target=${TARGET_SYS}, \
+    --prefix=${prefix}, \
+    --exec_prefix=${exec_prefix}, \
+    --bindir=${bindir}, \
+    --sbindir=${sbindir}, \
+    --libexecdir=${libexecdir}, \
+    --datadir=${datadir}, \
+    --sysconfdir=${sysconfdir}, \
+    --sharedstatedir=${sharedstatedir}, \
+    --localstatedir=${localstatedir}, \
+    --libdir=${libdir}, \
+    --includedir=${includedir}, \
+    --oldincludedir=${includedir}, \
+    --infodir=${infodir}, \
+    --mandir=${mandir}, \
+    --enable-openmp=${OPENMP_LIB_NAME} \
+    "
+
+export PYTHON_CPPFLAGS = "-I${STAGING_INCDIR}/${PYTHON_DIR}"
+
+inherit python3native pkgconfig setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+