pkgsrc/devel/binutils/Makefile
ryoon 1b809da856 Update to 2.26
Changelog:
Changes in 2.26:

* Add option to objcopy to insert new symbols into a file:
  --add-symbol <name>=[<section>:]<value>[,<flags>]

* Add support for the ARC EM/HS, and ARC600/700 architectures.

* Extend objcopy --compress-debug-sections option to support
  --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF
  targets.

* Add --update-section option to objcopy.

* Add --output-separator option to strings.
2016-01-30 22:15:11 +00:00

131 lines
3.3 KiB
Makefile

# $NetBSD: Makefile,v 1.71 2016/01/30 22:15:11 ryoon Exp $
DISTNAME= binutils-2.26
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNU:=binutils/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://directory.fsf.org/project/binutils/
COMMENT= GNU binary utilities
LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
EXTRACT_SUFX= .tar.bz2
# bfd.h used without depending on it
MAKE_JOBS_SAFE= no
CONFLICTS= avr-binutils<2.13.2.1nb1
USE_PKGLOCALEDIR= yes
REPLACE_LOCALEDIR_PATTERNS+= Make-in
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= gmake
# PR pkg/48504, ksh is sufficient for NetBSD 5.2 and NetBSD 6.1
.include "../../mk/bsd.prefs.mk"
.if !empty(MACHINE_PLATFORM:MNetBSD-[5-6].*-*) && \
empty(MACHINE_PLATFORM:MNetBSD-6.99.*-*)
USE_TOOLS+= ksh
CONFIG_SHELL= ksh
.endif
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-lib-path='/lib:/usr/lib'
CONFIGURE_ARGS+= --program-prefix=g
BINUTILS_PREFIX= ${PREFIX}/${MACHINE_GNU_PLATFORM}
PLIST_SRC= ${PKGDIR}/PLIST.common
PLIST_SRC+= ${WRKDIR}/PLIST_DYNAMIC
INFO_FILES= yes
INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1
# gprof (XXX: and others?) cannot be built on all platforms
#
PLIST_VARS+= gprof ld gold SunOS
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} != IRIX
PLIST.gprof= yes
EXTRA_FILES+= gprof
.endif
.if ${OPSYS} != SunOS
PLIST.ld= yes
EXTRA_FILES+= ld
.endif
.if ${OPSYS} == SunOS
PLIST.SunOS= yes
.endif
.if ${OPSYS} == DragonFly \
|| (${OPSYS} == FreeBSD && empty(OS_VERSION:M[12345678].*)) \
|| (${OPSYS} == OpenBSD && empty(OS_VERSION:M[1234].*)) \
|| (${OPSYS} == NetBSD && empty(OS_VERSION:M[12345].*))
BUILD_GOLD= yes
PLIST.gold= yes
USE_TOOLS+= bison
EXTRA_FILES+= dwp ld.gold
CONFIGURE_ARGS+=--enable-gold --enable-plugins
.endif
CFLAGS.OpenBSD+= -Wno-bounded
.include "../../mk/compiler.mk"
.if !empty(PKGSRC_COMPILER:Mclang)
CFLAGS+= -Wno-unused-value -Wno-format-security \
-Wno-uninitialized -Wno-format -Wno-string-plus-int \
-Wno-empty-body -Wno-self-assign -Wno-unused-function \
-Wno-error=unused-const-variable
.endif
# Issue is fixed in upstream binutils, remove this when upgraded past 2.24
.if !empty(CC_VERSION:Mgcc-4.9.*)
CONFIGURE_ARGS+= --disable-werror
.endif
# Prevent the need to run texi2pod.pl and pod2man which would
# require perl as a build dependency.
post-configure:
.for f in ld/ldver.texi ld/ld.1 gas/doc/gasver.texi gas/doc/as.1
set -e; \
if [ -f ${WRKSRC}/${f} ]; then \
${TOUCH} ${WRKSRC}/${f}; \
fi
.endfor
SYMLINK_FILES = addr2line ar as c++filt dlltool elfedit ld.bfd \
nlmconv nm objcopy objdump ranlib readelf size strings \
strip windmc windres
.if defined(PLIST.gprof)
SYMLINK_FILES+= gprof
.endif
.if defined(PLIST.ld)
SYMLINK_FILES+= ld
.endif
.if defined(BUILD_GOLD)
SYMLINK_FILES+= ld.gold dwp
.endif
post-install:
cd ${DESTDIR}${PREFIX} && \
find ${MACHINE_GNU_PLATFORM}/lib/ldscripts -type f -print \
| sort -r \
> ${WRKDIR}/PLIST_DYNAMIC
.for f in ${SYMLINK_FILES}
set -e; \
if [ -f ${DESTDIR}${PREFIX}/bin/g${f:Q} ]; then \
${LN} -sf ${PREFIX}/bin/g${f} ${DESTDIR}${PREFIX}/${PKGGNUDIR}bin/${f}; \
fi
if [ -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/g${f:Q}.1 ]; then \
${LN} -sf ${PREFIX}/${PKGMANDIR}/man1/g${f}.1 \
${DESTDIR}${PREFIX}/${PKGGNUDIR}${PKGMANDIR}/man1/${f}.1; \
fi
.endfor
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"