- Handle version 1a of NT_PRPSINFO notes which include the pr_pid field. - Replace patch-sigev with upstream version. Note that upstream GDB doesn't define SIGLIBRT on older OS versions, so do that in the port Makefile instead. - Use PT_GET_EVENT_MASK/PT_SET_EVENT_MASK (new in 12). - Fix a bug where fork and LWP events weren't enabled in new child processes when following child processes after a fork. - Handle "real" vfork done events via PTRACE_VFORK (new in 12). PR: 211254 Approved by: luca.pizzamiglio@gmail.com (maintainer)
149 lines
4.4 KiB
Makefile
149 lines
4.4 KiB
Makefile
# Created by: Steven Kreuzer <skreuzer@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= gdb
|
|
PORTVERSION= 7.11.1
|
|
PORTREVISION= 3
|
|
CATEGORIES= devel
|
|
MASTER_SITES= GNU
|
|
|
|
MAINTAINER= luca.pizzamiglio@gmail.com
|
|
COMMENT= GNU GDB of newer version than comes with the system
|
|
|
|
LICENSE= GPLv3
|
|
|
|
TEST_DEPENDS= runtest:misc/dejagnu
|
|
|
|
TEST_TARGET= check
|
|
USES= cpe iconv gmake libtool tar:xz
|
|
USE_CSTD= gnu89
|
|
CPE_VENDOR= gnu
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ENV= CONFIGURED_M4=m4 CONFIGURED_BISON=byacc
|
|
CONFIGURE_ARGS= --program-suffix=${PORTVERSION:S/.//g} \
|
|
--enable-targets=all --enable-64-bit-bfd \
|
|
--with-gdb-datadir=${PREFIX}/share/gdb${PORTVERSION:S/.//g} \
|
|
--with-separate-debug-dir=/usr/lib/debug \
|
|
${ICONV_CONFIGURE_ARG} \
|
|
--without-libunwind-ia64
|
|
CFLAGS:= ${CFLAGS:C/ +$//} # blanks at EOL creep in sometimes
|
|
CFLAGS+= -DRL_NO_COMPAT -Wno-unused-function -Wno-unused-variable
|
|
EXCLUDE= dejagnu expect sim texinfo intl
|
|
EXTRACT_AFTER_ARGS= ${EXCLUDE:S/^/--exclude /}
|
|
EXTRA_PATCHES= ${FILESDIR}/commit-21002a6 \
|
|
${FILESDIR}/commit-b00f86d \
|
|
${FILESDIR}/commit-aa1ed4a \
|
|
${FILESDIR}/commit-7697fc9 \
|
|
${FILESDIR}/commit-3350c5f \
|
|
${FILESDIR}/commit-2faa344 \
|
|
${FILESDIR}/commit-82372b2 \
|
|
${FILESDIR}/commit-e6cdd38 \
|
|
${FILESDIR}/commit-a3405d1 \
|
|
${FILESDIR}/commit-5077bff \
|
|
${FILESDIR}/commit-bb2a62e \
|
|
${FILESDIR}/commit-8607ea6 \
|
|
${FILESDIR}/commit-2c5c2a3 \
|
|
${FILESDIR}/commit-ee95032 \
|
|
${FILESDIR}/commit-bc7b765 \
|
|
${FILESDIR}/commit-0064d22 \
|
|
${FILESDIR}/commit-da95a26 \
|
|
${FILESDIR}/commit-5fa14c6 \
|
|
${FILESDIR}/commit-dbaed38
|
|
|
|
VER= ${PORTVERSION:S/.//g}
|
|
PLIST_SUB= VER=${VER}
|
|
|
|
ONLY_FOR_ARCHS= i386 amd64 powerpc powerpc64 armv6 # untested elsewhere, might work
|
|
|
|
OPTIONS_DEFINE= DEBUG EXPAT GDB_LINK GUILE KGDB PYTHON TUI
|
|
|
|
OPTIONS_DEFAULT= EXPAT GDB_LINK KGDB PYTHON TUI PORT_READLINE
|
|
|
|
OPTIONS_SINGLE= READLINE
|
|
OPTIONS_SINGLE_READLINE= BASE_READLINE BUNDLED_READLINE PORT_READLINE
|
|
|
|
GDB_LINK_DESC= Create ${PREFIX}/bin/gdb symlink
|
|
KGDB_DESC= Kernel Debugging Support
|
|
BASE_READLINE_DESC= from base system
|
|
BUNDLED_READLINE_DESC= from gdb distfile
|
|
PORT_READLINE_DESC= from devel/readline port
|
|
TUI_DESC= Text User Interface enabled
|
|
|
|
OPTIONS_SUB= yes
|
|
|
|
BASE_READLINE_USES= readline
|
|
BASE_READLINE_CFLAGS= -D_rl_echoing_p=readline_echoing_p
|
|
BASE_READLINE_EXTRA_PATCHES= ${FILESDIR}/extrapatch-base-readline
|
|
BUNDLED_READLINE_CONFIGURE_OFF= --with-system-readline
|
|
DEBUG_CFLAGS= -g
|
|
EXPAT_CONFIGURE_WITH= expat
|
|
EXPAT_LIB_DEPENDS= libexpat.so:textproc/expat2
|
|
GUILE_CONFIGURE_WITH= guile
|
|
GUILE_USES= pkgconfig
|
|
GUILE_LIB_DEPENDS= libguile-2.0.so:lang/guile2
|
|
PORT_READLINE_USES= readline:port
|
|
PYTHON_CONFIGURE_ON= --with-python=${PYTHON_CMD}
|
|
PYTHON_CONFIGURE_OFF= --without-python
|
|
PYTHON_USES= python:2
|
|
TUI_CONFIGURE_ENABLE= tui
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${OSVERSION} < 1000010
|
|
# FreeBSD 9.x and earlier do not define SIGLIBRT in <sys/signal.h>
|
|
CFLAGS+= -DSIGLIBRT=33
|
|
.endif
|
|
|
|
.if ! ${PORT_OPTIONS:MBUNDLED_READLINE}
|
|
EXCLUDE+= readline
|
|
.endif
|
|
|
|
.if ${ARCH} == "amd64"
|
|
CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL}
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|$$| [GDB v${PORTVERSION} for FreeBSD]|' \
|
|
${WRKSRC}/gdb/version.in
|
|
|
|
post-patch-KGDB-on:
|
|
@${CP} -r ${FILESDIR}/kgdb/*.[ch] ${WRKSRC}/gdb/
|
|
@${PATCH} ${PATCH_ARGS} < ${FILESDIR}/extrapatch-kgdb
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/gdb/gdb \
|
|
${STAGEDIR}${PREFIX}/bin/gdb${VER}
|
|
${INSTALL_MAN} ${WRKSRC}/gdb/doc/gdb.1 \
|
|
${STAGEDIR}${MAN1PREFIX}/man/man1/gdb${VER}.1
|
|
|
|
do-install-KGDB-on:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/gdb/kgdb \
|
|
${STAGEDIR}${PREFIX}/bin/kgdb${VER}
|
|
|
|
do-install-TUI-on:
|
|
${LN} -sf gdb${VER} ${STAGEDIR}${PREFIX}/bin/gdbtui${VER}
|
|
|
|
do-install-EXPAT-on:
|
|
(cd ${WRKSRC}/gdb/data-directory ; \
|
|
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} install-syscalls )
|
|
|
|
do-install-GDB_LINK-on:
|
|
${LN} -sf gdb${VER} ${STAGEDIR}${PREFIX}/bin/gdb
|
|
.if ${PORT_OPTIONS:MKGDB}
|
|
${LN} -sf kgdb${VER} ${STAGEDIR}${PREFIX}/bin/kgdb
|
|
.endif
|
|
|
|
do-install-PYTHON-on:
|
|
(cd ${WRKSRC}/gdb; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} install-python )
|
|
(cd ${WRKSRC}/gdb/data-directory ; \
|
|
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} install-python )
|
|
. for f in gdb gdb/command gdb/function gdb/printer
|
|
@(cd ${STAGEDIR}${PREFIX}/share/gdb${VER}/python/${f} ; ${CHMOD} 644 *.py* )
|
|
. endfor
|
|
|
|
do-install-GUILE-on:
|
|
(cd ${WRKSRC}/gdb; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} install-guile )
|
|
(cd ${WRKSRC}/gdb/data-directory ; \
|
|
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} install-guile )
|
|
|
|
.include <bsd.port.mk>
|