aboutsummaryrefslogtreecommitdiffstats
path: root/devel/gdb/Makefile
blob: 43ec93c7c39612143e4e32785553e429c09905ae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Created by: Steven Kreuzer <skreuzer@FreeBSD.org>
# $FreeBSD$

PORTNAME=   gdb
PORTVERSION=    7.6.1
#PORTREVISION=  1
CATEGORIES= devel
MASTER_SITES=   GNU

MAINTAINER= luca.pizzamiglio@gmail.com
COMMENT=    GNU GDB of newer version than comes with the system

LICENSE=    GPLv3

USE_BZIP2=  yes
USE_CSTD=   gnu89
USES=       iconv gmake
GNU_CONFIGURE=  yes
CONFIGURE_ENV=  CONFIGURED_M4=m4 CONFIGURED_BISON=byacc
CONFIGURE_ARGS= --program-suffix=${PORTVERSION:S/.//g} \
        --with-gdb-datadir=${PREFIX}/share/gdb${PORTVERSION:S/.//g} \
        ${ICONV_CONFIGURE_ARG} \
        --without-libunwind-ia64 \
        --enable-targets=all
CFLAGS:=    ${CFLAGS:C/ +$//}   # blanks at EOL creep in sometimes
CFLAGS+=    -DRL_NO_COMPAT
EXCLUDE=    dejagnu expect sim texinfo intl
VER=        ${PORTVERSION:S/.//g}
PLIST_SUB=  VER=${VER}
EXTRACT_AFTER_ARGS= ${EXCLUDE:S/^/--exclude /}

ONLY_FOR_ARCHS= i386 amd64 powerpc powerpc64    # untested elsewhere, might work

OPTIONS_DEFINE= DEBUG EXPAT PYTHON THREADS TUI GDB_LINK
OPTIONS_SINGLE_READLINE=    BASE_READLINE BUNDLED_READLINE PORT_READLINE
OPTIONS_SINGLE= READLINE
BASE_READLINE_DESC= from base system(EXPERIMENTAL)
BUNDLED_READLINE_DESC=  from gdb distfile
PORT_READLINE_DESC= from devel/readline port
GDB_LINK_DESC=      Create the gdb link
TUI_DESC=       Text User Interface enabled
OPTIONS_DEFAULT=    THREADS TUI GDB_LINK PORT_READLINE

# Activating the plist
OPTIONS_SUB=yes

DEBUG_CFLAGS=       -g
EXPAT_CONFIGURE_ON= --with-expat=yes
EXPAT_CONFIGURE_OFF=    --without-expat
EXPAT_LIB_DEPENDS=  expat:${PORTSDIR}/textproc/expat2
TUI_CONFIGURE_ENABLE=   tui
PYTHON_CONFIGURE_ON=    --with-python=${PYTHON_CMD}
PYTHON_CONFIGURE_OFF=   --without-python
PORT_READLINE_USES= readline:port
BASE_READLINE_USES= readline
BASE_READLINE_CFLAGS=   -D_rl_echoing_p=readline_echoing_p
BUNDLED_READLINE_CONFIGURE_OFF= --with-system-readline

.include <bsd.port.options.mk>

.if empty(PORT_OPTIONS:MBUNDLED_READLINE)
EXCLUDE+=   readline
.endif

.if ${PORT_OPTIONS:MPYTHON}
USE_PYTHON= 2.5-2.7
.endif

.if ${PORT_OPTIONS:MTHREADS}
EXTRA_PATCHES=  ${FILESDIR}/extrapatch-gdb-configure.tgt ${FILESDIR}/extrapatch-gdb-Makefile.in
.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
.if ${PORT_OPTIONS:MTHREADS}
    @${CP} ${FILESDIR}/fbsd-threads.c ${WRKSRC}/gdb/
.endif

do-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/gdb/gdb ${STAGEDIR}${PREFIX}/bin/gdb${VER}
    ${INSTALL_MAN} ${WRKSRC}/gdb/gdb.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/gdb${VER}.1
.if ${PORT_OPTIONS:MTUI}
    ${LN} -sf gdb${VER} ${STAGEDIR}${PREFIX}/bin/gdbtui${VER}
.endif
.if ${PORT_OPTIONS:MGDB_LINK}
    ${LN} -sf gdb${VER} ${STAGEDIR}${PREFIX}/bin/gdb
.endif
.if ${PORT_OPTIONS:MPYTHON}
    (cd ${WRKSRC}/gdb; ${GMAKE} DESTDIR=${STAGEDIR} install-python )
    (cd ${WRKSRC}/gdb/data-directory; ${GMAKE} DESTDIR=${STAGEDIR} install-python )
.endif

post-install:
.if ${PORT_OPTIONS:MPYTHON}
    ${CHMOD} u+w ${STAGEDIR}${PREFIX}/share/gdb${VER}/python/gdb/*.py*
    ${CHMOD} u+w ${STAGEDIR}${PREFIX}/share/gdb${VER}/python/gdb/command/*.py*
    ${CHMOD} u+w ${STAGEDIR}${PREFIX}/share/gdb${VER}/python/gdb/function/*.py*
.endif

.include <bsd.port.mk>