annotate run-octave.in @ 7017:a1dbe9d80eee

[project @ 2007-10-12 21:27:11 by jwe]
author jwe
date Fri, 12 Oct 2007 21:27:37 +0000
parents 93c65f2a5668
children 5a9561046b89
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
1 #! /bin/sh
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
2 ##
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
3 ## run-octave -- run Octave in the build tree.
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
4 ##
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
5 ## Copyright (C) 2006, 2007 John W. Eaton
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
6 ##
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
7 ## This file is part of Octave.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
8 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
9 ## Octave is free software; you can redistribute it and/or modify it
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
10 ## under the terms of the GNU General Public License as published by the
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
11 ## Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
12 ## your option) any later version.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
13 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
14 ## Octave is distributed in the hope that it will be useful, but WITHOUT
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
15 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
16 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
17 ## for more details.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
18 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
19 ## You should have received a copy of the GNU General Public License
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
20 ## along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
21 ## <http://www.gnu.org/licenses/>.
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
22
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
23 AWK=${AWK:-'awk'}
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
24
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
25 # FIXME -- is there a better way to handle the possibility of spaces
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
26 # in these names?
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
27
6131
9a6e5cae5275 [project @ 2006-11-01 18:25:54 by jwe]
jwe
parents: 6129
diff changeset
28 top_srcdir='%abs_top_srcdir%'
9a6e5cae5275 [project @ 2006-11-01 18:25:54 by jwe]
jwe
parents: 6129
diff changeset
29 builddir='%builddir%'
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
30
6155
ab5008998876 [project @ 2006-11-13 18:49:52 by jwe]
jwe
parents: 6132
diff changeset
31 liboctinterp="$builddir/src/%liboctinterp%"
ab5008998876 [project @ 2006-11-13 18:49:52 by jwe]
jwe
parents: 6132
diff changeset
32 liboctave="$builddir/liboctave/%liboctave%"
ab5008998876 [project @ 2006-11-13 18:49:52 by jwe]
jwe
parents: 6132
diff changeset
33 libcruft="$builddir/libcruft/%libcruft%"
ab5008998876 [project @ 2006-11-13 18:49:52 by jwe]
jwe
parents: 6132
diff changeset
34
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
35 d1="$top_srcdir/test"
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
36 d2="$top_srcdir/scripts"
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
37 d3="$builddir/scripts"
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
38 d4="$builddir/src"
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
39
6827
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
40 d1_list=`find "$d1" -type d -a ! \( \( -name CVS -o -name private \) -a -prune \) -exec echo '{}': ';'`
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
41 d2_list=`find "$d2" -type d -a ! \( \( -name CVS -o -name private \) -a -prune \) -exec echo '{}': ';'`
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
42 d3_list=`find "$d3" -type d -a ! \( \( -name CVS -o -name private \) -a -prune \) -exec echo '{}': ';'`
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
43 d4_list=`find "$d4" -type d -a ! \( \( -name CVS -o -name private \) -a -prune \) -exec echo '{}': ';'`
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
44
6827
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
45 d1_path=`echo "$d1_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'`
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
46 d2_path=`echo "$d2_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'`
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
47 d3_path=`echo "$d3_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'`
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
48 d4_path=`echo "$d4_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'`
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
49
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
50 LOADPATH="$d1_path:$d2_path:$d3_path:$d4_path"
5814
67bf9b4f2ae2 [project @ 2006-05-11 21:58:34 by jwe]
jwe
parents: 5793
diff changeset
51 IMAGEPATH="$top_srcdir/scripts/image"
6538
e3a7611430a8 [project @ 2007-04-18 18:27:47 by jwe]
jwe
parents: 6365
diff changeset
52 INFOFILE="$builddir/doc/interperter/octave.info"
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
53
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
54 if [ $# -gt 0 ]; then
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
55 if [ "x$1" = "x-g" ]; then
6987
deb175b6e4a1 [project @ 2007-10-09 18:39:15 by jwe]
jwe
parents: 6827
diff changeset
56 driver="gdb --args"
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
57 shift
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
58 elif [ "x$1" = "x-valgrind" ]; then
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
59 driver="valgrind --tool=memcheck"
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
60 shift
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
61 elif [ "x$1" = "x-strace" ]; then
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
62 driver="strace -o octave.trace"
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
63 shift
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
64 fi
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
65 fi
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
66
7001
8b0cfeb06365 [project @ 2007-10-10 18:02:59 by jwe]
jwe
parents: 6987
diff changeset
67 OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/main-rcfile" \
8b0cfeb06365 [project @ 2007-10-10 18:02:59 by jwe]
jwe
parents: 6987
diff changeset
68 LD_PRELOAD="$liboctinterp $liboctave $libcruft" \
8b0cfeb06365 [project @ 2007-10-10 18:02:59 by jwe]
jwe
parents: 6987
diff changeset
69 %library_path_var%="$builddir/src:$builddir/liboctave:$builddir/libcruft:$%library_path_var%" \
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
70 exec $driver "$builddir/src/octave" --no-initial-path --path="$LOADPATH" --image-path="$IMAGEPATH" --info-file="$INFOFILE" "$@"
7001
8b0cfeb06365 [project @ 2007-10-10 18:02:59 by jwe]
jwe
parents: 6987
diff changeset
71