# Template file for 'avr-gdb'
pkgname=avr-gdb
version=10.1
revision=1
wrksrc=gdb-${version}
build_style=gnu-configure
pycompile_dirs="/usr/share/gdb/python"
configure_args="\
	--target=avr \
	--program-prefix=avr- \
	--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')"
depends=gdb
short_desc="GNU Debugger for AVR"
maintainer="Artur Sinila <opensource@logarithmus.dev>"
license="GPL-3.0-or-later"
homepage="https://www.gnu.org/software/gdb/"
distfiles="${GNU_SITE}/gdb/gdb-${version}.tar.xz"
checksum=f82f1eceeec14a3afa2de8d9b0d3c91d5a3820e23e0a01bbb70ef9f0276b62c0
python_version=3
replaces="cross-avr-gdb>=0"

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"
CXXFLAGS+=" -fcommon"
# Package build options
build_options="gdbserver static python"
desc_option_gdbserver="Enable support for building GDB server"
# By default, don't enable any of build options
#build_options_default="gdbserver"
# 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 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 ${DESTDIR}/usr/lib
	rm -rf ${DESTDIR}/usr/lib64
	for f in bfd configure standards; do
		rm -f ${DESTDIR}/usr/share/info/${f}.info*
	done
}

post_install() {
	# resolve conflicts with binutils and native gdb
	rm -fr usr/{share/{locale,gdb,info},include}
}
