changeset 15156:141b0b108292 gui

allow building without gui to work * configure.ac: Enable building GUI by default. Rename OCTAVE_GUI to AMCOND_BUILD_GUI. Don't define or substitute GUIDIR. Don't check for GUI toolkit tools and libraries if building GUI is disabled. * Makefile.am: Use else clause for AMCOND_BUILD_GUI automake conditional. * src/Makefile.am: If not building GUI, make octave and octave-cli binaries identical. * gui/src/Makefile.am: Style fixes. Use - instead of _ and .cc instead of .cpp in generated file names.
author John W. Eaton <jwe@octave.org>
date Sat, 11 Aug 2012 11:47:03 -0400
parents 9e62d5a3a45e
children 960aa8863476
files Makefile.am configure.ac gui/src/Makefile.am gui/src/settings-dialog.cc gui/src/welcome-wizard.cc src/Makefile.am
diffstat 6 files changed, 161 insertions(+), 141 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am	Sat Aug 11 11:02:12 2012 -0400
+++ b/Makefile.am	Sat Aug 11 11:47:03 2012 -0400
@@ -67,8 +67,10 @@
 
 include m4/module.mk
 
-if OCTAVE_GUI
+if AMCOND_BUILD_GUI
 GUIDIR = gui
+else
+GUIDIR =
 endif
 
 # Subdirectories in which to run `make all'.
--- a/configure.ac	Sat Aug 11 11:02:12 2012 -0400
+++ b/configure.ac	Sat Aug 11 11:47:03 2012 -0400
@@ -2149,43 +2149,40 @@
 ### GUI/Qt related tests.
 
 HAVE_QT=false
-GUIDIR=
 QT_INCDIR=
 QT_LIBDIR=
-AC_CHECK_PROGS(QMAKE, [qmake qmake-qt4 qmake-qt5])
-if test -n "$QMAKE"; then
-  QT_INCDIR=`$QMAKE -query | sed -n -e 's/^QT_INSTALL_HEADERS://p'`
-  QT_LIBDIR=`$QMAKE -query | sed -n -e 's/^QT_INSTALL_LIBS://p'`
-  AC_CHECK_PROGS(MOC, [moc moc-qt4 moc-qt5])
-  AC_CHECK_PROGS(UIC, [uic uic-qt4 uic-qt5])
-  AC_CHECK_PROGS(RCC, [rcc])
-  if test -n "$MOC" && test -n "$UIC" && test -n "$RCC"; then
-    HAVE_QT=true
-    AC_DEFINE([HAVE_QT], 1, [Define to 1 if Qt is available (must have moc, uic, and rcc programs and developer header files and libraries installed)])
-    GUIDIR=gui
+build_gui=yes
+win32_terminal=no
+AC_ARG_ENABLE(gui,
+  [AS_HELP_STRING([--disable-gui], [build GUI (default is yes)])],
+  [if test "$enableval" = no; then build_gui=no; fi], [build_gui=yes])
+
+if test $build_gui = yes; then
+  AC_CHECK_PROGS(QMAKE, [qmake qmake-qt4 qmake-qt5])
+  if test -n "$QMAKE"; then
+    QT_INCDIR=`$QMAKE -query | sed -n -e 's/^QT_INSTALL_HEADERS://p'`
+    QT_LIBDIR=`$QMAKE -query | sed -n -e 's/^QT_INSTALL_LIBS://p'`
+    AC_CHECK_PROGS(MOC, [moc moc-qt4 moc-qt5])
+    AC_CHECK_PROGS(UIC, [uic uic-qt4 uic-qt5])
+    AC_CHECK_PROGS(RCC, [rcc])
+    if test -n "$MOC" && test -n "$UIC" && test -n "$RCC"; then
+      HAVE_QT=true
+      AC_DEFINE([HAVE_QT], 1, [Define to 1 if Qt is available (must have moc, uic, and rcc programs and developer header files and libraries installed)])
+    fi
   fi
+
+  case "$canonical_host_type" in
+    *-*-mingw* | *-*-msdosmsvc*) win32_terminal=yes ;;
+    *)
+      AC_CHECK_HEADERS([pty.h libutil.h util.h])
+      AC_SEARCH_LIBS([openpty], [util], [AC_DEFINE([HAVE_OPENPTY], [], [Define whether openpty exists])])
+      ;;
+  esac
 fi
