changeset 15367:d4e3f29aa499

Merge in Thorsten's changes
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Wed, 12 Sep 2012 16:23:13 -0400
parents b4c32f245da7 (current diff) 482d92904aa4 (diff)
children 501a9cc2c68f
files libgui/src/Makefile.am libgui/src/link-deps.mk
diffstat 19 files changed, 531 insertions(+), 529 deletions(-) [+]
line wrap: on
line diff
--- a/build-aux/common.mk
+++ b/build-aux/common.mk
@@ -114,13 +114,10 @@
 ## FIXME: CC_VERSION is deprecated and should be removed in version 3.12
 CC_VERSION = @CC_VERSION@
 GCC_VERSION = @GCC_VERSION@
-CONFIGURE_CFLAGS = @CFLAGS@
 CPICFLAG = @CPICFLAG@
 XTRA_CFLAGS = @XTRA_CFLAGS@
 WARN_CFLAGS = @WARN_CFLAGS@
-AM_CFLAGS = $(CONFIGURE_CFLAGS) \
-  $(XTRA_CFLAGS) $(WARN_CFLAGS)
-BUG_CFLAGS = $(XTRA_CFLAGS) $(WARN_CFLAGS) $(CFLAGS)
+AM_CFLAGS = $(XTRA_CFLAGS)
 
 BUILD_CC = @BUILD_CC@
 BUILD_CFLAGS = @BUILD_CFLAGS@
@@ -139,13 +136,10 @@
 CXX_VERSION = @CXX_VERSION@
 GXX_VERSION = @GXX_VERSION@
 CXXCPP = @CXXCPP@
-CONFIGURE_CXXFLAGS = @CXXFLAGS@
 CXXPICFLAG = @CXXPICFLAG@
 XTRA_CXXFLAGS = @XTRA_CXXFLAGS@
 WARN_CXXFLAGS = @WARN_CXXFLAGS@
-AM_CXXFLAGS = $(CONFIGURE_CXXFLAGS) \
-  $(XTRA_CXXFLAGS) $(WARN_CXXFLAGS)
-BUG_CXXFLAGS = $(XTRA_CXXFLAGS) $(WARN_CXXFLAGS) $(CXXFLAGS)
+AM_CXXFLAGS = $(XTRA_CXXFLAGS)
 
 BUILD_CXX = @BUILD_CXX@
 BUILD_CXXFLAGS = @BUILD_CXXFLAGS@
