diff --git a/meta-openeuler/recipes-core/gdb/gdb-common.inc b/meta-openeuler/recipes-core/gdb/gdb-common.inc new file mode 100644 index 0000000000000000000000000000000000000000..0d8928a9e1920244e365e7bfc00c344c301ab453 --- /dev/null +++ b/meta-openeuler/recipes-core/gdb/gdb-common.inc @@ -0,0 +1,66 @@ +SUMMARY = "GNU debugger" +HOMEPAGE = "http://www.gnu.org/software/gdb/" +DESCRIPTION = "GDB, the GNU Project debugger, allows you to see what is going on inside another program while it executes -- or what another program was doing at the moment it crashed." +SECTION = "devel" +DEPENDS = "expat gmp zlib ncurses virtual/libiconv ${LTTNGUST} bison-native" + +LTTNGUST = "lttng-ust" +LTTNGUST_arc = "" +LTTNGUST_aarch64 = "" +LTTNGUST_mipsarch = "" +LTTNGUST_sh4 = "" + +inherit autotools texinfo + +UPSTREAM_CHECK_GITTAGREGEX = "gdb\-(?P.+)\-release" + +B = "${WORKDIR}/build-${TARGET_SYS}" + +EXPAT = "--with-expat --with-libexpat-prefix=${STAGING_DIR_HOST}" + +EXTRA_OECONF = "--disable-gdbtk --disable-x --disable-werror \ + --with-curses --disable-multilib --disable-sim \ + --without-guile \ + ${GDBPROPREFIX} ${EXPAT} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \ + --disable-rpath \ + --disable-gas --disable-binutils \ + --disable-ld --disable-gold \ + --disable-gprof \ + --with-libgmp-prefix=${STAGING_EXECPREFIXDIR} \ +" + +PACKAGECONFIG ??= "readline ${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}" +# Use --without-system-readline to compile with readline 5. +PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline" +PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python3,python3 python3-codecs" +PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace" +# ncurses is already a hard DEPENDS, but would be added here if it weren't +PACKAGECONFIG[tui] = "--enable-tui,--disable-tui" +PACKAGECONFIG[xz] = "--with-lzma --with-liblzma-prefix=${STAGING_DIR_HOST},--without-lzma,xz" +PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, elfutils" + +GDBPROPREFIX = "--program-prefix=''" + +DISABLE_STATIC = "" + +do_configure () { + # override this function to avoid the autoconf/automake/aclocal/autoheader + # calls for now + (cd ${S} && gnu-configize) || die "failure in running gnu-configize" + oe_runconf +} + +# we don't want gdb to provide bfd/iberty/opcodes, which instead will override the +# right bits installed by binutils. Same for bfd.info -- also from binutils. +do_install_append() { + rm -rf ${D}${libdir} + rm -rf ${D}${includedir} + rm -rf ${D}${datadir}/locale + rm -f ${D}${infodir}/bfd.info +} + +#RRECOMMENDS_gdb_append_linux = " glibc-thread-db " +#RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db " +#RRECOMMENDS_gdbserver_append_linux = " glibc-thread-db " +#RRECOMMENDS_gdbserver_append_linux-gnueabi = " glibc-thread-db " diff --git a/meta-openeuler/recipes-core/gdb/gdb.inc b/meta-openeuler/recipes-core/gdb/gdb.inc new file mode 100644 index 0000000000000000000000000000000000000000..cee884ff193173ae6f53b51959bcd61aa58b0f29 --- /dev/null +++ b/meta-openeuler/recipes-core/gdb/gdb.inc @@ -0,0 +1,9 @@ +LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-2.0-only & LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" + +SRC_URI = "file://gdb/${BP}.tar.xz \ +" +SRC_URI[sha256sum] = "cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94" diff --git a/meta-openeuler/recipes-core/gdb/gdb_11.1.bb b/meta-openeuler/recipes-core/gdb/gdb_11.1.bb new file mode 100644 index 0000000000000000000000000000000000000000..d5f57abe00d4b3979c280e310dc2aa42a538dfec --- /dev/null +++ b/meta-openeuler/recipes-core/gdb/gdb_11.1.bb @@ -0,0 +1,39 @@ +require gdb-common.inc + +inherit gettext pkgconfig + +#LDFLAGS:append = " -s" +#export CFLAGS:append=" -L${STAGING_LIBDIR}" + +# cross-canadian must not see this +PACKAGES =+ "gdbserver" +FILES_gdbserver = "${bindir}/gdbserver" + +require gdb.inc + +inherit python3-dir + +EXTRA_OEMAKE_append_libc-musl = "\ + gt_cv_func_gnugettext1_libc=yes \ + gt_cv_func_gnugettext2_libc=yes \ + gl_cv_func_working_strerror=yes \ + gl_cv_func_strerror_0_works=yes \ + gl_cv_func_gettimeofday_clobber=no \ + " + +do_configure_prepend() { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + cat > ${WORKDIR}/python << EOF +#!/bin/sh +case "\$2" in + --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;; + --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;; + --exec-prefix) echo "${exec_prefix}" ;; + *) exit 1 ;; +esac +exit 0 +EOF + chmod +x ${WORKDIR}/python + fi +} + diff --git a/meta-openeuler/recipes-core/gmp/gmp.inc b/meta-openeuler/recipes-core/gmp/gmp.inc new file mode 100644 index 0000000000000000000000000000000000000000..948b89288e05638b039080a47dfa0a948544a53e --- /dev/null +++ b/meta-openeuler/recipes-core/gmp/gmp.inc @@ -0,0 +1,12 @@ +SUMMARY = "GNU multiprecision arithmetic library" +DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers" +HOMEPAGE = "http://gmplib.org/" +SECTION = "devel" + +inherit autotools texinfo multilib_header + +PACKAGECONFIG ??= "" +PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/meta-openeuler/recipes-core/gmp/gmp_6.2.1.bb b/meta-openeuler/recipes-core/gmp/gmp_6.2.1.bb new file mode 100644 index 0000000000000000000000000000000000000000..37245b732ecf2103d9326e851fe73fd2786e2193 --- /dev/null +++ b/meta-openeuler/recipes-core/gmp/gmp_6.2.1.bb @@ -0,0 +1,41 @@ +require gmp.inc + +LICENSE = "GPLv2+ | LGPLv3+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ +" + +REVISION = "" +SRC_URI = "file://gmp/${BP}.tar.bz2 \ + " +SRC_URI[md5sum] = "28971fc21cf028042d4897f02fd355ea" +SRC_URI[sha256sum] = "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c" + +acpaths = "" + +EXTRA_OECONF += " --enable-cxx=detect" +EXTRA_OECONF_mipsarchr6_append = " --disable-assembly" + +PACKAGES =+ "libgmpxx" +FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}" + +do_install_append() { + oe_multilib_header gmp.h +} + +do_install_prepend_class-target() { + sed -i \ + -e "s|--sysroot=${STAGING_DIR_HOST}||g" \ + -e "s|${DEBUG_PREFIX_MAP}||g" \ + ${B}/gmp.h +} + +SSTATE_SCAN_FILES += "gmp.h" + +# Doesn't compile in MIPS16e mode due to use of hand-written +# assembly +MIPS_INSTRUCTION_SET = "mips" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openeuler/recipes-core/images/openeuler-image.bb b/meta-openeuler/recipes-core/images/openeuler-image.bb index 5ab642ee1d6f19478909f4c0daa4793759946814..e408ca33703bbca856e696eef03ecccd6fe9fdb4 100644 --- a/meta-openeuler/recipes-core/images/openeuler-image.bb +++ b/meta-openeuler/recipes-core/images/openeuler-image.bb @@ -105,6 +105,8 @@ dosfstools \ e2fsprogs \ ethtool \ expat \ +gdb \ +gdbserver \ glib-2.0 \ grep \ gzip \