+AM_CONDITIONAL([AMCOND_BUILD_GUI], [test $build_gui = yes])
+AM_CONDITIONAL([WIN32_TERMINAL], [test $win32_terminal = yes])
 AC_SUBST(QT_INCDIR)
 AC_SUBST(QT_LIBDIR)
-AC_SUBST(GUIDIR)
-  
-case "$canonical_host_type" in
-  *-*-mingw* | *-*-msdosmsvc*) win32_terminal=yes ;;
-  *)
-    win32_terminal=no
-    AC_CHECK_HEADERS([pty.h libutil.h util.h])
-    AC_SEARCH_LIBS([openpty], [util], [AC_DEFINE([HAVE_OPENPTY], [], [Define whether openpty exists])])
-    ;;
-esac
-AM_CONDITIONAL([WIN32_TERMINAL], [test x$win32_terminal = xyes])
-
-octave_gui=
-AC_ARG_ENABLE(gui,
-  [AS_HELP_STRING([--enable-gui], [build GUI (default is no)])],
-  [if test "$enableval" = yes; then
-     octave_gui=yes
-   fi], [])
-AM_CONDITIONAL([OCTAVE_GUI], [test x$octave_gui = xyes])
 
 ### Run configure in subdirectories.
 
--- a/gui/src/Makefile.am	Sat Aug 11 11:02:12 2012 -0400
+++ b/gui/src/Makefile.am	Sat Aug 11 11:47:03 2012 -0400
@@ -1,67 +1,75 @@
-SRCDIRS = m-editor qtinfo octave-adapter \
-	  ../qterminal/libqterminal/unix ../qterminal/libqterminal/win32 ../qterminal/libqterminal ../qterminal
+SRCDIRS = \
+  m-editor \
+  qtinfo \
+  octave-adapter \
+  ../qterminal/libqterminal/unix \
+  ../qterminal/libqterminal/win32 \
+  ../qterminal/libqterminal \
+  ../qterminal
 
-moc_%.cpp: %.h
+moc-%.cc: %.h
 	test -d $(@D) || mkdir -p $(@D)
 	@MOC@ -o$@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboctgui_la_CPPFLAGS) $<
 
-ui_%.h: %.ui
+ui-%.h: %.ui
 	@UIC@ -o $@ $<
 
-qrc_%.cpp: %.qrc
+qrc-%.cc: %.qrc
 	@RCC@ -o $@ $<
 
 octave_gui_MOC = \
-		 moc_documentation-dockwidget.cpp \
-		 moc_files-dockwidget.cpp \
-		 moc_history-dockwidget.cpp \
-		 moc_main-window.cpp \
-		 moc_octave-qt-event-listener.cpp \
-		 moc_settings-dialog.cpp \
-		 moc_terminal-dockwidget.cpp \
-		 moc_welcome-wizard.cpp \
-		 moc_workspace-model.cpp \
-		 moc_workspace-view.cpp \
-		 m-editor/moc_file-editor.cpp \
-		 m-editor/moc_file-editor-interface.cpp \
-		 m-editor/moc_file-editor-tab.cpp \
-		 m-editor/moc_find-dialog.cpp \
-		 m-editor/moc_lexer-octave-gui.cpp \
-		 octave-adapter/moc_octave-main-thread.cpp \
-		 qtinfo/moc_parser.cpp \
-		 qtinfo/moc_webinfo.cpp
+  m-editor/moc-file-editor-interface.cc \
+  m-editor/moc-file-editor-tab.cc \
+  m-editor/moc-file-editor.cc \
+  m-editor/moc-find-dialog.cc \
+  m-editor/moc-lexer-octave-gui.cc \
+  moc-documentation-dockwidget.cc \
+  moc-files-dockwidget.cc \
+  moc-history-dockwidget.cc \
+  moc-main-window.cc \
+  moc-octave-qt-event-listener.cc \
+  moc-settings-dialog.cc \
+  moc-terminal-dockwidget.cc \
+  moc-welcome-wizard.cc \
+  moc-workspace-model.cc \
+  moc-workspace-view.cc \
+  octave-adapter/moc-octave-main-thread.cc \
+  qtinfo/moc-parser.cc \
+  qtinfo/moc-webinfo.cc
+
 octave_gui_UI = \
