summaryrefslogtreecommitdiff
path: root/lib/tcl/xcircuit.sh.in
blob: d9800c243397fcc50e69dddfb001d3b9662a6153 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh
#
# This script starts xcircuit under the Tcl interpreter,
# reading commands from a special .wishrc script which
# launches xcircuit and retains the Tcl interactive interpreter.
#

loclibdir=${XCIRCUIT_LIB_DIR:=XCLIBDIR}
export XCIRCUIT_LIB_DIR
XCIRCUIT_WISH=WISH_EXE
export XCIRCUIT_WISH

# Hacks for Cygwin
if [ ${TERM:=""} = "cygwin" ]; then
   export PATH=$PATH:TCLLIBDIR
   export DISPLAY=${DISPLAY:=":0"}
fi

TKCON=true
for i in $@ ; do
   case $i in
      -noc*)
	   TKCON=;;
      --help)
	   echo "Standard usage:"
	   echo "   xcircuit [filename]"
	   echo "Online documentation:"
	   echo "   http://opencircuitdesign.com/xcircuit"
	   exit 0
	   ;;
      --version)
	   echo "XCircuit version PROG_VERSION revision PROG_REVISION"
	   exit 0
	   ;;
   esac
done

if [ $TKCON ]; then

   if [ ! -f ${loclibdir}/CONSOLE ]; then
      loclibdir=${loclibdir}/tcl
   fi

   exec ${loclibdir}/CONSOLE \
	-eval "source ${loclibdir}/CONSOLE_SCRIPT" \
        -slave "package require Tk; set argc $#; set argv [list $*]; \
        source ${loclibdir}/WRAPPER_INIT"
else

#
# Run the stand-in for wish (xcircexec), which acts exactly like "wish"
# except that it replaces ~/.wishrc with xcircuit.tcl.  This executable is
# *only* needed when running without the console; the console itself is
# capable of sourcing the startup script.
#
   exec ${loclibdir}/xcircexec -- $@

fi