#! /bin/sh # This file intercepts the pre-processor and runs 'stringfix' on the source file before it is processed. # This avoids the need for the old _*.c temp files. # Only capture pre-processing if [ $1 != "-E" -o -z "$STRINGFIX" -o ! -f "$STRINGFIX" ]; then exec $(${COLLECT_GCC} --print-prog-name=cc1plus) "$@" fi # Check for '-MD' as this may be the 'depcomp' call depcomp=0 for arg; do case "$arg" in -MD) depcomp=1 ;; *) ;; esac done # Only continue if running in depcomp (avoiding a 2nd pass for -dD/-g3) if [ $depcomp -eq 0 ]; then exec $(${COLLECT_GCC} --print-prog-name=cc1plus) "$@" fi ### Is this a pipe or not? ### # Determine the last argument for i do third_last="$third_last $second_last" second_last=$last last=$i done # If the last param is *.ii, there's no pipe case $last in *.ii) piping=0 ;; *) piping=1 ;; esac if [ $piping -eq 1 ]; then exec $(${COLLECT_GCC} --print-prog-name=cc1plus) "$@" | $STRINGFIX else gcc_status=$($(${COLLECT_GCC} --print-prog-name=cc1plus) "$@") TEMPFILE=`(umask 077 && mktemp -t "ccXXXXXX") 2>/dev/null` $STRINGFIX < $last > $TEMPFILE mv -f $TEMPFILE $last exit $gcc_status fi