blob: b053c9caa5682055045e4ede41a9d042b003bd4e [file] [log] [blame] [edit]
# Maintainer: Carlos Antunes <cmantunes@gmail.com>
# Maintainer: fauxpark <fauxpark@gmail.com>
# Contributed by: nanodude
_realname=gdb
_target=arm-none-eabi
pkgbase=mingw-w64-${_target}-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_target}-${_realname}")
pkgver=9.2
pkgrel=3
pkgdesc='GNU Tools for ARM Embedded Processors - GDB (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
license=('GPL')
url='https://www.gnu.org/software/gdb/'
groups=("${MINGW_PACKAGE_PREFIX}-${_target}-toolchain")
source=(
https://ftp.gnu.org/gnu/gdb/${_realname}-${pkgver}.tar.xz{,.sig}
'gdb-perfomance.patch'
'gdb-fix-using-gnu-print.patch'
'gdb-7.12-dynamic-libs.patch'
'python-configure-path-fixes.patch'
'gdb-fix-tui-with-pdcurses.patch'
'gdb-9.1-lib-order.patch'
'gdb-home-is-userprofile.patch'
)
sha256sums=(
'360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555'
'SKIP'
'a0a2d974e80b656646c87cc669fda798182a35b001aab933567c41b880530aa0'
'29fce74348a2862dd3856da58cd3c6c40a910cbdb95e5003d571c33a04532b78'
'9de9c30bbb8cd2c6f60414b5a34cdf1fae27238293fb6007c628a8b821f88e0b'
'6378e1a96e3bedc2a160f0f6780cb973ce6139017f2786e7ab97f8bcd9824d27'
'f70cc0a0633d01adf777eb57a82f8c9880f6511d55e44c1dc415ddebc7467e0b'
'dcfbfb2e3fc90a51e11202529e34c1b3dcc17e352067ffdfc58b63c1deab9523'
'a63ba094dcd9bf0c0f98c6dce5825590b2cf7014834fd3bec5f88fe25d90228a'
)
depends=("${MINGW_PACKAGE_PREFIX}-expat"
"${MINGW_PACKAGE_PREFIX}-libiconv"
"${MINGW_PACKAGE_PREFIX}-libssp"
"${MINGW_PACKAGE_PREFIX}-ncurses"
"${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-readline"
"${MINGW_PACKAGE_PREFIX}-xxhash"
"${MINGW_PACKAGE_PREFIX}-zlib")
checkdepends=('dejagnu' 'bc')
makedepends=("${MINGW_PACKAGE_PREFIX}-iconv"
"${MINGW_PACKAGE_PREFIX}-xz")
options=('staticlibs' '!distcc' '!ccache')
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
prepare() {
cd ${srcdir}/${_realname}-${pkgver}
mkdir ${_realname}-build-${MINGW_CHOST}
# https://sourceware.org/bugzilla/show_bug.cgi?id=15412
patch -p1 -i ../gdb-perfomance.patch
patch -p1 -i ../gdb-fix-using-gnu-print.patch
# https://sourceware.org/bugzilla/show_bug.cgi?id=21078
patch -p1 -i ../gdb-7.12-dynamic-libs.patch
patch -p1 -i ../python-configure-path-fixes.patch
patch -p1 -i ../gdb-fix-tui-with-pdcurses.patch
patch -p1 -i ../gdb-9.1-lib-order.patch
patch -p1 -i ../gdb-home-is-userprofile.patch
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
}
build() {
cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build-${MINGW_CHOST}
if [ "${CARCH}" != "x86_64" ]; then
LDFLAGS+=" -Wl,--large-address-aware"
fi
CPPFLAGS+=" -I${MINGW_PREFIX}/include/ncurses"
CFLAGS+=" -I${MINGW_PREFIX}/include/ncurses"
CXXFLAGS+=" -I${MINGW_PREFIX}/include/ncurses"
LDFLAGS+=" -fstack-protector"
../configure \
--build=${MINGW_CHOST} \
--prefix=${MINGW_PREFIX} \
--target=${_target} \
--disable-nls \
--disable-debug \
--disable-dependency-tracking \
--disable-binutils \
--disable-libssp \
--disable-install-libbfd \
--disable-install-libiberty \
--with-system-readline \
--enable-languages=c,c++ \
--disable-werror \
--disable-win32-registry \
--disable-rpath \
--with-curses \
--with-system-gdbinit=${MINGW_PREFIX}/etc/gdbinit \
--with-python=${MINGW_PREFIX}/bin/python \
--with-expat \
--with-libiconv-prefix=${MINGW_PREFIX} \
--with-zlib \
--with-lzma \
--enable-tui \
--enable-source-highlight=no
make
}
package() {
cd ${srcdir}/${_realname}-${pkgver}/${_realname}-build-${MINGW_CHOST}
make DESTDIR="$pkgdir" install-gdb
cd ${pkgdir}${MINGW_PREFIX}
# Remove files that conflict with native gdb
rm -rf include share/gdb share/info lib
}