(no commit message)
[geda-pcb/pcjc2.git] / src / pcbtest.sh.in
blob8b5ec413465bf2166818a4a61fbdaee2d46f883e
1 #! /bin/sh
3 # COPYRIGHT
4 #
5 # PCB, interactive printed circuit board design
6 # Copyright (C) 1994,1995,1996 Thomas Nau
7 #
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 # Contact addresses for paper mail and Email:
23 # Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany
24 # Thomas.Nau@rz.uni-ulm.de
27 # starts a test installation of pcb
29 # execute pcb
31 # If the first argument is "-gdb" then run PCB inside the gdb
32 # debugger.
34 # Use --g-fatal-warnings with the gtk HID to cause gtk-WARNING's to
35 # abort.
37 TEST_PATHS="--lib-path @TOP_BUILDDIR@/lib --lib-newlib @TOPSRCDIR@/newlib:@TOPSRCDIR@/lib/pcblib-newlib --element-path @TOP_BUILDDIR@/lib --font-path @TOPSRCDIR@/src"
38 TEST_CMDS="--lib-command-dir @TOP_BUILDDIR@/lib"
40 # note: To do command line exporting, pcb requires the "-x <export_hid>" command to appear first. For example
42 # pcb -x bom [other args] pcbfile
44 # as opposed to
46 # pcb [other args] -x bom pcbfile
49 use_gdb=no
50 if [ "X$1" = "X-gdb" ]; then
51 use_gdb=yes
52 shift
55 args=""
56 export_args=""
58 while test $# -ne 0 ; do
59 case $1 in
60 -x)
61 export_args="$1 $2"
62 shift 2
65 args="$args $1"
66 shift
68 esac
69 done
71 # build up the complete argument list
72 arg_list="$export_args $TEST_PATHS $TEST_CMDS $args"
74 if test $use_gdb = yes ; then
75 tmpd=/tmp/pcbtest.$$
76 tmpf=${tmpd}/pcbtest.gdb
77 mkdir -p -m 0700 ${tmpd}
78 rc=$?
79 if test $rc -ne 0 ; then
80 echo "$0: Could not create ${tmpd} with mode = 0700"
81 echo " mkdir returned $rc"
82 exit 1
84 cat > $tmpf << EOF
85 set args $arg_list
86 EOF
87 exec gdb -x $tmpf ./pcb
88 rm -fr $tmpd
89 else
90 exec @TOP_BUILDDIR@/src/pcb $arg_list