1
0
Fork 0
mirror of https://github.com/xHyroM/void-packages.git synced 2024-11-23 14:51:06 +01:00
void-packages/common/wrappers/cross-cc

41 lines
1.1 KiB
Text
Raw Normal View History

2024-03-29 08:12:19 +01:00
#!/bin/bash
# compiler wrapper to get rid of -I/usr/include and -L/usr/lib, that fucks up
# cross compilation badly.
declare -a MYARGS
ARGS=("$@")
i=0
while [ $i -lt ${#ARGS[@]} ]; do
arg="${ARGS[$i]}"
if [ -n "$incpath" ]; then
if [ "$arg" = "/usr/include" ]; then
echo "[cc-wrapper] ignoring ${incpath} $arg"
else
MYARGS+=("${incpath}${arg}")
fi
unset incpath
elif [ "$libpath" ]; then
# XXX: avoid so much repetition
if [ "$arg" = "/usr/lib" -o "$arg" = "/usr/lib32" -o "$arg" = "/usr/lib64" -o "$arg" = "/lib" ]; then
echo "[cc-wrapper] ignoring -L $arg"
else
MYARGS+=("-L${arg}")
fi
unset libpath
elif [ "$arg" = "-I" -o "$arg" = "-isystem" ]; then
incpath="$arg"
elif [ "$arg" = "-L" ]; then
libpath=1
elif [ "$arg" = "-I/usr/include" -o "$arg" = "-isystem/usr/include" \
-o "$arg" = "-L/usr/lib32" -o "$arg" = "-L/usr/lib64" \
-o "$arg" = "-L/usr/lib" -o "$arg" = "-L/lib" ]; then
echo "[cc-wrapper] ignoring $arg"
else
MYARGS+=("${arg}")
fi
i=$((i+1))
done
#echo "[cc-wrapper] @BIN@ ${MYARGS[@]}"
exec @BIN@ "${MYARGS[@]}"