view autogen.sh @ 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 000587f92082
children 2fc554ffbc28
line wrap: on
line source

#! /bin/sh
# autogen.sh
# Run this to generate all the initial makefiles, etc.

set -e

## Use --foreign since we auto-generate the AUTHORS file and the default
## --gnu strictness level doesn't like it if the AUTHORS file is missing.

AUTOMAKE="automake --foreign --warnings=no-portability"
export AUTOMAKE

## Check for files that automake --gnu would normally look for, except
## AUTHORS, which we autogenerate from the documentation files along with
## building the rest of Octave, and INSTALL, which is linked from
## gnulib/doc/INSTALL by the bootstrap script.

for f in NEWS README COPYING; do
  if ! test -f $f; then
    echo "required file $f is missing" 2>&1
    exit 1
  fi
done

echo "generating source lists for liboctave/Makefile..."

(cd liboctave; ./config-ops.sh)

echo "generating doc/interpreter/images.mk..."

(cd doc/interpreter; ./config-images.sh)

echo "generating src/dldfcn/module.mk..."

(cd src/dldfcn; ./config-module.sh)

echo "bootstrapping..."

build-aux/bootstrap "$@"

## G77 is obsolete, but it is still the first option in the autoconf Fortran
## macros.  We should avoid it, because mixing old versions of g77 with modern
## gcc and g++ causes trouble.  The following will make it harder (but not
## impossible) for users to make this mistake.
##
## FIXME -- we should really work to fix autoconf so that it prefers gfortran
## over g77 even when searching for a Fortran 77 compiler.

echo "replacing all occurrences of g77 with gfortran in configure script..."

sed 's/g77/gfortran/g' configure > configure.t
mv configure.t configure
chmod 755 configure