40 lines
1.2 KiB
Text
40 lines
1.2 KiB
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=3
|
|
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
|
|
|
|
ln -v -s ../../../bin/ccache gcc4-${_hostspec}-gcc
|
|
ln -v -s ../../../bin/ccache gcc6-${_hostspec}-gcc
|
|
done
|
|
|
|
ln -v -s ../../../bin/ccache gcc4-gcc
|
|
ln -v -s ../../../bin/ccache gcc6-gcc
|
|
}
|