--- a/configure.ac
+++ b/configure.ac
@@ -1231,16 +1231,17 @@
   [Fortran 77], [don't use qrupdate, disable QR & Cholesky updating functions])
 
 if test "$octave_cv_lib_qrupdate" = yes; then
-  LIBS="$LIBS $QRUPDATE_LIBS"
-  AC_LANG_PUSH([Fortran 77])
-  AC_MSG_CHECKING([for slup1up in $QRUPDATE_LIBS])
-  octave_qrupdate_luu=no
-  AC_LINK_IFELSE([AC_LANG_CALL([], [slup1up])], [octave_qrupdate_luu=yes])
-  AC_MSG_RESULT([$octave_qrupdate_luu])
-  if test "$octave_qrupdate_luu" = yes; then
+  AC_CACHE_CHECK([for slup1up in $QRUPDATE_LIBS],
+    [octave_cv_func_slup1up],
+    [LIBS="$LIBS $QRUPDATE_LIBS"
+    AC_LANG_PUSH([Fortran 77])
+    AC_LINK_IFELSE([AC_LANG_CALL([], [slup1up])],
+      octave_cv_func_slup1up=yes, octave_cv_func_slup1up=no)
+    AC_LANG_POP([Fortran 77])
+  ])
+  if test $octave_cv_func_slup1up = yes; then
     AC_DEFINE(HAVE_QRUPDATE_LUU, 1, [Define to 1 if qrupdate supports LU updates.])
   fi
-  AC_LANG_POP([Fortran 77])
 fi
 LIBS="$save_LIBS"
 
@@ -2519,7 +2520,6 @@
   examples/Makefile
   libgnu/Makefile
   libgui/Makefile
-  libgui/src/Makefile
   libinterp/Makefile
   liboctave/Makefile
   liboctave/cruft/Makefile
--- a/libgui/Makefile.am
+++ b/libgui/Makefile.am
@@ -20,8 +20,63 @@
 
 include $(top_srcdir)/build-aux/common.mk
 
-SUBDIRS = src
+AUTOMAKE_OPTIONS = subdir-objects
+
+QT_INCDIR = @QT_INCDIR@
+
+QT_LIBDIR = @QT_LIBDIR@
+
+QT_LIBS = -lQtCore -lQtGui -lQtNetwork -lqscintilla2
+
+QT_LDFLAGS = -L$(QT_LIBDIR)
+
+MOC_CPPFLAGS =
+
+octlib_LTLIBRARIES = liboctgui.la
+
+EXTRA_DIST = default-qt-settings
+
+BUILT_SOURCES =
+
+CLEANFILES =
+
+noinst_HEADERS =
+
+noinst_LTLIBRARIES =
+
+include src/module.mk
+include qterminal-module.mk
+
+include link-deps.mk
+
+liboctgui_la_LIBADD = \
+  qterminal/libqterminal.la \
+  src/libgui-src.la \
+  $(top_builddir)/libinterp/liboctinterp.la \
+  $(top_builddir)/liboctave/liboctave.la \
+  $(LIBOCTGUI_LINK_DEPS)
+
+# Increment these as needed and according to the rules in the libtool manual:
+liboctgui_current = 0
+liboctgui_revision = 0
+liboctgui_age = 0
+
+liboctgui_version_info = $(liboctgui_current):$(liboctgui_revision):$(liboctgui_age)
+
+liboctgui_la_LDFLAGS = \
+  -version-info $(liboctgui_version_info) \
+  $(NO_UNDEFINED_LDFLAG) \
+  -bindir $(bindir) \
+  $(LIBOCTGUI_LINK_OPTS)
 
 octetc_DATA = default-qt-settings
 
-EXTRA_DIST = default-qt-settings
+moc-%.cc: %.h
+	@MOC@ -o$@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MOC_CPPFLAGS) $(liboctgui_la_CPPFLAGS) $<
+
+ui-%.h: %.ui
+	@UIC@ -o $@ $<
+
+qrc-%.cc: %.qrc
+	@RCC@ -o $@ $<
+
rename from libgui/src/link-deps.mk
rename to libgui/link-deps.mk
new file mode 100644
--- /dev/null
+++ b/libgui/qterminal-module.mk
@@ -0,0 +1,92 @@
+EXTRA_DIST += \
+  qterminal-module.mk
+
+noinst_HEADERS += \
+  qterminal/libqterminal/QTerminal.h \
+  qterminal/libqterminal/QTerminalInterface.h \
+  qterminal/libqterminal/win32/QTerminalColors.h \
+  qterminal/libqterminal/win32/QWinTerminalImpl.h \
+  qterminal/libqterminal/unix/BlockArray.h \
+  qterminal/libqterminal/unix/Character.h \
+  qterminal/libqterminal/unix/CharacterColor.h \
+  qterminal/libqterminal/unix/Emulation.h \
+  qterminal/libqterminal/unix/ExtendedDefaultTranslator.h \
+  qterminal/libqterminal/unix/Filter.h \
+  qterminal/libqterminal/unix/History.h \
+  qterminal/libqterminal/unix/KeyboardTranslator.h \
+  qterminal/libqterminal/unix/konsole_wcwidth.h \
+  qterminal/libqterminal/unix/kpty.h \
+  qterminal/libqterminal/unix/kpty_p.h \
+  qterminal/libqterminal/unix/LineFont.h \
+  qterminal/libqterminal/unix/QUnixTerminalImpl.h \
+  qterminal/libqterminal/unix/Screen.h \
+  qterminal/libqterminal/unix/ScreenWindow.h \
+  qterminal/libqterminal/unix/TerminalCharacterDecoder.h \
+  qterminal/libqterminal/unix/Vt102Emulation.h \
+  qterminal/libqterminal/unix/SelfListener.h \
+  qterminal/libqterminal/unix/TerminalModel.h \
+  qterminal/libqterminal/unix/TerminalView.h
+
+qterminal_libqterminal_la_MOC = \
+  qterminal/libqterminal/moc-QTerminal.cc \
+  qterminal/libqterminal/moc-QTerminalInterface.cc
+
+nodist_qterminal_libqterminal_la_SOURCES = $(qterminal_libqterminal_la_MOC)
+
+qterminal_libqterminal_la_CPPFLAGS = \
+  $(AM_CPPFLAGS) \
+  -I$(QT_INCDIR) \
+  -I$(QT_INCDIR)/QtCore \
+  -I$(QT_INCDIR)/QtGui \
+  -I$(srcdir)/qterminal/libqterminal
+
+qterminal_libqterminal_la_CFLAGS = $(AM_CFLAGS)
+
+qterminal_libqterminal_la_CXXFLAGS = $(AM_CXXFLAGS)
+
+if WIN32_TERMINAL
+
+qterminal_libqterminal_la_SOURCES = \
+  qterminal/libqterminal/win32/QTerminalColors.cpp \
+  qterminal/libqterminal/win32/QWinTerminalImpl.cpp
+
+qterminal_libqterminal_la_MOC += qterminal/libqterminal/win32/moc-QWinTerminalImpl.cc
+qterminal_libqterminal_la_CPPFLAGS += -DUNICODE
+
+# This flag is required to let MOC know about Q_OS_WIN32.
+MOC_CPPFLAGS += -DWIN32
+
+else
+
+qterminal_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_la_MOC += \
+  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
+
+noinst_LTLIBRARIES += qterminal/libqterminal.la
+
+CLEANFILES += $(qterminal_libqterminal_la_MOC)
deleted file mode 100644
--- a/libgui/src/Makefile.am
+++ /dev/null
@@ -1,316 +0,0 @@
-# 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/>.
-
-include $(top_srcdir)/build-aux/common.mk
-
-QT_INCDIR = @QT_INCDIR@
-
-QT_LIBDIR = @QT_LIBDIR@
-
-QT_LIBS = -lQtCore -lQtGui -lQtNetwork -lqscintilla2
-
-QT_LDFLAGS = -L$(QT_LIBDIR)
-
-MOC_CPPFLAGS =
-
-SRCDIRS = \
-  m-editor \
-  qtinfo \
-  octave-adapter \
-  ../qterminal/libqterminal/unix \
-  ../qterminal/libqterminal/win32 \
-  ../qterminal/libqterminal \
-  ../qterminal
-
-octave_gui_MOC = \
-  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))
-
-octave_gui_RC = qrc-resource.cc
-
-octlib_LTLIBRARIES = liboctgui.la
-
-liboctgui_la_SOURCES = \
-  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
-
-nodist_liboctgui_la_SOURCES = $(octave_gui_MOC) $(octave_gui_RC)
-
-liboctgui_la_CPPFLAGS = \
-  @OCTGUI_DLL_DEFS@ \
-  -I$(QT_INCDIR) \
-  -I$(QT_INCDIR)/QtCore \
-  -I$(QT_INCDIR)/QtGui \
-  -I$(QT_INCDIR)/QtNetwork \
-  -I$(srcdir)/../qterminal/libqterminal \
-  -I$(srcdir)/m-editor \
-  -I$(srcdir)/octave-adapter \
-  -I$(srcdir)/qtinfo \
-  -I$(top_srcdir)/liboctave/cruft/misc \
-  -I$(top_srcdir)/liboctave/array \
-  -I$(top_builddir)/liboctave/numeric -I$(top_srcdir)/liboctave/numeric \
-  -I$(top_builddir)/liboctave/operators -I$(top_srcdir)/liboctave/operators \
-  -I$(top_srcdir)/liboctave/system \
-  -I$(top_srcdir)/liboctave/util \
-  -I$(top_srcdir)/libinterp \
-  -I$(top_builddir)/libinterp/parse-tree -I$(top_srcdir)/libinterp/parse-tree \
-  -I$(top_builddir)/libinterp/interp-core -I$(top_srcdir)/libinterp/interp-core \
-  -I$(top_builddir)/libinterp/interpfcn -I$(top_srcdir)/libinterp/interpfcn \
-  -I$(top_srcdir)/libinterp/octave-value
-
-include link-deps.mk
-
-liboctgui_la_LIBADD = \
-  libqterminal.la \
-  $(top_builddir)/libinterp/liboctinterp.la \
-  $(top_builddir)/liboctave/liboctave.la \
-  $(LIBOCTGUI_LINK_DEPS)
-
-# Increment these as needed and according to the rules in the libtool manual:
-liboctgui_current = 0
-liboctgui_revision = 0
-liboctgui_age = 0
-
-liboctgui_version_info = $(liboctgui_current):$(liboctgui_revision):$(liboctgui_age)
-
-liboctgui_la_LDFLAGS = \
-  -version-info $(liboctgui_version_info) \
-  $(NO_UNDEFINED_LDFLAG) \
-  -bindir $(bindir) \
-  $(LIBOCTGUI_LINK_OPTS)
-
-noinst_HEADERS = \
-  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-gui.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)
-
-clean-local:
-	-if test "$(srcdir)" != "."; then \
-	   for d in $(SRCDIRS); do test -d $$d && rmdir $$d; done \
-	 fi
-
-BUILT_SOURCES = $(octave_gui_UI_H)
-
-octave_gui_ICONS = \
-  icons/arrow_right.png \
-  icons/artsbuilderexecute.png \
-  icons/bookmark.png \
-  icons/bp_next.png \
-  icons/bp_prev.png \
-  icons/bp_rm_all.png \
-  icons/bp_toggle.png \
-  icons/chat.png \
-  icons/configure.png \
-  icons/db_cont.png \
-  icons/db_step_in.png \
-  icons/db_step_out.png \
-  icons/db_step.png \
-  icons/db_stop.png \
-  icons/editcopy.png \
-  icons/editcut.png \
-  icons/editpaste.png \
-  icons/filenew.png \
-  icons/fileopen.png \
-  icons/filesaveas.png \
-  icons/filesave.png \
-  icons/find.png \
-  icons/help_index.png \
-  icons/icons_license \
-  icons/jabber_protocol.png \
-  icons/logo.png \
-  icons/question.png \
-  icons/redled.png \
-  icons/redo.png \
-  icons/search.png \
-  icons/star.png \
-  icons/stop.png \
-  icons/terminal.png \
-  icons/undo.png \
-  icons/up.png \
-  icons/zoom-in.png \
-  icons/zoom-out.png
-
-EXTRA_DIST = \
-  $(octave_gui_UI) \
-  $(octave_gui_ICONS) \
-  resource.qrc
-
-noinst_LTLIBRARIES = libqterminal.la
-
-noinst_HEADERS += \
-  ../qterminal/libqterminal/QTerminal.h \
-  ../qterminal/libqterminal/QTerminalInterface.h \
-  ../qterminal/libqterminal/win32/QTerminalColors.h \
-  ../qterminal/libqterminal/win32/QWinTerminalImpl.h \
-  ../qterminal/libqterminal/unix/BlockArray.h \
-  ../qterminal/libqterminal/unix/Character.h \
-  ../qterminal/libqterminal/unix/CharacterColor.h \
-  ../qterminal/libqterminal/unix/Emulation.h \
-  ../qterminal/libqterminal/unix/ExtendedDefaultTranslator.h \
-  ../qterminal/libqterminal/unix/Filter.h \
-  ../qterminal/libqterminal/unix/History.h \
-  ../qterminal/libqterminal/unix/KeyboardTranslator.h \
-  ../qterminal/libqterminal/unix/konsole_wcwidth.h \
-  ../qterminal/libqterminal/unix/kpty.h \
-  ../qterminal/libqterminal/unix/kpty_p.h \
-  ../qterminal/libqterminal/unix/LineFont.h \
-  ../qterminal/libqterminal/unix/QUnixTerminalImpl.h \
-  ../qterminal/libqterminal/unix/Screen.h \
-  ../qterminal/libqterminal/unix/ScreenWindow.h \
-  ../qterminal/libqterminal/unix/TerminalCharacterDecoder.h \
-  ../qterminal/libqterminal/unix/Vt102Emulation.h \
-  ../qterminal/libqterminal/unix/SelfListener.h \
-  ../qterminal/libqterminal/unix/TerminalModel.h \
-  ../qterminal/libqterminal/unix/TerminalView.h
-
-libqterminal_la_CPPFLAGS = \
-  -I$(QT_INCDIR) \
-  -I$(QT_INCDIR)/QtCore \
-  -I$(QT_INCDIR)/QtGui \
-  -I$(srcdir)/../qterminal/libqterminal
-
-libqterminal_la_MOC = \
-  ../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.cc
-libqterminal_la_CPPFLAGS += -DUNICODE
-
-# This flag is required to let MOC know about Q_OS_WIN32.
-MOC_CPPFLAGS += -DWIN32
-
-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
-
-libqterminal_la_MOC += \
-  ../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
-
-moc-%.cc: %.h
-	test -d $(@D) || mkdir -p $(@D)
-	@MOC@ -o$@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MOC_CPPFLAGS) $(liboctgui_la_CPPFLAGS) $<
-
-ui-%.h: %.ui
-	@UIC@ -o $@ $<
-
-qrc-%.cc: %.qrc
-	@RCC@ -o $@ $<
-
-CLEANFILES += $(libqterminal_la_MOC)
-
new file mode 100644
--- /dev/null
+++ b/libgui/src/module.mk
@@ -0,0 +1,165 @@
+EXTRA_DIST += \
+  src/module.mk \
+  src/resource.qrc \
+  $(octave_gui_UI) \
+  $(octave_gui_ICONS)
+
+octave_gui_MOC = \
+  src/m-editor/moc-file-editor-interface.cc \
+  src/m-editor/moc-file-editor-tab.cc \
+  src/m-editor/moc-file-editor.cc \
+  src/m-editor/moc-find-dialog.cc \
+  src/m-editor/moc-lexer-octave-gui.cc \
+  src/moc-documentation-dockwidget.cc \
+  src/moc-files-dockwidget.cc \
+  src/moc-history-dockwidget.cc \
+  src/moc-main-window.cc \
+  src/moc-octave-qt-event-listener.cc \
+  src/moc-settings-dialog.cc \
+  src/moc-terminal-dockwidget.cc \
+  src/moc-welcome-wizard.cc \
+  src/moc-workspace-model.cc \
+  src/moc-workspace-view.cc \
+  src/octave-adapter/moc-octave-main-thread.cc \
+  src/qtinfo/moc-parser.cc \
+  src/qtinfo/moc-webinfo.cc
+
+octave_gui_UI = \
+  src/settings-dialog.ui \
+  src/welcome-wizard.ui
+
+octave_gui_UI_H = $(patsubst src/%.ui, src/ui-%.h, $(octave_gui_UI))
+
+octave_gui_RC = src/qrc-resource.cc
+
+liboctgui_la_SOURCES = \
+  src/documentation-dockwidget.cc \
+  src/files-dockwidget.cc \
+  src/history-dockwidget.cc \
+  src/m-editor/file-editor-tab.cc \
+  src/m-editor/file-editor.cc \
+  src/m-editor/find-dialog.cc \
+  src/m-editor/lexer-octave-gui.cc \
+  src/main-window.cc \
+  src/octave-adapter/octave-event.cc \
+  src/octave-adapter/octave-link.cc \
+  src/octave-adapter/octave-main-thread.cc \
+  src/octave-gui.cc \
+  src/octave-qt-event-listener.cc \
+  src/qtinfo/parser.cc \
+  src/qtinfo/webinfo.cc \
+  src/resource-manager.cc \
+  src/settings-dialog.cc \
+  src/symbol-information.cc \
+  src/terminal-dockwidget.cc \
+  src/welcome-wizard.cc \
+  src/workspace-model.cc \
+  src/workspace-view.cc
+
+nodist_liboctgui_la_SOURCES = $(octave_gui_MOC) $(octave_gui_RC)
+
+noinst_HEADERS += \
+  src/documentation-dockwidget.h \
+  src/files-dockwidget.h \
+  src/history-dockwidget.h \
+  src/m-editor/file-editor-interface.h \
+  src/m-editor/file-editor-tab.h \
+  src/m-editor/file-editor.h \
+  src/m-editor/find-dialog.h \
+  src/m-editor/lexer-octave-gui.h \
+  src/main-window.h \
+  src/octave-adapter/octave-event-listener.h \
+  src/octave-adapter/octave-event-observer.h \
+  src/octave-adapter/octave-event.h \
+  src/octave-adapter/octave-link.h \
+  src/octave-adapter/octave-main-thread.h \
+  src/octave-gui.h \
+  src/octave-qt-event-listener.h \
+  src/qtinfo/parser.h \
+  src/qtinfo/webinfo.h \
+  src/resource-manager.h \
+  src/settings-dialog.h \
+  src/symbol-information.h \
+  src/terminal-dockwidget.h \
+  src/welcome-wizard.h \
+  src/workspace-model.h \
+  src/workspace-view.h
+
+CLEANFILES += \
+  $(octave_gui_MOC) \
+  $(octave_gui_UI_H) \
+  $(octave_gui_RC)
+
+BUILT_SOURCES += $(octave_gui_UI_H)
+
+octave_gui_ICONS = \
+  src/icons/arrow_right.png \
+  src/icons/artsbuilderexecute.png \
+  src/icons/bookmark.png \
+  src/icons/bp_next.png \
+  src/icons/bp_prev.png \
+  src/icons/bp_rm_all.png \
+  src/icons/bp_toggle.png \
+  src/icons/chat.png \
+  src/icons/configure.png \
+  src/icons/db_cont.png \
+  src/icons/db_step_in.png \
+  src/icons/db_step_out.png \
+  src/icons/db_step.png \
+  src/icons/db_stop.png \
+  src/icons/editcopy.png \
+  src/icons/editcut.png \
+  src/icons/editpaste.png \
+  src/icons/filenew.png \
+  src/icons/fileopen.png \
+  src/icons/filesaveas.png \
+  src/icons/filesave.png \
+  src/icons/find.png \
+  src/icons/help_index.png \
+  src/icons/icons_license \
+  src/icons/jabber_protocol.png \
+  src/icons/logo.png \
+  src/icons/question.png \
+  src/icons/redled.png \
+  src/icons/redo.png \
+  src/icons/search.png \
+  src/icons/star.png \
+  src/icons/stop.png \
+  src/icons/terminal.png \
+  src/icons/undo.png \
+  src/icons/up.png \
+  src/icons/zoom-in.png \
+  src/icons/zoom-out.png
+
+liboctgui_la_CPPFLAGS = \
+  $(AM_CPPFLAGS) \
+  @OCTGUI_DLL_DEFS@ \
+  -I$(QT_INCDIR) \
+  -I$(QT_INCDIR)/QtCore \
+  -I$(QT_INCDIR)/QtGui \
+  -I$(QT_INCDIR)/QtNetwork \
+  -I$(srcdir)/qterminal/libqterminal \
+  -Isrc -I$(srcdir)/src \
+  -I$(srcdir)/src/m-editor \
+  -I$(srcdir)/src/octave-adapter \
+  -I$(srcdir)/src/qtinfo \
+  -I$(top_srcdir)/liboctave/cruft/misc \
+  -I$(top_srcdir)/liboctave/array \
+  -I$(top_builddir)/liboctave/numeric -I$(top_srcdir)/liboctave/numeric \
+  -I$(top_builddir)/liboctave/operators -I$(top_srcdir)/liboctave/operators \
+  -I$(top_srcdir)/liboctave/system \
+  -I$(top_srcdir)/liboctave/util \
+  -I$(top_srcdir)/libinterp \
+  -I$(top_builddir)/libinterp/parse-tree -I$(top_srcdir)/libinterp/parse-tree \
+  -I$(top_builddir)/libinterp/interp-core -I$(top_srcdir)/libinterp/interp-core \
+  -I$(top_builddir)/libinterp/interpfcn -I$(top_srcdir)/libinterp/interpfcn \
+  -I$(top_srcdir)/libinterp/octave-value
+
+liboctgui_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+
+liboctgui_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
+
+noinst_LTLIBRARIES += src/libgui-src.la
+
+src_libgui_src_la_SOURCES = $(GUI_SRC_SRC)
+src_libgui_src_la_CPPFLAGS = $(liboctgui_la_CPPFLAGS)
--- a/libgui/src/octave-adapter/octave-event-listener.h
+++ b/libgui/src/octave-adapter/octave-event-listener.h
@@ -31,7 +31,9 @@
     octave_event_listener () { }
     virtual ~octave_event_listener () { }
 