-		settings-dialog.ui \
-		welcome-wizard.ui
-octave_gui_UI_H = $(patsubst %.ui,ui_%.h,$(octave_gui_UI))
+  settings-dialog.ui \
+  welcome-wizard.ui
 
-octave_gui_RC = qrc_resource.cpp
+octave_gui_UI_H = $(patsubst %.ui, ui-%.h, $(octave_gui_UI))
+
+octave_gui_RC = qrc-resource.cc
 
 octlib_LTLIBRARIES = liboctgui.la
 
 liboctgui_la_SOURCES = \
-		     documentation-dockwidget.cc \
-		     files-dockwidget.cc \
-		     history-dockwidget.cc \
-		     main-window.cc \
-		     octave-gui.cc \
-		     octave-qt-event-listener.cc \
-		     resource-manager.cc \
-		     settings-dialog.cc \
-		     symbol-information.cc \
-		     terminal-dockwidget.cc \
-		     welcome-wizard.cc \
-		     workspace-model.cc \
-		     workspace-view.cc \
-		     m-editor/file-editor.cc \
-		     m-editor/file-editor-tab.cc \
-		     m-editor/find-dialog.cc \
-		     m-editor/lexer-octave-gui.cc \
-		     octave-adapter/octave-event.cc \
-		     octave-adapter/octave-link.cc \
-		     octave-adapter/octave-main-thread.cc \
-		     qtinfo/parser.cc \
-		     qtinfo/webinfo.cc
+  documentation-dockwidget.cc \
+  files-dockwidget.cc \
+  history-dockwidget.cc \
+  m-editor/file-editor-tab.cc \
+  m-editor/file-editor.cc \
+  m-editor/find-dialog.cc \
+  m-editor/lexer-octave-gui.cc \
+  main-window.cc \
+  octave-adapter/octave-event.cc \
+  octave-adapter/octave-link.cc \
+  octave-adapter/octave-main-thread.cc \
+  octave-gui.cc \
+  octave-qt-event-listener.cc \
+  qtinfo/parser.cc \
+  qtinfo/webinfo.cc \
+  resource-manager.cc \
+  settings-dialog.cc \
+  symbol-information.cc \
+  terminal-dockwidget.cc \
+  welcome-wizard.cc \
+  workspace-model.cc \
+  workspace-view.cc
 
 liboctgui_la_LIBADD = \
   libqterminal.la \
@@ -95,30 +103,30 @@
 liboctgui_la_LDFLAGS = -L@QT_LIBDIR@
 
 noinst_HEADERS = \
-		 documentation-dockwidget.h \
-		 files-dockwidget.h \
-		 history-dockwidget.h \
-		 main-window.h \
-		 octave-qt-event-listener.h \
-		 resource-manager.h \
-		 settings-dialog.h \
-		 symbol-information.h \
-		 terminal-dockwidget.h \
-		 welcome-wizard.h \
-		 workspace-model.h \
-		 workspace-view.h \
-		 m-editor/file-editor.h \
-		 m-editor/file-editor-interface.h \
-		 m-editor/file-editor-tab.h \
-		 m-editor/find-dialog.h \
-		 m-editor/lexer-octave-gui.h \
-		 octave-adapter/octave-event.h \
-		 octave-adapter/octave-event-observer.h \
-		 octave-adapter/octave-event-listener.h \
-		 octave-adapter/octave-link.h \
-		 octave-adapter/octave-main-thread.h \
-		 qtinfo/parser.h \
-		 qtinfo/webinfo.h
+  documentation-dockwidget.h \
+  files-dockwidget.h \
+  history-dockwidget.h \
+  m-editor/file-editor-interface.h \
+  m-editor/file-editor-tab.h \
+  m-editor/file-editor.h \
+  m-editor/find-dialog.h \
+  m-editor/lexer-octave-gui.h \
+  main-window.h \
+  octave-adapter/octave-event-listener.h \
+  octave-adapter/octave-event-observer.h \
+  octave-adapter/octave-event.h \
+  octave-adapter/octave-link.h \
+  octave-adapter/octave-main-thread.h \
+  octave-qt-event-listener.h \
+  qtinfo/parser.h \
+  qtinfo/webinfo.h \
+  resource-manager.h \
+  settings-dialog.h \
+  symbol-information.h \
+  terminal-dockwidget.h \
+  welcome-wizard.h \
+  workspace-model.h \
+  workspace-view.h
 
 CLEANFILES = $(octave_gui_MOC) $(octave_gui_UI_H) $(octave_gui_RC)
 
