9c90da7969
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++.
34 lines
997 B
Text
34 lines
997 B
Text
# This package gets installed in the native chroot only. When cross-
|
|
# compiling packages in the native chroot (e.g. kernel packages), the
|
|
# cross-compiler does not get called directly, but wrapped through
|
|
# ccache, which can then cache the results.
|
|
|
|
pkgname=ccache-cross-symlinks
|
|
pkgver=2
|
|
pkgrel=0
|
|
pkgdesc="Enable ccache for cross-compilers with symlinks"
|
|
url="https://ccache.samba.org/"
|
|
arch="noarch"
|
|
license="MIT"
|
|
depends="ccache"
|
|
options="!check"
|
|
|
|
package() {
|
|
# 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
|
|
# Relative symlink, so it works with crossdirect (pointing to
|
|
# /native/usr/bin/ccache)
|
|
ln -v -s ../../../bin/ccache ${_hostspec}-${_bin}
|
|
done
|
|
done
|
|
}
|