annotate run-octave.in @ 20654:b65888ec820e draft default tip gccjit

dmalcom gcc jit import
author Stefan Mahr <dac922@gmx.de>
date Fri, 27 Feb 2015 16:59:36 +0100
parents ac0f7acdc3fd
children
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.
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
4 ##
19731
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 19630
diff changeset
5 ## Copyright (C) 2006-2015 John W. Eaton
7017
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.
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
8 ##
7016
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.
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
13 ##
7016
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.
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
18 ##
7016
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
20465
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
23 : ${AWK=%AWK%}
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
24 : ${FIND=%FIND%}
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
25 : ${SED=%SED%}
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
26
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
27 # FIXME -- is there a better way to handle the possibility of spaces
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
28 # in these names?
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
29
6131
9a6e5cae5275 [project @ 2006-11-01 18:25:54 by jwe]
jwe
parents: 6129
diff changeset
30 top_srcdir='%abs_top_srcdir%'
9a6e5cae5275 [project @ 2006-11-01 18:25:54 by jwe]
jwe
parents: 6129
diff changeset
31 builddir='%builddir%'
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
32
13187
12814f1fbbd2 Omit $top_srcdir/test directory tree from Octave's path in run-octave script
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
33 d1="$top_srcdir/scripts"
12814f1fbbd2 Omit $top_srcdir/test directory tree from Octave's path in run-octave script
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
34 d2="$builddir/scripts"
15195
2fc554ffbc28 split libinterp from src
John W. Eaton <jwe@octave.org>
parents: 15159
diff changeset
35 d3="$builddir/libinterp"
19066
d902542221c8 new data directory for storing data files we distribute
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
36 d4="$top_srcdir/examples/data"
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
37
9381
f9ab19428cd8 * run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents: 9132
diff changeset
38 d1_list=`$FIND "$d1" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'`
f9ab19428cd8 * run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents: 9132
diff changeset
39 d2_list=`$FIND "$d2" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'`
f9ab19428cd8 * run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents: 9132
diff changeset
40 d3_list=`$FIND "$d3" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'`
19066
d902542221c8 new data directory for storing data files we distribute
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
41 d4_list=`$FIND "$d4" -type d -exec echo '{}' ';' | $SED 's/$/:/'`
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
42
6827
647cad232070 [project @ 2007-08-24 16:38:05 by jwe]
jwe
parents: 6732
diff changeset
43 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
44 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
45 d3_path=`echo "$d3_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'`
19066
d902542221c8 new data directory for storing data files we distribute
John W. Eaton <jwe@octave.org>
parents: 18168
diff changeset
46 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
47
15137
16a6b0a6855d GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents: 14614
diff changeset
48 octave_executable="$builddir/src/octave"
16a6b0a6855d GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents: 14614
diff changeset
49
19066
d902542221c8 new data directory for storing data files we distribute
John W. Eaton <jwe@octave.org>
parents: 18168
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"
8940
6994961bf1f4 use doc-cache instead of DOC for doc cache file name
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
52 DOCFILE="$builddir/doc/interpreter/doc-cache"
15470
bf0857c789f4 initialize docstrings for built-in functions from file
John W. Eaton <jwe@octave.org>
parents: 15335
diff changeset
53 BUILT_IN_DOCSTRINGS_FILE="$builddir/libinterp/DOCSTRINGS"
14614
4e9dc46d4125 handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
54 TEXIMACROSFILE="$top_srcdir/doc/interpreter/macros.texi"
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents: 9613
diff changeset
55 INFOFILE="$top_srcdir/doc/interpreter/octave.info"
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
56
11452
e1a5bf3ea1d9 Add a GUD mode option to run-octave.in
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 9794
diff changeset
57 ## Checking for string equality below with prepended x's in order to
e1a5bf3ea1d9 Add a GUD mode option to run-octave.in
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 9794
diff changeset
58 ## handle problems with empty strings.
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
59 if [ $# -gt 0 ]; then
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
60 if [ "x$1" = "x-g" ]; then
6987
deb175b6e4a1 [project @ 2007-10-09 18:39:15 by jwe]
jwe
parents: 6827
diff changeset
61 driver="gdb --args"
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
62 shift
11452
e1a5bf3ea1d9 Add a GUD mode option to run-octave.in
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 9794
diff changeset
63 elif [ "x$1" = "x-gud" ]; then
e1a5bf3ea1d9 Add a GUD mode option to run-octave.in
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 9794
diff changeset
64 ## Frontends for gdb (e.g. Emacs's GUD mode) need --annotate=3
e1a5bf3ea1d9 Add a GUD mode option to run-octave.in
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 9794
diff changeset
65 driver="gdb --annotate=3 --args"
e1a5bf3ea1d9 Add a GUD mode option to run-octave.in
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 9794
diff changeset
66 shift
15335
5187c3ea5a68 run-octave.in: Add -gud2 option to support new versions of gud
Max Brister <max@2bass.com>
parents: 15249
diff changeset
67 elif [ "x$1" = "x-gud2" ]; then
5187c3ea5a68 run-octave.in: Add -gud2 option to support new versions of gud
Max Brister <max@2bass.com>
parents: 15249
diff changeset
68 ## The latest version of gud needs -i=mi. There isn't a good way to check
16036
dd583c258cf9 Fix trivial typo in run-octave.in comment
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15971
diff changeset
69 ## this at configure time, so we just add a gud2 flag
15335
5187c3ea5a68 run-octave.in: Add -gud2 option to support new versions of gud
Max Brister <max@2bass.com>
parents: 15249
diff changeset
70 driver="gdb -i=mi --args"
5187c3ea5a68 run-octave.in: Add -gud2 option to support new versions of gud
Max Brister <max@2bass.com>
parents: 15249
diff changeset
71 shift
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
72 elif [ "x$1" = "x-valgrind" ]; then
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
73 driver="valgrind --tool=memcheck"
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
74 shift
19193
eeb22763138b Add --callgrind option to run-octave to run with profiling.
Rik <rik@octave.org>
parents: 19066
diff changeset
75 elif [ "x$1" = "x-callgrind" ]; then
eeb22763138b Add --callgrind option to run-octave to run with profiling.
Rik <rik@octave.org>
parents: 19066
diff changeset
76 driver="valgrind --tool=callgrind"
eeb22763138b Add --callgrind option to run-octave to run with profiling.
Rik <rik@octave.org>
parents: 19066
diff changeset
77 shift
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
78 elif [ "x$1" = "x-strace" ]; then
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
79 driver="strace -o octave.trace"
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
80 shift
20654
b65888ec820e dmalcom gcc jit import
Stefan Mahr <dac922@gmx.de>
parents: 20514
diff changeset
81 fi
b65888ec820e dmalcom gcc jit import
Stefan Mahr <dac922@gmx.de>
parents: 20514
diff changeset
82 fi
b65888ec820e dmalcom gcc jit import
Stefan Mahr <dac922@gmx.de>
parents: 20514
diff changeset
83
b65888ec820e dmalcom gcc jit import
Stefan Mahr <dac922@gmx.de>
parents: 20514
diff changeset
84 if [ $# -gt 0 ]; then
b65888ec820e dmalcom gcc jit import
Stefan Mahr <dac922@gmx.de>
parents: 20514
diff changeset
85 if [ "x$1" = "x-cli" ]; then
15139
bfc220d1de67 include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents: 15137
diff changeset
86 octave_executable="$builddir/src/octave-cli"
15137
16a6b0a6855d GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents: 14614
diff changeset
87 shift
5786
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
88 fi
9c3c903f037e [project @ 2006-05-03 20:03:41 by jwe]
jwe
parents:
diff changeset
89 fi
6125
a1754033bc6c [project @ 2006-10-29 17:05:53 by jwe]
jwe
parents: 6074
diff changeset
90
18168
525af54479eb allow run-octave to find octave-gui program
John W. Eaton <jwe@octave.org>
parents: 17778
diff changeset
91 ## We set OCTAVE_ARCHLIBDIR so that the wrapper program can find the
525af54479eb allow run-octave to find octave-gui program
John W. Eaton <jwe@octave.org>
parents: 17778
diff changeset
92 ## octave-gui program in the build tree. That will fail if we ever
525af54479eb allow run-octave to find octave-gui program
John W. Eaton <jwe@octave.org>
parents: 17778
diff changeset
93 ## need Octave to find other things in ARCHLIBDIR that are not built
525af54479eb allow run-octave to find octave-gui program
John W. Eaton <jwe@octave.org>
parents: 17778
diff changeset
94 ## in the $builddir/src directory.
525af54479eb allow run-octave to find octave-gui program
John W. Eaton <jwe@octave.org>
parents: 17778
diff changeset
95
20465
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
96 OCTAVE_ARCHLIBDIR="$builddir/src"; export OCTAVE_ARCHLIBDIR
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
97 OCTAVE_BINDIR="$builddir/src"; export OCTAVE_BINDIR
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
98 OCTAVE_DEFAULT_QT_SETTINGS="$builddir/libgui/default-qt-settings"; export OCTAVE_DEFAULT_QT_SETTINGS
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
99 OCTAVE_JAVA_DIR="$builddir/scripts/java"; export OCTAVE_JAVA_DIR
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
100 OCTAVE_LOCALE_DIR="$builddir/libgui/languages"; export OCTAVE_LOCALE_DIR
20514
ac0f7acdc3fd avoid executing startup file twice when using run-octave script (bug #45872)
John W. Eaton <jwe@octave.org>
parents: 20465
diff changeset
101 OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/site-rcfile"; export OCTAVE_SITE_INITFILE
ac0f7acdc3fd avoid executing startup file twice when using run-octave script (bug #45872)
John W. Eaton <jwe@octave.org>
parents: 20465
diff changeset
102 OCTAVE_VERSION_INITFILE="$top_srcdir/scripts/startup/version-rcfile"; export OCTAVE_VERSION_INITFILE
20465
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
103
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
104 exec $builddir/libtool --mode=execute $driver \
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
105 "$octave_executable" --no-init-path --path="$LOADPATH" \
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
106 --image-path="$IMAGEPATH" --doc-cache-file="$DOCFILE" \
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
107 --built-in-docstrings-file="$BUILT_IN_DOCSTRINGS_FILE" \
a63f9cb609a1 run-octave: Use portable shell constructs
Mike Miller <mtmiller@octave.org>
parents: 19731
diff changeset
108 --texi-macros-file="$TEXIMACROSFILE" --info-file="$INFOFILE" "$@"