Mercurial > octave-libgccjit
view run-octave.in @ 15139:bfc220d1de67 gui
include gui in default Octave binary
* Makefile.am (GUIDIR): New variable.
(SUBDIRS): Use it in the list instead of @GUIDIR@. List $(GUIDIR)
before src.
* gui/src/Makefile.am (bin_PROGRAMS): Delete.
(octlib_LTLIBRARIES): New variable.
(liboctgui_la_SOURCES): Rename from octave_gui_SOURCES.
(liboctgui_la_CPPFLAGS): Rename from octave_gui_CPPFLAGS.
(liboctgui_la_LIBADD): Rename from octave_gui_LDADD.
Don't include Octave libraries in the list.
Do include Qt libraries in the list.
(liboctgui_la_LDFLAGS): Rename from octave_gui_LDFLAGS.
Only include -L@QT_LIBDIR@ option in the list.
(moc_%.cpp): Use $(liboctgui_la_CPPFLAGS) in rules, not
$(octave_gui_CPPFLAGS).
* octave-gui.h: New file.
* octave-gui.cc: Include it.
(dissociate_terminal): In parent, wait for child process and exit with
exit status of child.
(octave_start_gui): Rename from main.
* run-octave.in: Start with GUI by default. Rename -gui option -cli
to allow running octave-cli binary.
* main.cc, main-cli.cc: New files.
* main.c: Delete.
* src/Makefile (bin_PROGRAMS): Include octave-cli in the list.
(OCTAVE_CORE_LIBS): New variable.
(octave_cli_SOURCES, octave_cli_LDADD, octave_cli_LDFLAGS):
New variables.
(octave_SOURCES): Define to main.cc, not main.c.
(octave_CPPFLAGS): New variable.
(octave_LDFLAGS): Include -DENABLE_GUI=1 in the list.
(octave_LDADD): Use $(OCTAVE_CORE_LIBS) and link with GUI lib.
* octave.cc (force_gui_option, no_gui_option): New static variables.
(octave_starting_gui): New function.
(usage_string): Update for new options.
(FORCE_GUI_OPTION, NO_GUI_OPTION): New macros.
(long_opts): Include "force-gui" and "no-gui" options in the list.
(octave_main): Handle FORCE_GUI_OPTION and NO_GUI_OPTION cases.
Error if both --force-gui and --no-gui are used.
* octave.h (octave_starting_gui): Provide decl.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 10 Aug 2012 10:27:32 -0400 |
parents | 16a6b0a6855d |
children | 098546e95a5e |
line wrap: on
line source
#! /bin/sh ## ## run-octave -- run Octave in the build tree. ## ## Copyright (C) 2006-2012 John W. Eaton ## ## This file is part of Octave. ## ## Octave is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by the ## Free Software Foundation; either version 3 of the License, or (at ## your option) any later version. ## ## Octave is distributed in the hope that it will be useful, but WITHOUT ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## for more details. ## ## You should have received a copy of the GNU General Public License ## along with Octave; see the file COPYING. If not, see ## <http://www.gnu.org/licenses/>. AWK=%AWK% FIND=%FIND% SED=%SED% # FIXME -- is there a better way to handle the possibility of spaces # in these names? top_srcdir='%abs_top_srcdir%' builddir='%builddir%' d1="$top_srcdir/scripts" d2="$builddir/scripts" d3="$builddir/src" d1_list=`$FIND "$d1" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'` d2_list=`$FIND "$d2" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'` d3_list=`$FIND "$d3" -type d -a ! \( \( -name private -o -name '@*' \) -a -prune \) -exec echo '{}' ';' | $SED 's/$/:/'` d1_path=`echo "$d1_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'` d2_path=`echo "$d2_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'` d3_path=`echo "$d3_list" | $AWK '{ t = (s $0); s = t; } END { sub (/:$/, "", s); print s; }'` octave_executable="$builddir/src/octave" LOADPATH="$d1_path:$d2_path:$d3_path" IMAGEPATH="$top_srcdir/scripts/image" DOCFILE="$builddir/doc/interpreter/doc-cache" TEXIMACROSFILE="$top_srcdir/doc/interpreter/macros.texi" INFOFILE="$top_srcdir/doc/interpreter/octave.info" ## Checking for string equality below with prepended x's in order to ## handle problems with empty strings. if [ $# -gt 0 ]; then if [ "x$1" = "x-g" ]; then driver="gdb --args" shift elif [ "x$1" = "x-gud" ]; then ## Frontends for gdb (e.g. Emacs's GUD mode) need --annotate=3 driver="gdb --annotate=3 --args" shift elif [ "x$1" = "x-valgrind" ]; then driver="valgrind --tool=memcheck" shift elif [ "x$1" = "x-strace" ]; then driver="strace -o octave.trace" shift elif [ "x$1" = "x-cli" ]; then octave_executable="$builddir/src/octave-cli" shift fi fi OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/main-rcfile" \ exec $builddir/libtool --mode=execute $driver \ "$octave_executable" --no-init-path --path="$LOADPATH" \ --image-path="$IMAGEPATH" --doc-cache-file="$DOCFILE" \ --texi-macros-file="$TEXIMACROSFILE" --info-file="$INFOFILE" "$@"