From 9c90da796983ce9bbbaa445c8e517a32fa36e200 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Wed, 3 Apr 2019 20:40:31 +0200 Subject: [PATCH] ccache-cross-symlinks: all arches, relative, clang (!299) Create symlinks for all supported arches (armhf, armv7, aarch64, x86_64, x86), not only armhf and aarch64. Skip creating symlinks for the arch that the package gets built for, so we can include x86_64 in the list without conflicting with the ccache package from Alpine. Link to ../../../bin/ccache instead of /usr/bin/ccache, so it works properly with crossdirect (where we mount the native chroot to /native in the foreign chroot). Add symlinks for clang and clang++. --- cross/ccache-cross-symlinks/APKBUILD | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cross/ccache-cross-symlinks/APKBUILD b/cross/ccache-cross-symlinks/APKBUILD index cc2e8c2ac..d0cb1d553 100644 --- a/cross/ccache-cross-symlinks/APKBUILD +++ b/cross/ccache-cross-symlinks/APKBUILD @@ -4,8 +4,8 @@ # ccache, which can then cache the results. pkgname=ccache-cross-symlinks -pkgver=1 -pkgrel=4 +pkgver=2 +pkgrel=0 pkgdesc="Enable ccache for cross-compilers with symlinks" url="https://ccache.samba.org/" arch="noarch" @@ -14,14 +14,21 @@ depends="ccache" options="!check" package() { - local _archs="armhf aarch64" - local _bins="c++ cc cpp g++ gcc" + # Keep in sync with pmb.config.build_device_architectures + local _archs="armhf armv7 aarch64 x86_64 x86" + + local _bins="c++ cc cpp g++ gcc clang clang++" mkdir -p "$pkgdir/usr/lib/ccache/bin" cd "$pkgdir/usr/lib/ccache/bin" for _arch in $_archs; do + if [ "$_arch" = "$CARCH" ]; then + continue + fi _hostspec="$(arch_to_hostspec $_arch)" for _bin in $_bins; do - ln -v -s /usr/bin/ccache ${_hostspec}-${_bin} + # Relative symlink, so it works with crossdirect (pointing to + # /native/usr/bin/ccache) + ln -v -s ../../../bin/ccache ${_hostspec}-${_bin} done done }