From e3fa6969a9868f645f04166fb15d6b6ed609e8d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Sun, 28 Dec 1997 01:24:55 -0800
Subject: [PATCH] now works much better

Rev: NT/tools/ar:1.2
Rev: NT/tools/lib:1.1
Rev: NT/tools/rntcc:1.2
---
 NT/tools/ar    | 22 ++++++++++++++++++++--
 NT/tools/lib   | 37 ++++++++++++++++++++++++++++++++++++
 NT/tools/rntcc | 51 +++++++-------------------------------------------
 3 files changed, 64 insertions(+), 46 deletions(-)
 create mode 100644 NT/tools/lib

diff --git a/NT/tools/ar b/NT/tools/ar
index f7d4a115cf..8dfdb191bc 100755
--- a/NT/tools/ar
+++ b/NT/tools/ar
@@ -1,12 +1,30 @@
 #!/bin/sh
 
+. $NTTOOLS
+
+set -e
+
+OPTIONS=$1
 shift
 OUTPUT=$1
 shift
 
-rm $OUTPUT 2>/dev/null 1>/dev/null || :
+XFILE=TMP$$.l
+
+rm $XFILE 2>/dev/null 1>/dev/null || :
+
+OPTS=
 for a in $*
 do
-  echo -n "$NTDRIVE$a " | sed -e 's@/@\\@g' >>$OUTPUT
+  OPTS="$OPTS +$a"
 done
 
+echo >$XFILE $OPTS
+
+do_cmd wlib -b -c $OUTPUT @$XFILE
+
+if [ $CLEANUP = yes ]; then
+  if [ -f $XFILE ]; then
+    rm $XFILE
+  fi
+fi
diff --git a/NT/tools/lib b/NT/tools/lib
new file mode 100644
index 0000000000..d4348e5c87
--- /dev/null
+++ b/NT/tools/lib
@@ -0,0 +1,37 @@
+CLEANUP=yes
+DEBUG=no 
+
+if [ $DEBUG = yes ]; then
+  set -x
+fi
+
+fixpath() {
+  echo "$*" | sed -e 's@/@\\@g'
+}
+
+fixabspath() {
+  echo "$*" | sed -e 's@/@\\@g'
+}
+
+silent_do_cmd() {
+  BATFILE=TMP$$.bat
+  PWD=`pwd`
+  RPWD=`fixabspath $PWD`
+  if [ x$DEBUG != xyes ]; then
+    echo >$BATFILE "@echo off"
+  else
+    echo >$BATFILE 
+  fi
+  echo >>$BATFILE "$NTDRIVE"
+  echo >>$BATFILE "cd $RPWD"
+  echo >>$BATFILE "$*"
+  rsh $NTHOST $NTDRIVE$RPWD\\$BATFILE
+  if [ x$CLEANUP = xyes ]; then
+    rm $BATFILE || :
+  fi
+}
+
+do_cmd() {
+  echo "DOING $*"
+  silent_do_cmd "$*"
+}
diff --git a/NT/tools/rntcc b/NT/tools/rntcc
index 5471d048dc..92fee23f5b 100755
--- a/NT/tools/rntcc
+++ b/NT/tools/rntcc
@@ -1,22 +1,9 @@
 #!/bin/sh
 
-CLEANUP=yes
-DEBUG=no 
-
-if [ $DEBUG = yes ]; then
-  set -x
-fi
+. $NTTOOLS
 
 set -e
 
-fixpath() {
-  echo "$*" | sed -e 's@/@\\@g'
-}
-
-fixabspath() {
-  echo "$*" | sed -e 's@/@\\@g'
-}
-
 OPTS=""
 CFLAGS=""
 SOURCES=""
@@ -28,14 +15,14 @@ LDOPTS=""
 
 while test "$#" != 0; do
   case $1 in
+    -shared) ;;
     -E)  OPERATION=preprocessing ;;
     -c)  OPERATION=compiling  ;;
-    -g*) CFLAGS="$CFLAGS -d2" ;;
+    -g*) CFLAGS="$CFLAGS -d2 " ; LDOPTS="$LDOPTS DEBUG WATCOM ALL" ;;
     -O)  CFLAGS="$CFLAGS -ox" ;;
     -O2) CFLAGS="$CFLAGS -otexan" ;;
     *.c) SOURCES="$SOURCES $1" ;;
-    *.o) OBJECTS="$OBJECTS $1" ;;
-    *.a) OBJECTS="$OBJECTS `cat $a`" ;;
+    *.o | *.a) OBJECTS="$OBJECTS $1" ;;
      -o) OUTPUT="$2" ; shift ;;
 
     -I*)
@@ -97,24 +84,6 @@ do
   esac
 done
 
-do_cmd() {
-  echo DOING $*
-  BATFILE=TMP$$.bat
-  PWD=`pwd`
-  RPWD=`fixabspath $PWD`
-  if [ $DEBUG != yes ]; then
-    echo >$BATFILE "@echo off"
-  else
-    echo >$BATFILE 
-  fi
-  echo >>$BATFILE "$NTDRIVE"
-  echo >>$BATFILE "cd $RPWD"
-  echo >>$BATFILE "$*"
-  rsh $NTHOST $NTDRIVE$RPWD\\$BATFILE
-  if [ $CLEANUP = yes ]; then
-    rm $BATFILE || :
-  fi
-}
 
 ERRORFILE=TMP$$.err
 rm $ERRORFILE 2>/dev/null 1>/dev/null || :
@@ -172,14 +141,8 @@ fi
 
 if [ $OPERATION = linking ]; then
   echo  >$OUTPUT "#!/bin/sh"
-  echo >>$OUTPUT "BATFILE=TMP\$\$.bat"
-  echo >>$OUTPUT "echo >\$BATFILE @echo off"
-  echo >>$OUTPUT "echo >>\$BATFILE $NTDRIVE"
-  PWD=`pwd`
-  RPWD=`fixabspath $PWD`
-  echo >>$OUTPUT "echo >>\$BATFILE cd '$RPWD'"
-  echo >>$OUTPUT "echo >>\$BATFILE $TARGET \"\$@\""
-  echo >>$OUTPUT "rsh $NTHOST '$NTDRIVE$RPWD\\'\$BATFILE"
-  echo >>$OUTPUT "rm \$BATFILE"
+  echo >>$OUTPUT ". \$NTTOOLS"
+  echo >>$OUTPUT "set -e"
+  echo >>$OUTPUT "silent_do_cmd $TARGET \"\$@\""
   chmod +x $OUTPUT
 fi
-- 
GitLab