view libinterp/mk-pkg-add @ 20158:857a8f018f53

set up octave_link when running with --no-gui option (bug #44116) * main-window.h, main-window.cc (main_window::_start_gui): New member variable. (main_window::main_window): New argument, start_gui. Skip most initialization if start_gui is false. (main_window::confirm_shutdown_octave): Skip interactive confirmation if _start_gui is false. (main_window::connect_uiwidget_links, main_window::construct, main_window::construct_octave_qt_link): Skip most initialization if _start_gui is false. (main_window::handle_octave_ready): Handle non-gui case. * octave-gui.cc (octave_start_gui): Unify gui/non-gui options.
author John W. Eaton <jwe@octave.org>
date Tue, 17 Mar 2015 10:13:58 -0400
parents 4197fc428c7d
children 227d582fa300
line wrap: on
line source

#! /bin/sh
#
# Copyright (C) 2005-2015 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/>.

set -e

SED=${SED:-'sed'}

for f in "$@"; do
  if [ -f $f ]; then

    ## Compute and print the autoloads.

    base=`basename $f | $SED 's/\.df$//'`
    fcns=`$SED -n -e 's/^ *XDEFUN_DLD_INTERNAL *( *\([^, ]*\)[, ].*$/\1/p' \
                  -e 's/^ *XDEFUNX_DLD_INTERNAL *( *"\([^"]*\)".*$/\1/p' $f | \
          sort -u`
    if [ -n "$fcns" ]; then
      for n in $fcns; do
        if [ "$n" = "$base" ]; then
          true
        else
          echo "autoload (\"$n\", \"$base.oct\");"
        fi
      done
    fi

    ## Process PKG_ADD directives after autoloads so that all
    ## necessary functions can be found before they are used.

    $SED -n -e 's,^//* *PKG_ADD: *,,p' \
            -e 's,^/\* *PKG_ADD: *\(.*\) *\*/ *$,\1,p' $f

  fi
done

exit $?