xbps-src: create a cc/g++ wrapper to drop -I/usr/include -L/usr/lib in cross.

I'm tired of wasting extra time to fix software to remove standard include/lib dirs.
This commit is contained in:
Juan RP 2015-10-23 11:49:36 +02:00
parent 07fd8e0b97
commit b7d05057f9
2 changed files with 32 additions and 0 deletions

View file

@ -88,6 +88,23 @@ install_wrappers() {
done
}
install_cross_wrappers() {
local fname
for fname in cc gcc; do
sed -e "s,@BIN@,/usr/bin/$XBPS_CROSS_TRIPLET-gcc,g" \
${XBPS_COMMONDIR}/wrappers/cc > \
${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname}
chmod 755 ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname}
done
for fname in c++ g++; do
sed -e "s,@BIN@,/usr/bin/$XBPS_CROSS_TRIPLET-g++,g" \
${XBPS_COMMONDIR}/wrappers/cc > \
${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname}
chmod 755 ${XBPS_WRAPPERDIR}/${XBPS_CROSS_TRIPLET}-${fname}
done
}
hook() {
export PATH="$XBPS_WRAPPERDIR:$PATH"
@ -95,6 +112,7 @@ hook() {
[ -z "$CROSS_BUILD" ] && return 0
install_cross_wrappers
pkgconfig_wrapper
generic_wrapper icu-config
generic_wrapper libgcrypt-config

14
common/wrappers/cc Normal file
View file

@ -0,0 +1,14 @@
#!/bin/sh
# compiler wrapper to get rid of -I/usr/include and -L/usr/lib, that fucks up
# cross compilation badly.
MYARGS=
for i in $@; do
if [ $i = "-L/usr/lib" -o $i = "-I/usr/include" ]; then
continue
else
MYARGS+="$i "
fi
done
exec @BIN@ ${MYARGS}