view src/main.cc @ 17568:1b388d922e6b

provide --no-fork command line option * octave.cc (no_fork_option): New static varaible. (NO_FORK_OPTION): New macro. (long_opts): Include it in the list. (usage_string, verbose_usage): Update for new --no-fork option. (octave_process_command_line): Handle NO_FORK_OPTION case. * octave-gui.h, octave-gui.cc (octave_start_gui): New arg, fork. Don't call dissociate_terminal if fork is false. * octave.h, octave.cc (octave_fork_gui): New function. * main.cc (main): Use it to pass --no-fork option to gui.
author John W. Eaton <jwe@octave.org>
date Fri, 04 Oct 2013 13:53:25 -0400
parents 054905bfc306
children d63878346099
line wrap: on
line source

/*

Copyright (C) 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/>.

*/

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include "defaults.h"
#include "octave.h"
#include "octave-gui.h"
#include "sysdep.h"

int
main (int argc, char **argv)
{
  int retval = 0;

  octave_process_command_line (argc, argv);

  sysdep_init ();

  install_defaults ();

  if (octave_starting_gui ())
    retval = octave_start_gui (argc, argv, octave_fork_gui ());
  else
    {
      octave_initialize_interpreter (argc, argv, 0);

      retval = octave_execute_interpreter ();
    }

  return retval;
}


/*!
@mainpage Source code documentation for GNU Octave

GNU Octave is a high-level language, primarily intended for numerical
computations.  It provides a convenient interactive command line
interface for solving linear and nonlinear problems numerically, and
for performing other numerical experiments.  It may also be used as a
batch-oriented language for data processing.

GNU Octave is free software. You may redistribute it and/or modify it
under the terms of the <a href="http://www.gnu.org/licenses/">GNU
General Public License</a> as published by the Free Software Foundation.

This is the developer documentation for Octave's own source code. It is
intended to help for hacking Octave. It may also be useful for
understanding the Octave API when writing your own .oct files.
*/