@@ -165,42 +173,48 @@
 			   -I$(srcdir)/../qterminal/libqterminal
 
 libqterminal_la_MOC = \
-		      ../qterminal/libqterminal/moc_QTerminal.cpp \
-		      ../qterminal/libqterminal/moc_QTerminalInterface.cpp
+  ../qterminal/libqterminal/moc-QTerminal.cc \
+  ../qterminal/libqterminal/moc-QTerminalInterface.cc
 
 nodist_libqterminal_la_SOURCES = $(libqterminal_la_MOC)
 
 if WIN32_TERMINAL
+
 libqterminal_la_SOURCES = \
-			  ../qterminal/libqterminal/win32/QTerminalColors.cpp \
-			  ../qterminal/libqterminal/win32/QWinTerminalImpl.cpp
-libqterminal_la_MOC += ../qterminal/libqterminal/win32/moc_QWinTerminalImpl.cpp
+  ../qterminal/libqterminal/win32/QTerminalColors.cpp \
+  ../qterminal/libqterminal/win32/QWinTerminalImpl.cpp
+
+libqterminal_la_MOC += ../qterminal/libqterminal/win32/moc-QWinTerminalImpl.cc
+
 else
+
 libqterminal_la_SOURCES = \
-			  ../qterminal/libqterminal/unix/BlockArray.cpp \
-			  ../qterminal/libqterminal/unix/Emulation.cpp \
-			  ../qterminal/libqterminal/unix/Filter.cpp \
-			  ../qterminal/libqterminal/unix/History.cpp \
-			  ../qterminal/libqterminal/unix/KeyboardTranslator.cpp \
-			  ../qterminal/libqterminal/unix/konsole_wcwidth.cpp \
-			  ../qterminal/libqterminal/unix/kpty.cpp \
-			  ../qterminal/libqterminal/unix/QUnixTerminalImpl.cpp \
-			  ../qterminal/libqterminal/unix/Screen.cpp \
-			  ../qterminal/libqterminal/unix/ScreenWindow.cpp \
-			  ../qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp \
-			  ../qterminal/libqterminal/unix/Vt102Emulation.cpp \
-			  ../qterminal/libqterminal/unix/SelfListener.cpp \
-			  ../qterminal/libqterminal/unix/TerminalModel.cpp \
-			  ../qterminal/libqterminal/unix/TerminalView.cpp
+  ../qterminal/libqterminal/unix/BlockArray.cpp \
+  ../qterminal/libqterminal/unix/Emulation.cpp \
+  ../qterminal/libqterminal/unix/Filter.cpp \
+  ../qterminal/libqterminal/unix/History.cpp \
+  ../qterminal/libqterminal/unix/KeyboardTranslator.cpp \
+  ../qterminal/libqterminal/unix/konsole_wcwidth.cpp \
+  ../qterminal/libqterminal/unix/kpty.cpp \
+  ../qterminal/libqterminal/unix/QUnixTerminalImpl.cpp \
+  ../qterminal/libqterminal/unix/Screen.cpp \
+  ../qterminal/libqterminal/unix/ScreenWindow.cpp \
+  ../qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp \
+  ../qterminal/libqterminal/unix/Vt102Emulation.cpp \
+  ../qterminal/libqterminal/unix/SelfListener.cpp \
+  ../qterminal/libqterminal/unix/TerminalModel.cpp \
+  ../qterminal/libqterminal/unix/TerminalView.cpp
+
 libqterminal_la_MOC += \
