1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

Merge cloudabi-clang with cloudabi-toolchain and install more useful tools.

Now that the previous changes to the cloudabi-clang package brought in
more LLVM tools, the package actually became a misnomer. Most of the
tools that it installed are not part of Clang, but of LLVM instead. My
plans of extending it to also install wrappers around man(1) and
pkgconf(1) would make the naming even worse.

The only reason that the cloudabi-clang package was created in the first
place, was because we still had some of the core CloudABI libraries part
of FreeBSD Ports. Now that these libraries are part of their own package
collection, it makes more sense to squash this package together with
cloudabi-toolchain.

The nice thing about installing a wrapper around pkgconf(1) named
${gnu_triple}-pkg-config is that Autoconf now automatically picks it up.
Running ./configure --host=${gnu_triple} is enough to make it detect the
cross compiled libraries it depends on.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D5697
This commit is contained in:
Ed Schouten 2016-03-21 21:11:11 +00:00
parent 8e01003aae
commit 7b0b0ef9bc
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=411619
7 changed files with 52 additions and 64 deletions

1
MOVED
View File

@ -8238,3 +8238,4 @@ www/eaccelerator||2016-03-20|Has expired: cannot be installed: doesn't work with
devel/pecl-inclued||2016-03-20|Has expired: cannot be installed: doesn't work with lang/php56 port (doesn't support PHP 5.5 5.6 70)
security/pecl-taint||2016-03-20|Has expired: cannot be installed: doesn't work with lang/php56 port (doesn't support PHP 5.5 5.6 70)
net/libnids-libnet11|net/libnids|2016-03-20|Same content
lang/cloudabi-clang|devel/cloudabi-toolchain|2016-03-21|Merged

View File

@ -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>

View File

@ -0,0 +1,2 @@
#!/bin/sh
MANPATH=%%PREFIX%%/%%ARCH%%/share/man man "$@"

View File

@ -0,0 +1,2 @@
#!/bin/sh
PKG_CONFIG_LIBDIR=%%PREFIX%%/%%ARCH%%/lib/pkgconfig %%PREFIX%%/bin/pkgconf "$@"

View File

@ -42,7 +42,6 @@
SUBDIR += clang38
SUBDIR += clojure
SUBDIR += clojure-mode.el
SUBDIR += cloudabi-clang
SUBDIR += clover
SUBDIR += cmucl
SUBDIR += cmucl-extra

View File

@ -1,52 +0,0 @@
# Created by: Ed Schouten <ed@FreeBSD.org>
# $FreeBSD$
PORTNAME= cloudabi-clang
PORTVERSION= 3.8
PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= # None
DISTFILES= # None
MAINTAINER= ed@FreeBSD.org
COMMENT= Clang for CloudABI
LICENSE= MIT
RUN_DEPENDS= clang${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX} \
aarch64-unknown-cloudabi-ld:${PORTSDIR}/devel/cloudabi-binutils-aarch64 \
x86_64-unknown-cloudabi-ld:${PORTSDIR}/devel/cloudabi-binutils-x86_64
LLVM_SUFFIX= ${DISTVERSION:S/.//}
NO_BUILD= yes
CLOUDABI_ARCHS= aarch64-unknown-cloudabi x86_64-unknown-cloudabi
.for arch in ${CLOUDABI_ARCHS}
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
.include <bsd.port.mk>

View File

@ -1,5 +0,0 @@
The CloudABI environment uses Clang as its C/C++ compiler. This meta
port installs Clang and sets up symbolic links, so that Clang can be
used as a cross compiler for CloudABI.
WWW: https://github.com/NuxiNL/cloudlibc