# HG changeset patch # User Michael Goffioul # Date 1346338364 -3600 # Node ID 7ee62f559a73b87bbdfe18c05cfdf0a4122bcd3f # Parent 79baa37fde7a613eddc6187e7cc8b22c5e9a55e3 Fix compilation under Windows with GUI and LLVM enabled. * configure.ac (OCTGUI_DLL_DEFS): New substituted variabled. Define it to -DOCTGUI_DLL under MinGW and MSVC platforms. (QT_INCDIR, QT_LIBDIR): Replace backslash with forward slash characters. (OCTGUI_API): New config.h macro. * src/Makefile.am (MOC_CPPFLAGS): New variable. Define it to -DWIN32 when compiling Win32 terminal implementation. (moc-%.cc rule): Use it. (libqterminal_la_CPPFLAGS): New variable defined to -DWIN32 when compiling the win32 terminal implementation. (liboctgui_la_CPPFLAGS): Add @OCTGUI_DLL_DEFS@. * libgui/src/m-editor/file-editor-tab.cc (QApplication, QFileDialog, QTextStream): New includes. * libgui/src/m-editor/find-dialog.cc (find_dialog::search_next): Temporary fix for compilation with QScintilla < 2.6. * libgui/src/main-window.cc (QApplication, QLabel): New includes. * libgui/src/octave-gui.h (octave_start_gui): Decorate with OCTGUI_API. diff -r 79baa37fde7a -r 7ee62f559a73 configure.ac --- a/configure.ac Thu Aug 30 08:47:33 2012 +0100 +++ b/configure.ac Thu Aug 30 15:52:44 2012 +0100 @@ -1361,6 +1361,7 @@ CRUFT_DLL_DEFS= OCTAVE_DLL_DEFS= OCTINTERP_DLL_DEFS= +OCTGUI_DLL_DEFS= OCTGRAPHICS_DLL_DEFS= library_path_var=LD_LIBRARY_PATH ldpreloadsep=" " @@ -1442,6 +1443,7 @@ CRUFT_DLL_DEFS="-DCRUFT_DLL" OCTAVE_DLL_DEFS="-DOCTAVE_DLL" OCTINTERP_DLL_DEFS="-DOCTINTERP_DLL" + OCTGUI_DLL_DEFS="-DOCTGUI_DLL" OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL" else CPICFLAG= @@ -1481,7 +1483,7 @@ ## Extra compilation flags. CRUFT_DLL_DEFS="-DCRUFT_DLL" OCTAVE_DLL_DEFS="-DOCTAVE_DLL" - OCTINTERP_DLL_DEFS="-DOCTINTERP_DLL" + OCTGUI_DLL_DEFS="-DOCTGUI_DLL" OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL" ;; *-*-linux* | *-*-gnu*) @@ -1587,6 +1589,7 @@ AC_MSG_NOTICE([defining CRUFT_DLL_DEFS to be $CRUFT_DLL_DEFS]) AC_MSG_NOTICE([defining OCTAVE_DLL_DEFS to be $OCTAVE_DLL_DEFS]) AC_MSG_NOTICE([defining OCTINTERP_DLL_DEFS to be $OCTINTERP_DLL_DEFS]) +AC_MSG_NOTICE([defining OCTGUI_DLL_DEFS to be $OCTGUI_DLL_DEFS]) AC_MSG_NOTICE([defining OCTGRAPHICS_DLL_DEFS to be $OCTGRAPHICS_DLL_DEFS]) AC_MSG_NOTICE([defining library_path_var to be $library_path_var]) AC_SUBST(FPICFLAG) @@ -1615,6 +1618,7 @@ AC_SUBST(CRUFT_DLL_DEFS) AC_SUBST(OCTAVE_DLL_DEFS) AC_SUBST(OCTINTERP_DLL_DEFS) +AC_SUBST(OCTGUI_DLL_DEFS) AC_SUBST(OCTGRAPHICS_DLL_DEFS) AC_SUBST(library_path_var) AC_SUBST(ldpreloadsep) @@ -2190,8 +2194,8 @@ 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'` + QT_INCDIR=`$QMAKE -query | sed -n -e 's/^QT_INSTALL_HEADERS://p' | sed -e 's,\\\\,/,g'` + QT_LIBDIR=`$QMAKE -query | sed -n -e 's/^QT_INSTALL_LIBS://p' | sed -e 's,\\\\,/,g'` AC_CHECK_PROGS(MOC, [moc moc-qt4 moc-qt5]) AC_CHECK_PROGS(UIC, [uic uic-qt4 uic-qt5]) AC_CHECK_PROGS(RCC, [rcc]) @@ -2369,6 +2373,13 @@ #define OCTGRAPHICS_API OCTAVE_IMPORT #endif +/* API macro for libgui */ +#ifdef OCTGUI_DLL +#define OCTGUI_API OCTAVE_EXPORT +#else +#define OCTGUI_API OCTAVE_IMPORT +#endif + /* oct-types.h */ typedef OCTAVE_IDX_TYPE octave_idx_type; diff -r 79baa37fde7a -r 7ee62f559a73 libgui/src/Makefile.am --- a/libgui/src/Makefile.am Thu Aug 30 08:47:33 2012 +0100 +++ b/libgui/src/Makefile.am Thu Aug 30 15:52:44 2012 +0100 @@ -26,6 +26,8 @@ QT_LDFLAGS = -L$(QT_LIBDIR) +MOC_CPPFLAGS = + SRCDIRS = \ m-editor \ qtinfo \ @@ -92,6 +94,7 @@ 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 \ @@ -263,6 +266,10 @@ ../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 @@ -297,7 +304,7 @@ moc-%.cc: %.h test -d $(@D) || mkdir -p $(@D) - @MOC@ -o$@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboctgui_la_CPPFLAGS) $< + @MOC@ -o$@ $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MOC_CPPFLAGS) $(liboctgui_la_CPPFLAGS) $< ui-%.h: %.ui @UIC@ -o $@ $< diff -r 79baa37fde7a -r 7ee62f559a73 libgui/src/m-editor/file-editor-tab.cc --- a/libgui/src/m-editor/file-editor-tab.cc Thu Aug 30 08:47:33 2012 +0100 +++ b/libgui/src/m-editor/file-editor-tab.cc Thu Aug 30 15:52:44 2012 +0100 @@ -36,7 +36,10 @@ #include #include #include "resource-manager.h" +#include +#include #include +#include #include file_editor_tab::file_editor_tab(file_editor *fileEditor) diff -r 79baa37fde7a -r 7ee62f559a73 libgui/src/m-editor/find-dialog.cc --- a/libgui/src/m-editor/find-dialog.cc Thu Aug 30 08:47:33 2012 +0100 +++ b/libgui/src/m-editor/find-dialog.cc Thu Aug 30 15:52:44 2012 +0100 @@ -145,8 +145,11 @@ _wrap_check_box->isChecked (), !_backward_check_box->isChecked (), line,col, - true, true +// FIXME: write a proper configure test (is it worth?) +#if QSCINTILLA_VERSION >= 0x020600 + , true +#endif ); } } diff -r 79baa37fde7a -r 7ee62f559a73 libgui/src/main-window.cc --- a/libgui/src/main-window.cc Thu Aug 30 08:47:33 2012 +0100 +++ b/libgui/src/main-window.cc Thu Aug 30 15:52:44 2012 +0100 @@ -20,6 +20,8 @@ */ +#include +#include #include #include #include diff -r 79baa37fde7a -r 7ee62f559a73 libgui/src/octave-gui.h --- a/libgui/src/octave-gui.h Thu Aug 30 08:47:33 2012 +0100 +++ b/libgui/src/octave-gui.h Thu Aug 30 15:52:44 2012 +0100 @@ -23,6 +23,6 @@ #if !defined (octave_octave_gui_h) #define octave_octave_gui_h 1 -extern int octave_start_gui (int argc, char **argv); +extern OCTGUI_API int octave_start_gui (int argc, char **argv); #endif