-    virtual void current_directory_has_changed (std::string directory) = 0;
+    virtual void
+    current_directory_has_changed (const std::string& directory) = 0;
+
     virtual void about_to_exit () = 0;
 
     virtual void entered_debug_mode () = 0;
--- a/libgui/src/octave-adapter/octave-event.cc
+++ b/libgui/src/octave-adapter/octave-event.cc
@@ -41,13 +41,13 @@
 #include <readline/readline.h>
 
 void
-octave_event::call_octave_function (std::string name)
+octave_event::call_octave_function (const std::string& name)
 {
   call_octave_function (name, octave_value_list ());
 }
 
 void
-octave_event::call_octave_function (std::string name,
+octave_event::call_octave_function (const std::string& name,
                                     const octave_value_list& args,
                                     int nargout)
 {
--- a/libgui/src/octave-adapter/octave-event.h
+++ b/libgui/src/octave-adapter/octave-event.h
@@ -73,9 +73,9 @@
     { _octave_event_observer.event_reject (this); }
 
   protected:
-    void call_octave_function (std::string name);
+    void call_octave_function (const std::string& name);
 
-    void call_octave_function (std::string name,
+    void call_octave_function (const std::string& name,
                                const octave_value_list& args,
                                int nargout = 0);
 
@@ -127,7 +127,7 @@
   public:
     /** Creates a new octave_run_file_event. */
     octave_run_file_event (octave_event_observer& o,
-                           std::string file)
+                           const std::string& file)
       : octave_event (o)
     { _file = file; }
 
@@ -143,7 +143,7 @@
   public:
     /** Creates a new octave_change_directory_event. */
     octave_change_directory_event (octave_event_observer& o,
-                                   std::string directory)
+                                   const std::string& directory)
       : octave_event (o)
     { _directory = directory; }
 
@@ -175,7 +175,7 @@
   public:
     /** Creates a new octave_change_directory_event. */
     octave_load_workspace_event (octave_event_observer& o,
-                                 std::string file)
+                                 const std::string& file)
       : octave_event (o)
     { _file = file; }
 
