svn commit: r411615 - in head: devel/binutils devel/cloudabi-binutils-aarch64 devel/cloudabi-binutils-x86_64 lang/cloudabi-clang
Ed Schouten
ed at FreeBSD.org
Mon Mar 21 19:32:24 UTC 2016
Author: ed (src committer)
Date: Mon Mar 21 19:32:23 2016
New Revision: 411615
URL: https://svnweb.freebsd.org/changeset/ports/411615
Log:
Extend the Binutils ports to allow deletion of specific tools.
For CloudABI I slowly want to switch away from certain tools provided by
Binutils. For example, it would be really nice if we could switch from
GNU ld to LLD some time in the future. LLD is not ready yet. Some bug
fixes didn't manage to land into 3.8 and it doesn't support aarch64
properly. There are already some tools that we can use, such as nm,
objdump, size, ar and ranlib.
Introduce a BUREMOVE variable that can be set in Binutils slave ports to
remove specific utilities that are installed by default. There doesn't
seem to be any other elegant way to solve this. Set a bunch of utilities
by default and then extend cloudabi-clang to set up symlinks to the LLVM
versions of the tools.
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D5684
Modified:
head/devel/binutils/Makefile
head/devel/cloudabi-binutils-aarch64/Makefile
head/devel/cloudabi-binutils-aarch64/pkg-plist
head/devel/cloudabi-binutils-x86_64/Makefile
head/devel/cloudabi-binutils-x86_64/pkg-plist
head/lang/cloudabi-clang/Makefile
Modified: head/devel/binutils/Makefile
==============================================================================
--- head/devel/binutils/Makefile Mon Mar 21 19:06:18 2016 (r411614)
+++ head/devel/binutils/Makefile Mon Mar 21 19:32:23 2016 (r411615)
@@ -4,7 +4,7 @@
PORTNAME= binutils
PORTVERSION= 2.25.1
PORTEPOCH= 1
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= devel
MASTER_SITES= SOURCEWARE/binutils/releases
@@ -82,5 +82,10 @@ post-install:
.endif
${LN} -fs ../../bin/${BUTARGET}-size ${STAGEDIR}${PREFIX}/${BUTARGET}/bin/size
.endif
+.for tool in ${BUREMOVE}
+ @${RM} -f ${STAGEDIR}${PREFIX}/bin/${BUTARGET}-${tool} \
+ ${STAGEDIR}${PREFIX}/man/man1/${BUTARGET}-${tool}.1 \
+ ${STAGEDIR}${PREFIX}/${BUTARGET}/bin/${tool}
+.endfor
.include <bsd.port.post.mk>
Modified: head/devel/cloudabi-binutils-aarch64/Makefile
==============================================================================
--- head/devel/cloudabi-binutils-aarch64/Makefile Mon Mar 21 19:06:18 2016 (r411614)
+++ head/devel/cloudabi-binutils-aarch64/Makefile Mon Mar 21 19:32:23 2016 (r411615)
@@ -12,5 +12,6 @@ PATCHDIR= ${.CURDIR}/files
PLIST= ${.CURDIR}/pkg-plist
BUTARGET= aarch64-unknown-cloudabi
+BUREMOVE= ar dlltool nlmconv nm objdump ranlib size windmc windres
.include "${MASTERDIR}/Makefile"
Modified: head/devel/cloudabi-binutils-aarch64/pkg-plist
==============================================================================
--- head/devel/cloudabi-binutils-aarch64/pkg-plist Mon Mar 21 19:06:18 2016 (r411614)
+++ head/devel/cloudabi-binutils-aarch64/pkg-plist Mon Mar 21 19:32:23 2016 (r411615)
@@ -1,38 +1,24 @@
bin/aarch64-unknown-cloudabi-addr2line
-bin/aarch64-unknown-cloudabi-ar
bin/aarch64-unknown-cloudabi-as
bin/aarch64-unknown-cloudabi-c++filt
bin/aarch64-unknown-cloudabi-elfedit
bin/aarch64-unknown-cloudabi-gprof
bin/aarch64-unknown-cloudabi-ld
bin/aarch64-unknown-cloudabi-ld.bfd
-bin/aarch64-unknown-cloudabi-nm
bin/aarch64-unknown-cloudabi-objcopy
-bin/aarch64-unknown-cloudabi-objdump
-bin/aarch64-unknown-cloudabi-ranlib
bin/aarch64-unknown-cloudabi-readelf
-bin/aarch64-unknown-cloudabi-size
bin/aarch64-unknown-cloudabi-strings
bin/aarch64-unknown-cloudabi-strip
man/man1/aarch64-unknown-cloudabi-addr2line.1.gz
-man/man1/aarch64-unknown-cloudabi-ar.1.gz
man/man1/aarch64-unknown-cloudabi-as.1.gz
man/man1/aarch64-unknown-cloudabi-c++filt.1.gz
-man/man1/aarch64-unknown-cloudabi-dlltool.1.gz
man/man1/aarch64-unknown-cloudabi-elfedit.1.gz
man/man1/aarch64-unknown-cloudabi-gprof.1.gz
man/man1/aarch64-unknown-cloudabi-ld.1.gz
-man/man1/aarch64-unknown-cloudabi-nlmconv.1.gz
-man/man1/aarch64-unknown-cloudabi-nm.1.gz
man/man1/aarch64-unknown-cloudabi-objcopy.1.gz
-man/man1/aarch64-unknown-cloudabi-objdump.1.gz
-man/man1/aarch64-unknown-cloudabi-ranlib.1.gz
man/man1/aarch64-unknown-cloudabi-readelf.1.gz
-man/man1/aarch64-unknown-cloudabi-size.1.gz
man/man1/aarch64-unknown-cloudabi-strings.1.gz
man/man1/aarch64-unknown-cloudabi-strip.1.gz
-man/man1/aarch64-unknown-cloudabi-windmc.1.gz
-man/man1/aarch64-unknown-cloudabi-windres.1.gz
aarch64-unknown-cloudabi/lib/ldscripts/aarch64cloudabi.x
aarch64-unknown-cloudabi/lib/ldscripts/aarch64cloudabi.xbn
aarch64-unknown-cloudabi/lib/ldscripts/aarch64cloudabi.xc
@@ -59,13 +45,8 @@ aarch64-unknown-cloudabi/lib/ldscripts/a
aarch64-unknown-cloudabi/lib/ldscripts/aarch64cloudabib.xsw
aarch64-unknown-cloudabi/lib/ldscripts/aarch64cloudabib.xu
aarch64-unknown-cloudabi/lib/ldscripts/aarch64cloudabib.xw
-aarch64-unknown-cloudabi/bin/ar
aarch64-unknown-cloudabi/bin/as
aarch64-unknown-cloudabi/bin/ld
aarch64-unknown-cloudabi/bin/ld.bfd
-aarch64-unknown-cloudabi/bin/nm
aarch64-unknown-cloudabi/bin/objcopy
-aarch64-unknown-cloudabi/bin/objdump
-aarch64-unknown-cloudabi/bin/ranlib
-aarch64-unknown-cloudabi/bin/size
aarch64-unknown-cloudabi/bin/strip
Modified: head/devel/cloudabi-binutils-x86_64/Makefile
==============================================================================
--- head/devel/cloudabi-binutils-x86_64/Makefile Mon Mar 21 19:06:18 2016 (r411614)
+++ head/devel/cloudabi-binutils-x86_64/Makefile Mon Mar 21 19:32:23 2016 (r411615)
@@ -12,5 +12,6 @@ PATCHDIR= ${.CURDIR}/files
PLIST= ${.CURDIR}/pkg-plist
BUTARGET= x86_64-unknown-cloudabi
+BUREMOVE= ar dlltool nlmconv nm objdump ranlib size windmc windres
.include "${MASTERDIR}/Makefile"
Modified: head/devel/cloudabi-binutils-x86_64/pkg-plist
==============================================================================
--- head/devel/cloudabi-binutils-x86_64/pkg-plist Mon Mar 21 19:06:18 2016 (r411614)
+++ head/devel/cloudabi-binutils-x86_64/pkg-plist Mon Mar 21 19:32:23 2016 (r411615)
@@ -1,38 +1,24 @@
bin/x86_64-unknown-cloudabi-addr2line
-bin/x86_64-unknown-cloudabi-ar
bin/x86_64-unknown-cloudabi-as
bin/x86_64-unknown-cloudabi-c++filt
bin/x86_64-unknown-cloudabi-elfedit
bin/x86_64-unknown-cloudabi-gprof
bin/x86_64-unknown-cloudabi-ld
bin/x86_64-unknown-cloudabi-ld.bfd
-bin/x86_64-unknown-cloudabi-nm
bin/x86_64-unknown-cloudabi-objcopy
-bin/x86_64-unknown-cloudabi-objdump
-bin/x86_64-unknown-cloudabi-ranlib
bin/x86_64-unknown-cloudabi-readelf
-bin/x86_64-unknown-cloudabi-size
bin/x86_64-unknown-cloudabi-strings
bin/x86_64-unknown-cloudabi-strip
man/man1/x86_64-unknown-cloudabi-addr2line.1.gz
-man/man1/x86_64-unknown-cloudabi-ar.1.gz
man/man1/x86_64-unknown-cloudabi-as.1.gz
man/man1/x86_64-unknown-cloudabi-c++filt.1.gz
-man/man1/x86_64-unknown-cloudabi-dlltool.1.gz
man/man1/x86_64-unknown-cloudabi-elfedit.1.gz
man/man1/x86_64-unknown-cloudabi-gprof.1.gz
man/man1/x86_64-unknown-cloudabi-ld.1.gz
-man/man1/x86_64-unknown-cloudabi-nlmconv.1.gz
-man/man1/x86_64-unknown-cloudabi-nm.1.gz
man/man1/x86_64-unknown-cloudabi-objcopy.1.gz
-man/man1/x86_64-unknown-cloudabi-objdump.1.gz
-man/man1/x86_64-unknown-cloudabi-ranlib.1.gz
man/man1/x86_64-unknown-cloudabi-readelf.1.gz
-man/man1/x86_64-unknown-cloudabi-size.1.gz
man/man1/x86_64-unknown-cloudabi-strings.1.gz
man/man1/x86_64-unknown-cloudabi-strip.1.gz
-man/man1/x86_64-unknown-cloudabi-windmc.1.gz
-man/man1/x86_64-unknown-cloudabi-windres.1.gz
x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.x
x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xbn
x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xc
@@ -46,13 +32,8 @@ x86_64-unknown-cloudabi/lib/ldscripts/el
x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xsw
x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xu
x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xw
-x86_64-unknown-cloudabi/bin/ar
x86_64-unknown-cloudabi/bin/as
x86_64-unknown-cloudabi/bin/ld
x86_64-unknown-cloudabi/bin/ld.bfd
-x86_64-unknown-cloudabi/bin/nm
x86_64-unknown-cloudabi/bin/objcopy
-x86_64-unknown-cloudabi/bin/objdump
-x86_64-unknown-cloudabi/bin/ranlib
-x86_64-unknown-cloudabi/bin/size
x86_64-unknown-cloudabi/bin/strip
Modified: head/lang/cloudabi-clang/Makefile
==============================================================================
--- head/lang/cloudabi-clang/Makefile Mon Mar 21 19:06:18 2016 (r411614)
+++ head/lang/cloudabi-clang/Makefile Mon Mar 21 19:32:23 2016 (r411615)
@@ -3,6 +3,7 @@
PORTNAME= cloudabi-clang
PORTVERSION= 3.8
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= # None
DISTFILES= # None
@@ -23,16 +24,28 @@ NO_BUILD= yes
CLOUDABI_ARCHS= aarch64-unknown-cloudabi x86_64-unknown-cloudabi
.for arch in ${CLOUDABI_ARCHS}
-PLIST_FILES+= bin/${arch}-cc bin/${arch}-c++ llvm${LLVM_SUFFIX}/${arch}
+PLIST_FILES+= bin/${arch}-ar bin/${arch}-cc bin/${arch}-c++ bin/${arch}-nm \
+ bin/${arch}-objdump bin/${arch}-ranlib bin/${arch}-size \
+ llvm${LLVM_SUFFIX}/${arch}
.endfor
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}
.for arch in ${CLOUDABI_ARCHS}
+ @${LN} -s ../llvm${LLVM_SUFFIX}/bin/llvm-ar \
+ ${STAGEDIR}${PREFIX}/bin/${arch}-ar
@${LN} -s ../llvm${LLVM_SUFFIX}/bin/clang \
${STAGEDIR}${PREFIX}/bin/${arch}-cc
@${LN} -s ../llvm${LLVM_SUFFIX}/bin/clang++ \
${STAGEDIR}${PREFIX}/bin/${arch}-c++
+ @${LN} -s ../llvm${LLVM_SUFFIX}/bin/llvm-nm \
+ ${STAGEDIR}${PREFIX}/bin/${arch}-nm
+ @${LN} -s ../llvm${LLVM_SUFFIX}/bin/llvm-objdump \
+ ${STAGEDIR}${PREFIX}/bin/${arch}-objdump
+ @${LN} -s ../llvm${LLVM_SUFFIX}/bin/llvm-ranlib \
+ ${STAGEDIR}${PREFIX}/bin/${arch}-ranlib
+ @${LN} -s ../llvm${LLVM_SUFFIX}/bin/llvm-size \
+ ${STAGEDIR}${PREFIX}/bin/${arch}-size
@${LN} -s ../${arch} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/${arch}
.endfor
More information about the svn-ports-all
mailing list