-		       ../qterminal/libqterminal/unix/moc_Emulation.cpp \
-		       ../qterminal/libqterminal/unix/moc_Filter.cpp \
-		       ../qterminal/libqterminal/unix/moc_QUnixTerminalImpl.cpp \
-		       ../qterminal/libqterminal/unix/moc_ScreenWindow.cpp \
-		       ../qterminal/libqterminal/unix/moc_SelfListener.cpp \
-		       ../qterminal/libqterminal/unix/moc_TerminalModel.cpp \
-		       ../qterminal/libqterminal/unix/moc_TerminalView.cpp \
-		       ../qterminal/libqterminal/unix/moc_Vt102Emulation.cpp
+  ../qterminal/libqterminal/unix/moc-Emulation.cc \
+  ../qterminal/libqterminal/unix/moc-Filter.cc \
+  ../qterminal/libqterminal/unix/moc-QUnixTerminalImpl.cc \
+  ../qterminal/libqterminal/unix/moc-ScreenWindow.cc \
+  ../qterminal/libqterminal/unix/moc-SelfListener.cc \
+  ../qterminal/libqterminal/unix/moc-TerminalModel.cc \
+  ../qterminal/libqterminal/unix/moc-TerminalView.cc \
+  ../qterminal/libqterminal/unix/moc-Vt102Emulation.cc
+
 endif
 
 CLEANFILES += $(libqterminal_la_MOC)
--- a/gui/src/settings-dialog.cc	Sat Aug 11 11:02:12 2012 -0400
+++ b/gui/src/settings-dialog.cc	Sat Aug 11 11:47:03 2012 -0400
@@ -17,7 +17,7 @@
 
 #include "resource-manager.h"
 #include "settings-dialog.h"
-#include "ui_settings-dialog.h"
+#include "ui-settings-dialog.h"
 #include <QSettings>
 
 settings_dialog::settings_dialog (QWidget * parent):
--- a/gui/src/welcome-wizard.cc	Sat Aug 11 11:02:12 2012 -0400
+++ b/gui/src/welcome-wizard.cc	Sat Aug 11 11:47:03 2012 -0400
@@ -16,7 +16,7 @@
  */
 
 #include "welcome-wizard.h"
-#include "ui_welcome-wizard.h"
+#include "ui-welcome-wizard.h"
 
 welcome_wizard::welcome_wizard (QWidget *parent) :
   QDialog (parent),
--- a/src/Makefile.am	Sat Aug 11 11:02:12 2012 -0400
+++ b/src/Makefile.am	Sat Aug 11 11:47:03 2012 -0400
@@ -39,8 +39,7 @@
 if AMCOND_BUILD_COMPILED_AUX_PROGRAMS
 bin_PROGRAMS = \
   mkoctfile \
-  octave \
-  octave-cli \
+  $(OCTAVE_PROGRAMS) \
   octave-config
 
 mkoctfile_SOURCES =
@@ -235,16 +234,24 @@
   $(NO_UNDEFINED_LDFLAG) \
   $(OCTAVE_LINK_OPTS)
 
-octave_SOURCES = main.cc
+if AMCOND_BUILD_GUI
+  octave_SOURCES = main.cc
+  OCTAVE_GUI_LIBS = ../gui/src/liboctgui.la
+  OCTAVE_GUI_CPPFLAGS = -I$(top_srcdir)/gui/src
+else
+  octave_SOURCES = main-cli.cc
+  OCTAVE_GUI_LIBS =
+  OCTAVE_GUI_CPPFLAGS =
+endif
 
-octave_CPPFLAGS = -I$(top_srcdir)/gui/src
+octave_CPPFLAGS = $(OCTAVE_GUI_CPPFLAGS)
 
 octave_LDADD = \
   $(OCTAVE_CORE_LIBS) \
-  ../gui/src/liboctgui.la \
+  $(OCTAVE_GUI_LIBS) \
   $(OCTAVE_LINK_DEPS)
 
-octave_LDFLAGS = -DENABLE_GUI=1 $(octave_cli_LDFLAGS)
+octave_LDFLAGS = $(octave_cli_LDFLAGS)
 
 ## Section for defining and creating DEF_FILES
 SRC_DEF_FILES := $(shell $(srcdir)/find-defun-files.sh "$(srcdir)" $(DIST_SRC))