# Template file for 'gdb'
pkgname=gdb
version=10.2
revision=1
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 multiarch --enable-targets=all)
 $(vopt_if static 'CFLAGS=-static CXXFLAGS=-static LDFLAGS=-static')
 $(vopt_if python --with-python=/usr/bin/python3)
 $(vopt_with debuginfod)"
hostmakedepends="texinfo perl pkg-config $(vopt_if python python3-devel)"
makedepends="ncurses-devel zlib-devel readline-devel expat-devel
 $(vopt_if python 'python3-devel gettext-devel')
 $(vopt_if debuginfod elfutils-devel)"
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=aaa1223d534c9b700a8bec952d9748ee1977513f178727e1bee520ee000b4f29
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

build_options="gdbserver multiarch static python debuginfod"
desc_option_debuginfod="Enable support for libdebuginfod"
desc_option_multiarch="Enable support for all architectures"
desc_option_gdbserver="Enable support for building GDB server"
build_options_default="gdbserver python debuginfod"
vopt_conflict gdbserver static
vopt_conflict debuginfod static

post_extract() {
	vsed -i 's,sgidefs.h,asm/sgidefs.h,' gdb/mips-linux-nat.c
	mkdir -p build
}
do_configure() {
	cd 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 build
	make ${makejobs} all
}
do_install() {
	cd build
	make DESTDIR=${DESTDIR} ${makejobs} install
	# resolve conflicts with binutils
	rm -rf ${DESTDIR}/usr/{include,lib,lib64}
	for f in bfd configure standards; do
		rm -f ${DESTDIR}/usr/share/info/${f}.info*
	done
}
