1 |
|
# $MidnightBSD$ |
2 |
|
|
3 |
|
PORTNAME= gdb |
4 |
< |
PORTVERSION= 7.6 |
5 |
< |
PORTREVISION= 1 |
4 |
> |
PORTVERSION= 8.2 |
5 |
|
CATEGORIES= devel |
6 |
|
MASTER_SITES= GNU |
7 |
|
|
9 |
|
COMMENT= GNU GDB of newer version than comes with the system |
10 |
|
|
11 |
|
LICENSE= gpl3 |
12 |
+ |
LICENSE_FILE= ${WRKSRC}/COPYING3 |
13 |
|
|
14 |
+ |
# untested on sparc64, might work |
15 |
+ |
ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 mips powerpc powerpc64 |
16 |
+ |
|
17 |
+ |
LIB_DEPENDS= libmpfr.so:math/mpfr |
18 |
+ |
TEST_DEPENDS= runtest:misc/dejagnu |
19 |
+ |
|
20 |
+ |
TEST_TARGET= check |
21 |
+ |
# XXX: This should be compiler:c++11-lib as GDB doesn't really require |
22 |
+ |
# C++14. However, clang in 1.0 crashes while building this port. |
23 |
+ |
# Requiring C++14 forces 1.0 to use an external version of clang |
24 |
+ |
USES= compiler:c++14-lang cpe gettext-runtime gmake libtool tar:xz |
25 |
|
USE_CSTD= gnu89 |
26 |
< |
USE_GMAKE= yes |
16 |
< |
USES= iconv tar:bzip2 |
26 |
> |
CPE_VENDOR= gnu |
27 |
|
GNU_CONFIGURE= yes |
28 |
|
CONFIGURE_ENV= CONFIGURED_M4=m4 CONFIGURED_BISON=byacc |
29 |
|
CONFIGURE_ARGS= --program-suffix=${PORTVERSION:S/.//g} \ |
30 |
+ |
--enable-targets=all --enable-64-bit-bfd \ |
31 |
|
--with-gdb-datadir=${PREFIX}/share/gdb${PORTVERSION:S/.//g} \ |
32 |
+ |
--with-separate-debug-dir=/usr/lib/debug \ |
33 |
|
${ICONV_CONFIGURE_ARG} \ |
34 |
< |
--without-libunwind-ia64 \ |
35 |
< |
--enable-targets=all |
34 |
> |
--with-expat=yes --with-libexpat-prefix=${LOCALBASE} \ |
35 |
> |
--without-libunwind-ia64 --with-system-zlib |
36 |
|
CFLAGS:= ${CFLAGS:C/ +$//} # blanks at EOL creep in sometimes |
37 |
< |
CFLAGS+= -DRL_NO_COMPAT |
37 |
> |
CFLAGS+= -DRL_NO_COMPAT -Wno-unused-function -Wno-unused-variable |
38 |
> |
CFLAGS+= -Wno-unknown-warning-option |
39 |
|
EXCLUDE= dejagnu expect sim texinfo intl |
40 |
|
EXTRACT_AFTER_ARGS= ${EXCLUDE:S/^/--exclude /} |
41 |
< |
VER= ${PORTVERSION:S/.//g} |
41 |
> |
EXTRA_PATCHES= ${FILESDIR}/commit-8aa0243d54 |
42 |
> |
LIB_DEPENDS+= libexpat.so:textproc/expat2 |
43 |
> |
|
44 |
> |
VER= ${PORTVERSION:S/.//g} |
45 |
|
PLIST_SUB= VER=${VER} |
46 |
|
|
47 |
< |
OPTIONS_DEFINE= DEBUG EXPAT PYTHON THREADS TUI GDB_LINK |
48 |
< |
OPTIONS_SINGLE_READLINE= BASE_READLINE BUNDLED_READLINE PORT_READLINE |
49 |
< |
OPTIONS_SINGLE= READLINE |
50 |
< |
BASE_READLINE_DESC= from base system(EXPERIMENTAL) |
47 |
> |
OPTIONS_DEFINE= DEBUG GDB_LINK GUILE KGDB PYTHON TUI |
48 |
> |
|
49 |
> |
OPTIONS_DEFAULT= GDB_LINK KGDB PYTHON TUI PORT_READLINE PORT_ICONV SYSTEM_ZLIB |
50 |
> |
|
51 |
> |
OPTIONS_SINGLE= READLINE ICONV ZLIB |
52 |
> |
OPTIONS_SINGLE_READLINE= BUNDLED_READLINE PORT_READLINE |
53 |
> |
OPTIONS_SINGLE_ICONV= PORT_ICONV SYSTEM_ICONV |
54 |
> |
OPTIONS_SINGLE_ZLIB= BUNDLED_ZLIB SYSTEM_ZLIB |
55 |
> |
|
56 |
> |
GDB_LINK_DESC= Create ${PREFIX}/bin/gdb symlink |
57 |
> |
KGDB_DESC= Kernel Debugging Support |
58 |
|
BUNDLED_READLINE_DESC= from gdb distfile |
59 |
+ |
BUNDLED_ZLIB_DESC= from gdb distfile |
60 |
|
PORT_READLINE_DESC= from devel/readline port |
61 |
< |
GDB_LINK_DESC= Create the gdb link |
62 |
< |
TUI_DESC= Text User Interface enabled |
63 |
< |
OPTIONS_DEFAULT= THREADS TUI GDB_LINK PORT_READLINE |
61 |
> |
PORT_ICONV_DESC= use libiconv, with wider charset support |
62 |
> |
SYSTEM_ICONV_DESC= use libc iconv, with no wchar support |
63 |
> |
SYSTEM_ZLIB_DESC= use system zlib |
64 |
> |
TUI_DESC= Text User Interface enabled |
65 |
|
|
66 |
< |
.include <bsd.mport.options.mk> |
66 |
> |
OPTIONS_SUB= yes |
67 |
|
|
68 |
< |
.if ${PORT_OPTIONS:MGDB_LINK} |
69 |
< |
PLIST_SUB+= GDB_LINK="" |
70 |
< |
.else |
71 |
< |
PLIST_SUB+= GDB_LINK="@comment " |
72 |
< |
.endif |
68 |
> |
BUNDLED_READLINE_CONFIGURE_OFF= --with-system-readline |
69 |
> |
DEBUG_CFLAGS= -g |
70 |
> |
GUILE_CONFIGURE_WITH= guile |
71 |
> |
GUILE_USES= pkgconfig |
72 |
> |
GUILE_LIB_DEPENDS= libguile-2.0.so:lang/guile2 |
73 |
> |
PORT_READLINE_USES= readline:port |
74 |
> |
PORT_ICONV_USES= iconv:wchar_t |
75 |
> |
PYTHON_CONFIGURE_ON= --with-python=${PYTHON_CMD} |
76 |
> |
PYTHON_CONFIGURE_OFF= --without-python |
77 |
> |
PYTHON_USES= python |
78 |
> |
SYSTEM_ICONV_USES= iconv |
79 |
> |
SYSTEM_ZLIB_WITH= system-zlib |
80 |
> |
TUI_CONFIGURE_ENABLE= tui |
81 |
|
|
82 |
< |
.if ${PORT_OPTIONS:MTUI} |
50 |
< |
CONFIGURE_ARGS+= --enable-tui |
51 |
< |
PLIST_SUB+= TUI_LINK="" |
52 |
< |
.else |
53 |
< |
CONFIGURE_ARGS+= --disable-tui |
54 |
< |
PLIST_SUB+= TUI_LINK="@comment " |
55 |
< |
.endif |
82 |
> |
.include <bsd.port.pre.mk> |
83 |
|
|
84 |
< |
.if empty(PORT_OPTIONS:MBUNDLED_READLINE) |
84 |
> |
.if ! ${PORT_OPTIONS:MBUNDLED_READLINE} |
85 |
|
EXCLUDE+= readline |
59 |
– |
CONFIGURE_ARGS+= --with-system-readline |
86 |
|
.endif |
87 |
|
|
88 |
< |
.if ${PORT_OPTIONS:MBASE_READLINE} |
89 |
< |
CFLAGS+= -D_rl_echoing_p=readline_echoing_p |
64 |
< |
USES+= readline |
88 |
> |
.if ! ${PORT_OPTIONS:MBUNDLED_ZLIB} |
89 |
> |
EXCLUDE+= zlib |
90 |
|
.endif |
91 |
|
|
92 |
< |
.if ${PORT_OPTIONS:MPORT_READLINE} |
93 |
< |
USES+= readline:port |
92 |
> |
.if ${ARCH} == "amd64" |
93 |
> |
CONFIGURE_TARGET= x86_64-portbld-freebsd10.4 |
94 |
|
.endif |
95 |
|
|
96 |
< |
.if ${PORT_OPTIONS:MPYTHON} |
97 |
< |
USE_PYTHON= 2.5-2.7 |
73 |
< |
CONFIGURE_ARGS+= --with-python=${PYTHON_CMD} |
74 |
< |
PLIST_SUB+= PYTHON="" |
75 |
< |
.else |
76 |
< |
CONFIGURE_ARGS+= --without-python |
77 |
< |
PLIST_SUB+= PYTHON="@comment " |
96 |
> |
.if ${COMPILER_TYPE} == "clang" |
97 |
> |
CFLAGS+= -Wno-extended-offsetof |
98 |
|
.endif |
99 |
|
|
100 |
< |
.include <bsd.port.pre.mk> |
100 |
> |
post-patch: |
101 |
> |
@${REINPLACE_CMD} -e 's|$$| [GDB v${PORTVERSION} for MidnightBSD]|' \ |
102 |
> |
${WRKSRC}/gdb/version.in |
103 |
|
|
104 |
< |
.if ${PORT_OPTIONS:MTHREADS} |
105 |
< |
EXTRA_PATCHES= ${FILESDIR}/extrapatch-gdb-configure.tgt ${FILESDIR}/extrapatch-gdb-Makefile.in |
106 |
< |
.endif |
104 |
> |
post-patch-KGDB-on: |
105 |
> |
@${CP} -r ${FILESDIR}/kgdb/*.[ch] ${WRKSRC}/gdb/ |
106 |
> |
@${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} < ${FILESDIR}/extrapatch-kgdb |
107 |
|
|
108 |
< |
.if ${PORT_OPTIONS:MDEBUG} |
109 |
< |
CFLAGS+= -g |
110 |
< |
.endif |
108 |
> |
do-install: |
109 |
> |
${INSTALL_PROGRAM} ${WRKSRC}/gdb/gdb \ |
110 |
> |
${STAGEDIR}${PREFIX}/bin/gdb${VER} |
111 |
> |
${INSTALL_MAN} ${WRKSRC}/gdb/doc/gdb.1 \ |
112 |
> |
${STAGEDIR}${MAN1PREFIX}/man/man1/gdb${VER}.1 |
113 |
> |
(cd ${WRKSRC}/gdb/data-directory ; \ |
114 |
> |
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${FAKE_MAKEARGS} install-syscalls ) |
115 |
|
|
116 |
< |
.if ${PORT_OPTIONS:MEXPAT} |
117 |
< |
LIB_DEPENDS+= expat:${PORTSDIR}/textproc/expat2 |
118 |
< |
CONFIGURE_ARGS+= --with-expat=yes |
119 |
< |
.else |
120 |
< |
CONFIGURE_ARGS+= --without-expat |
95 |
< |
.endif |
116 |
> |
do-install-KGDB-on: |
117 |
> |
${INSTALL_PROGRAM} ${WRKSRC}/gdb/kgdb \ |
118 |
> |
${FAKE_DESTDIR}${PREFIX}/bin/kgdb${VER} |
119 |
> |
${INSTALL_MAN} ${FILESDIR}/kgdb/kgdb.1 \ |
120 |
> |
${FAKE_DESTDIR}${MAN1PREFIX}/man/man1/kgdb${VER}.1 |
121 |
|
|
122 |
< |
.if ${ARCH} == "amd64" |
123 |
< |
CONFIGURE_TARGET= x86_64-portbld-freebsd9.1 |
99 |
< |
.endif |
122 |
> |
do-install-TUI-on: |
123 |
> |
${LN} -sf gdb${VER} ${FAKE_DESTDIR}${PREFIX}/bin/gdbtui${VER} |
124 |
|
|
125 |
< |
post-patch: |
126 |
< |
@${REINPLACE_CMD} -e 's/$$/ [GDB v${PORTVERSION} for FreeBSD]/' \ |
127 |
< |
${WRKSRC}/gdb/version.in |
128 |
< |
.if ${PORT_OPTIONS:MTHREADS} |
105 |
< |
@${CP} ${FILESDIR}/fbsd-threads.c ${WRKSRC}/gdb/ |
125 |
> |
do-install-GDB_LINK-on: |
126 |
> |
${LN} -sf gdb${VER} ${FAKE_DESTDIR}${PREFIX}/bin/gdb |
127 |
> |
.if ${PORT_OPTIONS:MKGDB} |
128 |
> |
${LN} -sf kgdb${VER} ${FAKE_DESTDIR}${PREFIX}/bin/kgdb |
129 |
|
.endif |
130 |
|
|
131 |
< |
do-install: |
132 |
< |
${INSTALL_PROGRAM} ${WRKSRC}/gdb/gdb ${PREFIX}/bin/gdb${VER} |
133 |
< |
${INSTALL_MAN} ${WRKSRC}/gdb/gdb.1 ${MAN1PREFIX}/man/man1/gdb${VER}.1 |
134 |
< |
.if ${PORT_OPTIONS:MTUI} |
135 |
< |
${LN} -sf ${PREFIX}/bin/gdb${VER} ${PREFIX}/bin/gdbtui${VER} |
136 |
< |
.endif |
137 |
< |
.if ${PORT_OPTIONS:MGDB_LINK} |
115 |
< |
${LN} -sf gdb${VER} ${PREFIX}/bin/gdb |
116 |
< |
.endif |
117 |
< |
.if ${PORT_OPTIONS:MPYTHON} |
118 |
< |
(cd ${WRKSRC}/gdb; ${GMAKE} install-python ) |
119 |
< |
(cd ${WRKSRC}/gdb/data-directory; ${GMAKE} install-python ) |
120 |
< |
.endif |
131 |
> |
do-install-PYTHON-on: |
132 |
> |
(cd ${WRKSRC}/gdb; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${FAKE_MAKEARGS} install-python ) |
133 |
> |
(cd ${WRKSRC}/gdb/data-directory ; \ |
134 |
> |
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${FAKE_MAKEARGS} install-python ) |
135 |
> |
. for f in gdb gdb/command gdb/function gdb/printer |
136 |
> |
@(cd ${STAGEDIR}${PREFIX}/share/gdb${VER}/python/${f} ; ${CHMOD} 644 *.py* ) |
137 |
> |
. endfor |
138 |
|
|
139 |
< |
post-install: |
140 |
< |
.if ${PORT_OPTIONS:MPYTHON} |
141 |
< |
${CHMOD} u+w ${PREFIX}/share/gdb${VER}/python/gdb/*.py* |
142 |
< |
${CHMOD} u+w ${PREFIX}/share/gdb${VER}/python/gdb/command/*.py* |
126 |
< |
.endif |
139 |
> |
do-install-GUILE-on: |
140 |
> |
(cd ${WRKSRC}/gdb; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${FAKE_MAKEARGS} install-guile ) |
141 |
> |
(cd ${WRKSRC}/gdb/data-directory ; \ |
142 |
> |
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${FAKE_MAKEARGS} install-guile ) |
143 |
|
|
144 |
|
.include <bsd.port.post.mk> |