Usermode - POSIX and C conformance changes
[tpg/acess2.git] / Tools / GCCProxy / gccproxy.sh
index 515f5d7..801a1f1 100755 (executable)
@@ -55,6 +55,16 @@ while [[ $# -gt 0 ]]; do
        -l*|-L*)
                _libs=$_libs" $1"
                ;;
+       -v|--version|-V)
+               _verarg=$_verarg" $1"
+               ;;
+       --inv=ld)
+               _actas=ld
+               ;;
+       -print-prog-name=ld)
+               echo $0 --inv=ld
+               exit 0
+               ;;
        *)
                _miscargs=$_miscargs" $1"
                ;;
@@ -63,11 +73,15 @@ while [[ $# -gt 0 ]]; do
 done
 
 run() {
-       echo --- $*
+       if [[ "x$GCCPROXY_DEBUG" != "x" ]]; then
+               echo --- $*
+       fi
        $*
        return $?
 }
 
+_ldflags="-lposix -lpsocket "$_ldflags
+
 cfgfile=`mktemp`
 make --no-print-directory -f $BASEDIR/getconfig.mk ARCH=x86 TYPE=$_linktype > $cfgfile
 . $cfgfile
@@ -75,6 +89,11 @@ rm $cfgfile
 
 #echo "_compile = $_compile, _preproc = $_preproc"
 
+if [[ "x$_actas" == "xld" ]]; then
+       run $_LD $LDFLAGS $_ldflags $_outfile $_miscargs $LIBGCC_PATH $_libs
+       exit $?
+fi
+
 if [[ $_preproc -eq 1 ]]; then
        run $_CC -E $CFLAGS $_cflags $_miscargs $_outfile
 elif [[ $_makedep -eq 1 ]]; then
@@ -84,9 +103,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 -lgcc $_libs
+       run $_LD $LDFLAGS $_ldflags $_libs $tmpout $_outfile $_libs $LIBGCC_PATH
+       _rv=$?
        rm $tmpout
+       exit $_rv
 else
-       run $_LD$_ldflags $_miscargs $_outfile $LDFLAGS  $_libs
+       run $_LD $_ldflags $_miscargs $_outfile $LDFLAGS $LIBGCC_PATH $_libs
 fi
 

UCC git Repository :: git.ucc.asn.au