diff --git a/NT/.cvsignore b/NT/.cvsignore new file mode 100644 index 0000000000000000000000000000000000000000..2be09488aa01362a70ada1a6c8783624d8723777 --- /dev/null +++ b/NT/.cvsignore @@ -0,0 +1,13 @@ +*.bat +*.lk +*.o +Makefile +config.cache +config.log +config.status +conftest.c +lib +machine.h +modules +pike +stamp-h diff --git a/NT/.gitignore b/NT/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2ae35332b9fab4dc9d1d264a2e8b5ce7c860784f --- /dev/null +++ b/NT/.gitignore @@ -0,0 +1,13 @@ +/*.bat +/*.lk +/*.o +/Makefile +/config.cache +/config.log +/config.status +/conftest.c +/lib +/machine.h +/modules +/pike +/stamp-h diff --git a/NT/init_nt b/NT/init_nt new file mode 100755 index 0000000000000000000000000000000000000000..0ce4aea5a3c989435bd7e867e469d1ab87e69f42 --- /dev/null +++ b/NT/init_nt @@ -0,0 +1,13 @@ +#!/bin/sh + +NTHOST=kheleyr +NTDRIVE='j:' +NTCC=wcl386 +PATH=`pwd`/tools:$PATH +CC=rntcc + +export NTHOST NTDRIVE NTCC CC PATH + +if [ "$#" != 0 ]; then + exec $@ +fi diff --git a/NT/tools/ar b/NT/tools/ar new file mode 100755 index 0000000000000000000000000000000000000000..f7d4a115cfd781357fd79df0fb9620261f090684 --- /dev/null +++ b/NT/tools/ar @@ -0,0 +1,12 @@ +#!/bin/sh + +shift +OUTPUT=$1 +shift + +rm $OUTPUT 2>/dev/null 1>/dev/null || : +for a in $* +do + echo -n "$NTDRIVE$a " | sed -e 's@/@\\@g' >>$OUTPUT +done + diff --git a/NT/tools/ranlib b/NT/tools/ranlib new file mode 100755 index 0000000000000000000000000000000000000000..c52d3c26b35fd40696a3bd45f3aab0663ed0d4d9 --- /dev/null +++ b/NT/tools/ranlib @@ -0,0 +1,3 @@ +#!/bin/sh + +exit 0 diff --git a/NT/tools/rntcc b/NT/tools/rntcc new file mode 100755 index 0000000000000000000000000000000000000000..5471d048dc4b3221c5d38cf2dda36676803a8cda --- /dev/null +++ b/NT/tools/rntcc @@ -0,0 +1,185 @@ +#!/bin/sh + +CLEANUP=yes +DEBUG=no + +if [ $DEBUG = yes ]; then + set -x +fi + +set -e + +fixpath() { + echo "$*" | sed -e 's@/@\\@g' +} + +fixabspath() { + echo "$*" | sed -e 's@/@\\@g' +} + +OPTS="" +CFLAGS="" +SOURCES="" +OBJECTS="" +OUTPUT= +OPERATION=linking +INCLUDE_PATH= +LDOPTS="" + +while test "$#" != 0; do + case $1 in + -E) OPERATION=preprocessing ;; + -c) OPERATION=compiling ;; + -g*) CFLAGS="$CFLAGS -d2" ;; + -O) CFLAGS="$CFLAGS -ox" ;; + -O2) CFLAGS="$CFLAGS -otexan" ;; + *.c) SOURCES="$SOURCES $1" ;; + *.o) OBJECTS="$OBJECTS $1" ;; + *.a) OBJECTS="$OBJECTS `cat $a`" ;; + -o) OUTPUT="$2" ; shift ;; + + -I*) + if test x$1 = x-I ; then + tmp="$2" + shift + else + tmp=`echo $1 | sed -e 's/^-I//g'` + fi + + case $tmp in + /usr/include/* | /usr/local/include*) + ;; + *) + CFLAGS="$CFLAGS -i`fixpath $tmp`" + ;; + esac + ;; + + -traditional-cpp | -lc | -lm) ;; + + -R | -L) shift ;; + -R* | -L* | -Wl*) ;; + + -D*) + CFLAGS="$CFLAGS `echo $1 | sed -e 's/^-I/-d/g'`" + ;; + +# Options to parse: +# -l + + *) + echo "Unrecognized option $1" + exit 1 + ;; + esac + shift +done + +rm $OUTPUT 2>/dev/null 1>/dev/null || : + +OLDIFS="$IFS" +IFS=: +set dummy $INCLUDE_PATH +shift +IFS="$OLDIFS" + +IPATH=. +IPATHS=":.:" + +for a in $* +do + case $IPATHS in + *:$a:*) ;; + *) + IPATH="$IPATH;`fixpath $a`" + IPATHS="$IPATHS:$a:" + ;; + 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 || : + +CFLAGS="$CFLAGS -zq -i$IPATH -fr$ERRORFILE" +if [ "x$OUTPUT" != x ]; then + CFLAGS="$CFLAGS -fo$OUTPUT" +fi + +case $OPERATION in + compiling) + do_cmd wcc386 $CFLAGS `fixpath $SOURCES $OBJECTS` + TARGET=$OUTPUT + ;; + + preprocessing) + do_cmd wcc386 -p $CFLAGS `fixpath $SOURCES` + ;; + + linking) + for a in `fixpath $SOURCES` + do + BASE=`echo $a | sed -e 's/\.c//'` + do_cmd wcc386 -i$IPATH $CFLAGS -fr$ERRORFILE -fo=$BASE.obj $a + OBJECTS="$OBJECTS $BASE.obj" + done + + LDFILE=TMP$$.lk + echo "name $OUTPUT.exe $LDOPTS FIL `fixpath $OBJECTS | sed -e 's/ /,/g'`" >$LDFILE + do_cmd wlink @$LDFILE + TARGET=$OUTPUT.exe + if [ $CLEANUP = yes ]; then + if [ "x$LDFILE" != x ]; then + rm $LDFILE || : + fi + fi + ;; +esac + +if [ -f $ERRORFILE ]; then + cat $ERRORFILE 1>&2 + if grep -iv 'Warning' <$ERRORFILE >/dev/null 2>/dev/null; then + rm $ERRORFILE + exit 1 + fi + rm $ERRORFILE +fi + +if [ "x$TARGET" != x ]; then + if [ ! -f "$TARGET" ]; then + echo "RNTCC: output file not generated" + exit 1 + fi +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" + chmod +x $OUTPUT +fi