pkgsrc/cross/binutils/Makefile

84 lines
3.7 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.51 2008/02/04 19:52:55 tnn Exp $
#
# GNU binutils configured to hold `as many targets as the cross system is
# capable of using'. Configures and builds everything except gas, which
# gets built at cross-pkg build time (it's target specific).
Update cross-binutils to 2.17.0.0. Changes in 2.17: * Add "-x NAME" to readelf in addition to "-x NUMBER". * Add -i and -t switches to cxxfilt. -i disables the display of implementation specific extra demangling information (if any) and -t disables the demangling of types. * Add support for the "@<file>" syntax to the command lines of all tools, so that extra switches can be read from <file>. * Add "-W/--dwarf" to objdump to display the contents of the DWARF debug sections. * Add "-t/--section-details" to readelf to display section details. "-N/--full-section-name" is deprecated. * powerpc-linux ld now supports a variant form of PLT and GOT for the security conscious. This form will automatically be chosen when ld detects that all code in regular object files was generated by gcc -msecure-plt. The old PLT and GOT may be forced by a new ld option, --bss-plt. * Add "-i/--inlines" to addr2line to print enclosing scope information for inlined function chains, back to first non-inlined function. * Add "-N/--full-section-name" to readelf to display full section name. * Add "-M entry:<addr>" switch to objdump to specify a function entry address when disassembling VAX binaries. * Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches to objcopy to convert local symbols into global symbols. Changes in 2.16: * Add "-g/--section-groups" to readelf to display section groups. * objcopy recognizes two new options --strip-unneeded-symbol and --strip-unneeded-symbols, namely for use together with the wildcard matching the original --strip-symbol/--strip-symbols provided, but retaining any symbols matching but needed by relocations. * readelf can now display address ranges from .debug_range sections. This happens automatically when a DW_AT_range attribute is encountered. The command line switch --debug-dump=Ranges (or -wR) can also be used to display the contents of the .debug_range section. * nm and objdump now have a switch "--special-syms" to enable the displaying of symbols which the target considers to be special. By default these symbols are no longer displayed. Currently the only special symbols are the Mapping symbols used by the ARM port to mark transitions between text and data and between ARM and THUMB code. * dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional import and export symbols with <preifx> prepended to them.
2006-08-24 21:53:44 +02:00
DISTNAME= binutils-2.17
PKGREVISION= 1
Update cross-binutils to 2.17.0.0. Changes in 2.17: * Add "-x NAME" to readelf in addition to "-x NUMBER". * Add -i and -t switches to cxxfilt. -i disables the display of implementation specific extra demangling information (if any) and -t disables the demangling of types. * Add support for the "@<file>" syntax to the command lines of all tools, so that extra switches can be read from <file>. * Add "-W/--dwarf" to objdump to display the contents of the DWARF debug sections. * Add "-t/--section-details" to readelf to display section details. "-N/--full-section-name" is deprecated. * powerpc-linux ld now supports a variant form of PLT and GOT for the security conscious. This form will automatically be chosen when ld detects that all code in regular object files was generated by gcc -msecure-plt. The old PLT and GOT may be forced by a new ld option, --bss-plt. * Add "-i/--inlines" to addr2line to print enclosing scope information for inlined function chains, back to first non-inlined function. * Add "-N/--full-section-name" to readelf to display full section name. * Add "-M entry:<addr>" switch to objdump to specify a function entry address when disassembling VAX binaries. * Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches to objcopy to convert local symbols into global symbols. Changes in 2.16: * Add "-g/--section-groups" to readelf to display section groups. * objcopy recognizes two new options --strip-unneeded-symbol and --strip-unneeded-symbols, namely for use together with the wildcard matching the original --strip-symbol/--strip-symbols provided, but retaining any symbols matching but needed by relocations. * readelf can now display address ranges from .debug_range sections. This happens automatically when a DW_AT_range attribute is encountered. The command line switch --debug-dump=Ranges (or -wR) can also be used to display the contents of the .debug_range section. * nm and objdump now have a switch "--special-syms" to enable the displaying of symbols which the target considers to be special. By default these symbols are no longer displayed. Currently the only special symbols are the Mapping symbols used by the ARM port to mark transitions between text and data and between ARM and THUMB code. * dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional import and export symbols with <preifx> prepended to them.
2006-08-24 21:53:44 +02:00
PKGNAME= cross-binutils-2.17.0.0
CATEGORIES= cross lang
MASTER_SITES= ${MASTER_SITE_GNU:=binutils/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gnu.org/
COMMENT= Unified GNU binutils for cross build environments
USE_CROSSBASE= yes
USE_TOOLS+= gm4 pod2man
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-windres
CONFIGURE_ARGS+= --enable-64-bit-bfd
CONFIGURE_ARGS+= --enable-targets=all
# Ensure that --host is not included as default
CONFIGURE_ARGS+= --target=i386-linux
MAKE_ARGS+= CFLAGS="${CFLAGS}"
BUILD_TARGET= all-binutils all-ld
PLIST_SUBST+= LOCALBASE=${LOCALBASE:Q}
BINDIR= ${PREFIX}/libexec/binutils
# Prevent the need to run texi2pod.pl and pod2man hence
# the need for perl as build dependency.
post-patch:
.for _file_ in ld/ldver.texi ld/ld.1 gas/doc/gasver.texi gas/doc/as.1
if [ -f ${WRKSRC}/${_file_} ]; then \
${TOUCH} ${WRKSRC}/${_file_}; \
fi
.endfor
${RM} -rf ${WRKSRC}/etc ${WRKSRC}/gas
# we use MKDIR, not INSTALL_PROGRAM_DIR, deliberately.
do-install:
${MKDIR} ${BINDIR} ${PREFIX}/lib/ldscripts ${PREFIX}/include
2007-02-15 15:45:40 +01:00
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/addr2line ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/ar ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/coffdump ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/cxxfilt ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/nlmconv ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/nm-new ${BINDIR}/nm
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/objcopy ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/objdump ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/ranlib ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/readelf ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/size ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/srconv ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/strings ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/strip-new ${BINDIR}/strip
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/sysdump ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/sysinfo ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/windres ${BINDIR}
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/ld/ld-new ${BINDIR}/ld
libtool --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/binutils/nlmconv ${BINDIR}
libtool --mode=install ${INSTALL_DATA} ${WRKSRC}/bfd/libbfd.la ${PREFIX}/lib
libtool --mode=install ${INSTALL_DATA} ${WRKSRC}/intl/libintl.a ${PREFIX}/lib
libtool --mode=install ${INSTALL_DATA} ${WRKSRC}/opcodes/libopcodes.la ${PREFIX}/lib
libtool --mode=install ${INSTALL_DATA} ${WRKSRC}/libiberty/libiberty.a ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/include/ansidecl.h ${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/include/symcat.h ${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/bfd/bfd.h ${PREFIX}/include
for f in ${WRKSRC}/ld/ldscripts/*; do ${INSTALL_DATA} $${f} ${PREFIX}/lib/ldscripts; done
${INSTALL_SCRIPT} ${WRKSRC}/cross-env ${BINDIR}
${LN} -s ${BINDIR}/cross-env ${LOCALBASE}/bin/cross-env
post-build:
${SED} -e 's|@@PREFIX@@|${PREFIX}|' < ${FILESDIR}/cross-env > \
${WRKSRC}/cross-env
.include "../../mk/bsd.pkg.mk"