@@ -191,7 +191,7 @@
   public:
     /** Creates a new octave_change_directory_event. */
     octave_save_workspace_event (octave_event_observer& o,
-                                 std::string file)
+                                 const std::string& file)
       : octave_event (o)
     { _file = file; }
 
@@ -216,8 +216,8 @@
 {
   public:
     octave_add_breakpoint_event (octave_event_observer& o,
-                                 std::string path,
-                                 std::string function_name,
+                                 const std::string& path,
+                                 const std::string& function_name,
                                  int line)
       : octave_event (o)
     {
@@ -253,8 +253,8 @@
 {
   public:
     octave_remove_breakpoint_event (octave_event_observer& o,
-                                    std::string path,
-                                    std::string function_name,
+                                    const std::string& path,
+                                    const std::string& function_name,
                                     int line)
       : octave_event (o)
     {
@@ -290,8 +290,8 @@
 {
   public:
     octave_remove_all_breakpoints_event (octave_event_observer& o,
-                                         std::string path,
-                                         std::string function_name)
+                                         const std::string& path,
+                                         const std::string& function_name)
       : octave_event (o)
     {
       _path = path;
--- a/libgui/src/octave-qt-event-listener.cc
+++ b/libgui/src/octave-qt-event-listener.cc
@@ -33,7 +33,7 @@
 }
 
 void
-octave_qt_event_listener::current_directory_has_changed (std::string directory)
+octave_qt_event_listener::current_directory_has_changed (const std::string& directory)
 {
   emit current_directory_has_changed_signal
       (QString::fromStdString (directory));
--- a/libgui/src/octave-qt-event-listener.h
+++ b/libgui/src/octave-qt-event-listener.h
@@ -34,7 +34,7 @@
   public:
     octave_qt_event_listener (QObject *parent = 0);
 
-    void current_directory_has_changed (std::string directory);
+    void current_directory_has_changed (const std::string& directory);
     void about_to_exit ();
 
     void entered_debug_mode ();
--- a/libinterp/Makefile.am
+++ b/libinterp/Makefile.am
@@ -38,6 +38,10 @@
   -Icorefcn \
   -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu
 
+AM_CFLAGS += $(WARN_CFLAGS)
+
+AM_CXXFLAGS += $(WARN_CXXFLAGS)
+
 octlib_LTLIBRARIES = liboctinterp.la
 
 ## Order matters here.  Leave builtins.cc last, because it depends on
--- a/liboctave/Makefile.am
+++ b/liboctave/Makefile.am
@@ -36,6 +36,10 @@
   -I$(srcdir)/util \
   -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu
 
+AM_CFLAGS += $(WARN_CFLAGS)
+
+AM_CXXFLAGS += $(WARN_CXXFLAGS)
+
 octlib_LTLIBRARIES = liboctave.la
 
 EXTRA_DIST =
--- a/liboctave/array/Sparse.cc
+++ b/liboctave/array/Sparse.cc
@@ -323,9 +323,10 @@
       if (n == 1 && a(0) != T ())
         {
           change_capacity (nzm > 1 ? nzm : 1);
-          xcidx (0) = 0;
-          xridx (0) = r(0);
-          xdata (0) = a(0);
+          xcidx(0) = 0;
+          xridx(0) = r(0);
+          xdata(0) = a(0);
+
           for (octave_idx_type j = 0; j < nc; j++)
             xcidx (j+1) = j >= c(0);
         }
@@ -495,8 +496,8 @@
         new_nz += rd[i-1] != rd[i];
       // Allocate result.
       change_capacity (nzm > new_nz ? nzm : new_nz);
-      xcidx (0) = 0;
-      xcidx (1) = new_nz;
+      xcidx(0) = 0;
+      xcidx(1) = new_nz;
       octave_idx_type *rri = ridx ();
       T *rrd = data ();
 
@@ -1253,7 +1254,7 @@
           else
             {
               const Sparse<T> tmp = *this;
-              octave_idx_type lbi = tmp.cidx (lb), ubi = tmp.cidx (ub),
+              octave_idx_type lbi = tmp.cidx(lb), ubi = tmp.cidx(ub),
                 new_nz = nz - (ubi - lbi);
 
               *this = Sparse<T> (nr, nc - (ub - lb), new_nz);
@@ -1296,20 +1297,20 @@
                                  tmpl.nnz () + tmpu.nnz ());
               for (octave_idx_type j = 0, k = 0; j < nc; j++)
                 {
-                  for (octave_idx_type i = tmpl.cidx (j); i < tmpl.cidx (j+1);
+                  for (octave_idx_type i = tmpl.cidx(j); i < tmpl.cidx(j+1);
                        i++)
                     {
-                      xdata (k) = tmpl.data (i);
-                      xridx (k++) = tmpl.ridx (i);
+                      xdata(k) = tmpl.data(i);
+                      xridx(k++) = tmpl.ridx(i);
                     }
-                  for (octave_idx_type i = tmpu.cidx (j); i < tmpu.cidx (j+1);
+                  for (octave_idx_type i = tmpu.cidx(j); i < tmpu.cidx(j+1);
                        i++)
                     {
-                      xdata (k) = tmpu.data (i);
-                      xridx (k++) = tmpu.ridx (i) + lb;
+                      xdata(k) = tmpu.data(i);
+                      xridx(k++) = tmpu.ridx(i) + lb;
                     }
 
-                  xcidx (j+1) = k;
+                  xcidx(j+1) = k;
                 }
             }
         }
--- a/m4/acinclude.m4
+++ b/m4/acinclude.m4
@@ -1965,164 +1965,3 @@
 
 
 ##############################################################################
-##############################################################################
-
-# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
-# 
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# This program 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=m4_default([$1], [0.9.0])
-	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		AC_MSG_RESULT([yes])
-	else
-		AC_MSG_RESULT([no])
-		PKG_CONFIG=""
-	fi
-		
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists.  Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-#
-# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-# this or PKG_CHECK_MODULES is called, or make sure to call
-# PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
-    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-  m4_ifval([$2], [$2], [:])
-m4_ifvaln([$3], [else
-  $3])dnl
-fi])
-
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$PKG_CONFIG"; then
-    if test -n "$$1"; then
-        pkg_cv_[]$1="$$1"
-    else
-        PKG_CHECK_EXISTS([$3],
-                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
-			 [pkg_failed=yes])
-    fi
-else
-	pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
-        _PKG_SHORT_ERRORS_SUPPORTED
-        if test $_pkg_short_errors_supported = yes; then
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
-        else 
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
-	ifelse([$4], , [AC_MSG_ERROR(dnl
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT
-])],
-		[AC_MSG_RESULT([no])
-                $4])
-elif test $pkg_failed = untried; then
-	ifelse([$4], , [AC_MSG_FAILURE(dnl
-[The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
-		[$4])
-else
-	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
-        AC_MSG_RESULT([yes])
-	ifelse([$3], , :, [$3])
-fi[]dnl
-])# PKG_CHECK_MODULES
-dnl end of pkg.m4
-
--- a/m4/module.mk
+++ b/m4/module.mk
@@ -10,4 +10,5 @@
   m4/ltoptions.m4 \
   m4/ltsugar.m4 \
   m4/ltversion.m4 \
-  m4/lt~obsolete.m4
+  m4/lt~obsolete.m4 \
+  m4/pkg.m4
new file mode 100644
--- /dev/null
+++ b/m4/pkg.m4
@@ -0,0 +1,157 @@
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# 
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program 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 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+		
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+    if test -n "$$1"; then
+        pkg_cv_[]$1="$$1"
+    else
+        PKG_CHECK_EXISTS([$3],
+                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+			 [pkg_failed=yes])
+    fi
+else
+	pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+		[AC_MSG_RESULT([no])
+                $4])
+elif test $pkg_failed = untried; then
+	ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+		[$4])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -30,6 +30,10 @@
   -I$(top_builddir)/libinterp/interpfcn \
   -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu
 
+AM_CFLAGS += $(WARN_CFLAGS)
+
+AM_CXXFLAGS += $(WARN_CXXFLAGS)
+
 OCTAVE_BINARIES = \
   octave \
   octave-cli
@@ -73,7 +77,7 @@
   $(top_builddir)/libinterp/liboctinterp.la \
   $(top_builddir)/liboctave/liboctave.la
 
-include ../libgui/src/link-deps.mk
+include ../libgui/link-deps.mk
 
 octave_cli_SOURCES = main-cli.cc
 
@@ -87,7 +91,7 @@
 
 if AMCOND_BUILD_GUI
   octave_SOURCES = main.cc
-  OCTAVE_GUI_LIBS = $(top_builddir)/libgui/src/liboctgui.la
+  OCTAVE_GUI_LIBS = $(top_builddir)/libgui/liboctgui.la
   OCTAVE_GUI_CPPFLAGS = -I$(top_srcdir)/libgui/src
 else
   octave_SOURCES = main-cli.cc