aboutsummaryrefslogtreecommitdiff
path: root/devel/cloudabi-toolchain
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2016-03-21 21:11:11 +0000
committerEd Schouten <ed@FreeBSD.org>2016-03-21 21:11:11 +0000
commit7b0b0ef9bcac7f01557c443bb880c7f42709a3b5 (patch)
treef5026a33f9daab0790cea1e00ec18b78b30830b8 /devel/cloudabi-toolchain
parent8e01003aae86f14b06eafd3a4c568808035f8ecc (diff)
downloadports-7b0b0ef9bcac7f01557c443bb880c7f42709a3b5.tar.gz
ports-7b0b0ef9bcac7f01557c443bb880c7f42709a3b5.zip
Notes
Diffstat (limited to 'devel/cloudabi-toolchain')
-rw-r--r--devel/cloudabi-toolchain/Makefile53
-rw-r--r--devel/cloudabi-toolchain/files/man.in2
-rw-r--r--devel/cloudabi-toolchain/files/pkg-config.in2
3 files changed, 51 insertions, 6 deletions
diff --git a/devel/cloudabi-toolchain/Makefile b/devel/cloudabi-toolchain/Makefile
index 14a3d4378731..5d051a73bc8e 100644
--- a/devel/cloudabi-toolchain/Makefile
+++ b/devel/cloudabi-toolchain/Makefile
@@ -2,18 +2,59 @@
# $FreeBSD$
PORTNAME= cloudabi-toolchain
-PORTVERSION= 1.2
+PORTVERSION= 1.3
CATEGORIES= devel
+MASTER_SITES= # None
+DISTFILES= # None
MAINTAINER= ed@FreeBSD.org
COMMENT= C and C++ toolchain for CloudABI
-USES= metaport
+LICENSE= MIT
-LIBDIR= ${LOCALBASE}/x86_64-unknown-cloudabi/lib
+RUN_DEPENDS= clang${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX} \
+ pkgconf:${PORTSDIR}/devel/pkgconf \
+ aarch64-unknown-cloudabi-ld:${PORTSDIR}/devel/cloudabi-binutils-aarch64 \
+ x86_64-unknown-cloudabi-ld:${PORTSDIR}/devel/cloudabi-binutils-x86_64
-RUN_DEPENDS+= aarch64-unknown-cloudabi-ld:${PORTSDIR}/devel/cloudabi-binutils-aarch64 \
- x86_64-unknown-cloudabi-ld:${PORTSDIR}/devel/cloudabi-binutils-x86_64 \
- x86_64-unknown-cloudabi-cc:${PORTSDIR}/lang/cloudabi-clang
+LLVM_SUFFIX= 38
+
+CLOUDABI_ARCHS= aarch64-unknown-cloudabi x86_64-unknown-cloudabi
+
+LLVM_TOOLS= ar nm objdump ranlib size
+SHELL_TOOLS= man pkg-config
+
+.for arch in ${CLOUDABI_ARCHS}
+. for tool in ${LLVM_TOOLS} ${SHELL_TOOLS}
+PLIST_FILES+= bin/${arch}-${tool}
+. endfor
+PLIST_FILES+= bin/${arch}-cc bin/${arch}-c++ llvm${LLVM_SUFFIX}/${arch}
+.endfor
+
+do-build:
+.for arch in ${CLOUDABI_ARCHS}
+. for tool in ${SHELL_TOOLS}
+ @${SED} -e 's:%%PREFIX%%:${PREFIX}:g' -e 's:%%ARCH%%:${arch}:g' \
+ ${FILESDIR}/${tool}.in > ${WRKDIR}/${arch}-${tool}
+. endfor
+.endfor
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}
+.for arch in ${CLOUDABI_ARCHS}
+. for tool in ${LLVM_TOOLS}
+ @${LN} -s ../llvm${LLVM_SUFFIX}/bin/llvm-${tool} \
+ ${STAGEDIR}${PREFIX}/bin/${arch}-${tool}
+. endfor
+. for tool in ${SHELL_TOOLS}
+ @${INSTALL_SCRIPT} ${WRKDIR}/${arch}-${tool} \
+ ${STAGEDIR}${PREFIX}/bin/${arch}-${tool}
+. endfor
+ @${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 ../${arch} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/${arch}
+.endfor
.include <bsd.port.mk>
diff --git a/devel/cloudabi-toolchain/files/man.in b/devel/cloudabi-toolchain/files/man.in
new file mode 100644
index 000000000000..ccb61391dec6
--- /dev/null
+++ b/devel/cloudabi-toolchain/files/man.in
@@ -0,0 +1,2 @@
+#!/bin/sh
+MANPATH=%%PREFIX%%/%%ARCH%%/share/man man "$@"
diff --git a/devel/cloudabi-toolchain/files/pkg-config.in b/devel/cloudabi-toolchain/files/pkg-config.in
new file mode 100644
index 000000000000..2eba35771c26
--- /dev/null
+++ b/devel/cloudabi-toolchain/files/pkg-config.in
@@ -0,0 +1,2 @@
+#!/bin/sh
+PKG_CONFIG_LIBDIR=%%PREFIX%%/%%ARCH%%/lib/pkgconfig %%PREFIX%%/bin/pkgconf "$@"