void-packages/srcpkgs/gdb/template
Jürgen Buchmüller 335308e075 gdb: fix cross build for ppc* w/ gcc10
The generators sim/ppc built for the host architecture also have
multiple defined symbols which is why CFLAGS_FOR_HOST needs
the -fcommon flag as well.

There are also warnings like returning the address of a stack
variable which require -Wno-error to make gdb cross compile
for ppc*.

With these minimal changes in the template the sim/ppc issues
are just ignored and should probably be fixed instead.
2020-09-05 01:07:34 +02:00

63 lines
2.1 KiB
Bash

# Template file for 'gdb'
pkgname=gdb
version=9.2
revision=2
build_style=gnu-configure
pycompile_dirs="/usr/share/gdb/python"
configure_args="--disable-werror --disable-nls --with-system-readline
--with-system-gdbinit=/etc/gdb/gdbinit --with-system-zlib $(vopt_enable gdbserver)
$(vopt_if static 'CFLAGS=-static CXXFLAGS=-static LDFLAGS=-static')
$(vopt_if python --with-python=/usr/bin/python3)"
hostmakedepends="texinfo perl $(vopt_if python python3-devel)"
makedepends="ncurses-devel zlib-devel readline-devel expat-devel
$(vopt_if python 'python3-devel gettext-libs')"
short_desc="GNU Debugger"
maintainer="Anthony Iliopoulos <ailiop@altatus.com>"
license="GPL-3.0-or-later"
homepage="https://www.gnu.org/software/gdb/"
distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.xz"
checksum=360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555
python_version=3
patch_args="-Np1"
if [ "${CROSS_BUILD}" ]; then
# Make python3.x detection work in cross builds
CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc}"
CXXFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc}"
fi
CFLAGS+=" -fcommon -Wno-error"
CXXFLAGS+=" -fcommon -Wno-error"
# Package build options
build_options="gdbserver static python"
desc_option_gdbserver="Enable support for building GDB server"
# Enable gdbserver if !static.
build_options_default="gdbserver python"
# Both options cannot be enabled at the same time
vopt_conflict gdbserver static
post_extract() {
vsed -i 's,sgidefs.h,asm/sgidefs.h,' gdb/mips-linux-nat.c
mkdir -p build
}
do_configure() {
cd ${wrksrc}/build
../configure ${configure_args/with-sysroot/with-build-sysroot} \
CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD} -fcommon"
export gl_cv_func_gettimeofday_clobber=no
export gl_cv_func_working_strerror=yes
export gl_cv_func_strerror_0_works=yes
}
do_build() {
cd ${wrksrc}/build
make ${makejobs} all
}
do_install() {
cd ${wrksrc}/build
make DESTDIR=${DESTDIR} ${makejobs} install
# resolve conflicts with binutils
rm -rf ${DESTDIR}/usr/include ${DESTDIR}/usr/lib
[ -d ${DESTDIR}/usr/lib64 ] && rm -rf ${DESTDIR}/usr/lib64
for f in bfd configure standards; do
rm -f ${DESTDIR}/usr/share/info/${f}.info*
done
}