summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/Makefile1
-rw-r--r--devel/cross-binutils/Makefile125
-rw-r--r--devel/cross-binutils/distinfo6
-rw-r--r--devel/cross-binutils/pkg-descr14
4 files changed, 146 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 375d6f1608df..f94ab6ac3054 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -178,6 +178,7 @@
SUBDIR += cppi
SUBDIR += cppunit
SUBDIR += cproto
+ SUBDIR += cross-binutils
SUBDIR += crow
SUBDIR += cscope
SUBDIR += cscout
diff --git a/devel/cross-binutils/Makefile b/devel/cross-binutils/Makefile
new file mode 100644
index 000000000000..f53498e95fce
--- /dev/null
+++ b/devel/cross-binutils/Makefile
@@ -0,0 +1,125 @@
+# New ports collection makefile for: cross-binutils
+# Date created: 8 August 2006
+# Whom: Stanislav Sedov <stas@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= binutils
+PORTVERSION= 2.17
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_SOURCEWARE}
+MASTER_SITE_SUBDIR= binutils/releases
+PKGNAMEPREFIX= ${TGTARCH}-${TGTABI}-
+
+PATCH_SITES= ftp://ftp.rtems.com/pub/rtems/SOURCES/
+PATCH_DIST_STRIP= -p1
+
+MAINTAINER= stas@FreeBSD.org
+COMMENT= FSF binutils port for cross-target development
+
+USE_BZIP2= yes
+USE_GMAKE= yes
+GNU_CONFIGURE= yes
+ALL_TARGET= all info
+
+CONFIGURE_TARGET= --target=${OURTARGET}
+CONFIGURE_ARGS+= --disable-nls \
+ --with-system-zlib \
+
+OURTARGET= ${TGTARCH}-${TGTABI}
+
+MAN1= ${OURTARGET}-addr2line.1 \
+ ${OURTARGET}-ar.1 \
+ ${OURTARGET}-as.1 \
+ ${OURTARGET}-c++filt.1 \
+ ${OURTARGET}-dlltool.1 \
+ ${OURTARGET}-ld.1 \
+ ${OURTARGET}-nlmconv.1 \
+ ${OURTARGET}-nm.1 \
+ ${OURTARGET}-objcopy.1 \
+ ${OURTARGET}-objdump.1 \
+ ${OURTARGET}-ranlib.1 \
+ ${OURTARGET}-readelf.1 \
+ ${OURTARGET}-size.1 \
+ ${OURTARGET}-strings.1 \
+ ${OURTARGET}-strip.1 \
+ ${OURTARGET}-windres.1
+
+INFO= ${OURTARGET}-as \
+ ${OURTARGET}-bfd \
+ ${OURTARGET}-binutils \
+ ${OURTARGET}-ld
+
+PLIST_FILES= bin/${OURTARGET}-addr2line \
+ bin/${OURTARGET}-ar \
+ bin/${OURTARGET}-as \
+ bin/${OURTARGET}-c++filt \
+ bin/${OURTARGET}-ld \
+ bin/${OURTARGET}-nm \
+ bin/${OURTARGET}-objcopy \
+ bin/${OURTARGET}-objdump \
+ bin/${OURTARGET}-ranlib \
+ bin/${OURTARGET}-readelf \
+ bin/${OURTARGET}-size \
+ bin/${OURTARGET}-strings \
+ bin/${OURTARGET}-strip
+
+.if defined(WITH_RTEMS_PATCHES)
+PATCHFILES+= ${PORTNAME}-${PORTVERSION}-rtems4.8-20061021.diff
+.endif
+
+.if !defined(TGTARCH) || !defined(TGTABI)
+PKGNAMEPREFIX= #empty
+IGNORE= you should select ARCH and ABI to build port
+.endif
+
+#
+# Macro to fix up info referencies
+#
+FIXREFS= ${SH} -c '${REINPLACE_CMD} -E \
+ -e "s,$$0\.(texi|info),${OURTARGET}-$$0.\1,g" \
+ -e "s,(@file)\{$$0\},\1\{${OURTARGET}-$$0\},g" \
+ -e "s,\($$0\),\(${OURTARGET}-$$0\),g" $$*' --
+
+post-patch:
+#
+# Patch and rename info files
+#
+ @${FIXREFS} as ${WRKSRC}/gas/doc/as.texinfo \
+ ${WRKSRC}/gas/doc/Makefile.in
+ @${FIXREFS} bfd ${WRKSRC}/bfd/doc/bfd.texinfo \
+ ${WRKSRC}/bfd/doc/Makefile.in
+ @${FIXREFS} binutils ${WRKSRC}/binutils/doc/binutils.texi \
+ ${WRKSRC}/binutils/doc/Makefile.in
+ @${FIXREFS} ld ${WRKSRC}/ld/ld.texinfo \
+ ${WRKSRC}/ld/Makefile.in
+
+ @${MV} ${WRKSRC}/gas/doc/as.texinfo \
+ ${WRKSRC}/gas/doc/${OURTARGET}-as.texinfo
+ @${MV} ${WRKSRC}/bfd/doc/bfd.texinfo \
+ ${WRKSRC}/bfd/doc/${OURTARGET}-bfd.texinfo
+ @${MV} ${WRKSRC}/binutils/doc/binutils.texi \
+ ${WRKSRC}/binutils/doc/${OURTARGET}-binutils.texi
+ @${MV} ${WRKSRC}/ld/ld.texinfo \
+ ${WRKSRC}/ld/${OURTARGET}-ld.texinfo
+
+#
+# Disable install target in some directories
+#
+ @${REINPLACE_CMD} -E -e 's,^(install:).*,\1,' \
+ ${WRKSRC}/etc/Makefile.in \
+ ${WRKSRC}/libiberty/Makefile.in \
+ ${WRKSRC}/opcodes/Makefile.in
+
+post-install:
+#
+# Add some plist items (we don't list them directly, since the set vary
+# accross different targets
+#
+ @${FIND} -ds ${PREFIX}/${OURTARGET} ! -type d | \
+ ${SED} -e 's,^${PREFIX}/,,' >> ${TMPPLIST}
+ @${FIND} -ds ${PREFIX}/${OURTARGET} -type d | \
+ ${SED} -e 's,^${PREFIX}/,@dirrm ,' >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/devel/cross-binutils/distinfo b/devel/cross-binutils/distinfo
new file mode 100644
index 000000000000..fe4190553799
--- /dev/null
+++ b/devel/cross-binutils/distinfo
@@ -0,0 +1,6 @@
+MD5 (binutils-2.17.tar.bz2) = e26e2e06b6e4bf3acf1dc8688a94c0d1
+SHA256 (binutils-2.17.tar.bz2) = e2c33ce6f23c9a366f109ced295626cb2f8bd6b2f08ff9df6dafb5448505a25e
+SIZE (binutils-2.17.tar.bz2) = 13795751
+MD5 (binutils-2.17-rtems4.8-20061021.diff) = 6af727af3c4fedf859712f9adc59c4fd
+SHA256 (binutils-2.17-rtems4.8-20061021.diff) = 9e941aed8af46b1a851660d47fb626a9381b5e940649eb0dc18b053a4ef4ff8f
+SIZE (binutils-2.17-rtems4.8-20061021.diff) = 19833
diff --git a/devel/cross-binutils/pkg-descr b/devel/cross-binutils/pkg-descr
new file mode 100644
index 000000000000..a926173b3229
--- /dev/null
+++ b/devel/cross-binutils/pkg-descr
@@ -0,0 +1,14 @@
+GNU binutils for cross-target application development.
+
+Prerequisite for the GCC cross-compiling enviropment.
+
+Use TGTARCH switch to select target architecture, and TGTABI to select ABI.
+E.g. the following command will build binutils for rtems on sparc:
+% make TGTARCH=sparc TGTABI=rtems
+
+If you encounter any problems building/using/installing this port, please
+make me know. It would help to improve this port in feature.
+
+-- Stanislav Sedov <stas@FreeBSD.org>
+
+WWW: http://sources.redhat.com/binutils/