Skip to content

Crossdirect fixes

Oliver Smith requested to merge crossdirect-fixes into master

ccache-cross-symlinks: all arches, relative, clang

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/crossdirect: use ccache, execve, -Werror

Instead of running compilers directly, let them go through the native ccache binary. Note that it will still use the foreign arches cache dir because the native cache dir would be at /native/home/pmos/.ccache.

Use execve instead of setenv and execv, because that didn't work with LD_LIBRARY_PATH (ccache was complaining that it couldn't load zlib).

Enable -Werror, because we are maintaining this program and it helps us catching bugs early.

pmaports.cfg: bump version


I'll merge this rather soon, when CI passes, because this is needed to fix various bugs in pmaports. I have checked thoroughly that this works (everything but cross compiling with clang), but still, if somebody has time to review the code it would be appreciated.

CC: @zhuowei

Edited by Oliver Smith

Merge request reports