#!/bin/sh

case /$0 in
  */init_nt)
    # We were executed we can find the path!
    this=$0
    old_cwd=`pwd`
    while :; do
      NT_TOOL_BASE=`dirname "$this"`
      this=`basename "$this"`
      test "x$NT_TOOL_BASE" != "x" && cd "$NT_TOOL_BASE"
      NT_TOOL_BASE=`pwd -P`
      if [ -h "$this" ]; then
	this=`find $this -printf %l`
      else
	break
      fi
    done
    cd "$old_cwd"
  ;;

  *)
    # We were sourced, we cannot find the path...
    NT_TOOL_BASE=`pwd`
  ;;
esac

# Support local settings.
INIT_NTRC=${INIT_NTRC-"$HOME/.init_ntrc"}
if [ -f "$INIT_NTRC" ]; then
  echo Using rc-file $INIT_NTRC
  . "$INIT_NTRC"
fi

#This can be 'sprsh', 'wine' or 'cygwin'
REMOTE_METHOD=${REMOTE_METHOD-sprsh}

# Choose 'rntcc' for Watcom or 'rntcl' for Microsoft VC++
# (Make sure VC++ is before Watcom in your path!)
CC=${CC-rntcl}
CXX=${CXX-rntcl}

# Important!
# Please be sure that you have the line 'veto oplock files = /*/' in your
# smb.conf if NTDRIVE is a samba file system.

# Edit
NTHOST=${NTHOST-10.0.5.13}
NTDRIVE=${NTDRIVE-k:}

# Edit
#NTHOST=10.0.5.10
#NTDRIVE='k:'

#NTHOST=localhost
#NTDRIVE='d:'

# What dir on the UNIX machine is on $NTDRIVE ?
# This variable MUST NOT end with a slash.
NTMOUNT=${NTMOUNT-}

# Where on the UNIX machine are the NT libraries available?
NTLD_LIBRARY_PATH=${NTLD_LIBRARY_PATH-}

# Use Simple Pike Remote SHell?
USE_SPRSH=yes

# Port for sprsh
NTPORT=${NTPORT-4711}

#These are only used if you use wine
watcom=D:\\CDROM
INCLUDE="$watcom\\H;$watcom\\H\\NT"

# Used for IA64 cross-compiling.
IA64SDK=${IA64SDK-'C:\ia64sdk17'}

# Fool broken configure test
ac_cv_header_stdc=yes
export ac_cv_header_stdc

ac_cv_exeext=''
export ac_cv_exeext

case "/$CC" in
  */rntcl)
      export REMOTE_VARIABLES
  ;;

  */rntcl64)
    REMOTE_VARIABLES="
path=$IA64SDK\\bin\\Win64;$IA64SDK\\bin;
include=$IA64SDK\\Include;
lib=$IA64SDK\\Lib;
"
    export REMOTE_VARIABLES
  ;;

  */rntecl)
    REMOTE_VARIABLES="
path=$IA64SDK\\bin\\Intel64;$IA64SDK\\bin;
include=$IA64SDK\\Include;
lib=$IA64SDK\\Lib;
"
    export REMOTE_VARIABLES
  ;;

  */rntcc)
    watcom='j:\winshare\WATCOM'
    local='j:\winshare\WATCOM\local'
    REMOTE_VARIABLES="
path=$watcom\\binnt;$watcom\\binw;
include=$watcom\\h;$watcom\\h\\nt;$local\\h
lib=$watcom\\lib386;$local\\lib
"
    export REMOTE_VARIABLES
  ;;
esac


# Don't edit anything below this point..

if [ "x$OSTYPE" = xcygwin32 ]; then
  REMOTE_METHOD=cygwin
  driveletter=`echo $NT_TOOL_BASE | sed -e 's@^//\(.\)/.*@\1@'`
  if [ "x$driveletter" != "x" ]; then
    NTDRIVE=${driveletter}:
    NTMOUNT="//$driveletter"
  fi
  mkdir $NT_TOOL_BASE/cygtools 2>/dev/null || :
  (
    cd $NT_TOOL_BASE/tools
    cp rntcc rntcl ar nm ranlib uname bash-fixup sprsh lib lib.pike $NT_TOOL_BASE/cygtools || :
  )
  SHELL=bash
  
  NT_TOOL_PATH=$NT_TOOL_BASE/cygtools
else
  NT_TOOL_PATH=$NT_TOOL_BASE/tools
fi



export NT_TOOL_PATH

if [ ! -d "$NT_TOOL_PATH" ]; then
  echo Unable to find NT tools!
  exit
fi

case :$PATH: in
   *:$NT_TOOL_PATH:*) ;;
   *) PATH=$NT_TOOL_PATH:$PATH ;;
esac

NTTOOLS=$NT_TOOL_PATH/lib

num=
MNTREPLACE=""
while [ x"$num" = x -o x"$num" = x1 -o x"`eval echo \\$NTMOUNT$num`" != x ]; do
  if [ x"`eval echo \\$NTMOUNT$num`" != x ]; then
    mount="`eval echo \\$NTMOUNT$num`"
    drive="`eval echo \\$NTDRIVE$num`"
    eval export NTMOUNT$num
    eval export NTDRIVE$num
    MNTREPLACE="${MNTREPLACE}s@$mount@@g
  "
    PIKE_PATH_TRANSLATE="$PIKE_PATH_TRANSLATE${PIKE_PATH_TRANSLATE+;}s!^$mount!$drive!"
  fi
  if [ x$num = x ]; then num=1; else num=`expr $num + 1`; fi
done
IFS='
	 
'

export NTHOST NTCC CC CXX PATH NTTOOLS MNTREPLACE
export NTPORT USE_SPRSH IFS REMOTE_METHOD watcom INCLUDE
export NT_TOOL_PATH NTCOMPILER PIKE_PATH_TRANSLATE NTLD_LIBRARY_PATH

if [ "x$1" = x--no-uname-cache ]; then
  shift
else
  # Cache data from uname to avoid remote calls.
  # Use flag in environment here since "." doesn't pass arguments in
  # standard sh.
  INIT_UNAME=yes
  export INIT_UNAME
  . $NT_TOOL_PATH/uname
  unset INIT_UNAME
fi

if [ "$#" = "0" ]; then
  case /$SHELL-$TERM in
     */bash-xterm)
       PROMPT_COMMAND="echo -n ]2\; $REMOTE_METHOD NT compile ]1\; $CC"
       export PROMPT_COMMAND
     ;;
  esac

  case /$0 in
    */init_nt)
      case /$SHELL in
        */bash)
          exec $SHELL -rcfile $NT_TOOL_PATH/bash-fixup
        ;;
        *)
          exec $SHELL
        ;;
      esac
    ;;
  esac
else
  exec "$@"
fi
