X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FGCCProxy%2Fgccproxy.sh;h=1b0dfbe4f859b57ea39b1a0f90792a3992b48fae;hb=00e92546e065d1a5f7fa05299d6232c12c835cb3;hp=0dd68644ffa889047ad39da7e40986935c6af393;hpb=b806b8f55067584cb90fe20277235369a1111c66;p=tpg%2Facess2.git diff --git a/Tools/GCCProxy/gccproxy.sh b/Tools/GCCProxy/gccproxy.sh index 0dd68644..1b0dfbe4 100755 --- a/Tools/GCCProxy/gccproxy.sh +++ b/Tools/GCCProxy/gccproxy.sh @@ -16,6 +16,8 @@ _miscargs="" _compile=0 _linktype=Applications +echo [GCCProxy] $* >&2 + while [[ $# -gt 0 ]]; do case "$1" in -E) @@ -48,6 +50,9 @@ while [[ $# -gt 0 ]]; do arg=${arg/,/ } _ldflags=$_ldflags" ${arg}" ;; + -Wall|-Werror|-Wextra)\ + _cflags=$_cflags" $1" + ;; -l|-L) _libs=$_libs" $1$2" shift @@ -61,10 +66,21 @@ while [[ $# -gt 0 ]]; do --inv=ld) _actas=ld ;; + -pthread) + _ldflags=$_ldflags" -lpthread" + ;; -print-prog-name=ld) echo $0 --inv=ld exit 0 ;; + -dumpspecs) + _compile=1 + _miscargs=$_miscargs" $1" + ;; + -dumpversion) + _compile=1 + _miscargs=$_miscargs" $1" + ;; *) _miscargs=$_miscargs" $1" ;; @@ -73,12 +89,15 @@ while [[ $# -gt 0 ]]; do done run() { - #echo --- $* + if [[ "x$GCCPROXY_DEBUG" != "x" ]]; then + echo --- $* + fi $* return $? } _ldflags="-lposix -lpsocket "$_ldflags +_cflags=$_cflags" -fno-omit-frame-pointer" cfgfile=`mktemp` make --no-print-directory -f $BASEDIR/getconfig.mk ARCH=x86 TYPE=$_linktype > $cfgfile @@ -87,8 +106,21 @@ rm $cfgfile #echo "_compile = $_compile, _preproc = $_preproc" +if [[ "x$_verarg" != "x" ]]; then + if [[ "x$_actas" == "xld" ]]; then + run $_LD $_miscargs $_verarg + else + run $_CC $_miscargs $_verarg + fi + exit $? +fi + if [[ "x$_actas" == "xld" ]]; then - run $_LD $LDFLAGS $_ldflags $_outfile $_miscargs $LIBGCC_PATH $_libs + if echo "$_miscargs" | grep '\.o\|\.a'; then + run $_LD $LDFLAGS $_ldflags $_outfile $_miscargs $LIBGCC_PATH $_libs + else + run $_LD $_miscargs $_verarg + fi exit $? fi @@ -101,11 +133,11 @@ elif [[ $_compile -eq 1 ]]; then elif echo " $_miscargs" | grep '\.c' >/dev/null; then tmpout=`mktemp acess_gccproxy.XXXXXXXXXX.o --tmpdir` run $_CC $CFLAGS $_cflags $_miscargs -c -o $tmpout - run $_LD $LDFLAGS $_ldflags $_libs $tmpout $_outfile $LIBGCC_PATH $_libs + run $_LD $LDFLAGS $_ldflags $_libs $tmpout $_outfile $_libs $LIBGCC_PATH _rv=$? rm $tmpout exit $_rv else - run $_LD $_ldflags $_miscargs $_outfile $LDFLAGS $LIBGCC_PATH $_libs + run $_LD $_ldflags $_miscargs $_outfile $LDFLAGS $_libs $LIBGCC_PATH fi