Mercurial > octave
diff m4/acinclude.m4 @ 22823:e2afee0041bf
new configure option, --without-qscintilla
* configure.ac: New option, --without-qscintilla.
* acinclude.m4 (OCTAVE_CHECK_QSCINTILLA): New macro, extracted from
OCTAVE_CHECK_QT_VERSION.
(OCTAVE_CHECK_QT_VERSION): Use OCTAVE_CHECK_QSCINTILLA.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 23 Nov 2016 14:47:14 -0500 |
parents | 3a2b891d0b33 |
children | 5ede69715ebe |
line wrap: on
line diff
--- a/m4/acinclude.m4 Wed Nov 23 14:00:56 2016 -0800 +++ b/m4/acinclude.m4 Wed Nov 23 14:47:14 2016 -0500 @@ -1315,6 +1315,89 @@ fi ]) dnl +dnl Check whether we have QScintilla for the given Qt VERSION. +dnl +AC_DEFUN([OCTAVE_CHECK_QSCINTILLA], [ + qt_version="$1"; + use_qscintilla=no + warn_qscintilla="" + + ## Check for Qt libraries + case "$qt_version" in + 4) + octave_qscintilla_libnames=qscintilla2 + ;; + 5) + octave_qscintilla_libnames="qscintilla2-qt5 qt5scintilla2" + ;; + *) + AC_MSG_ERROR([Unrecognized Qt version $qt_version]) + ;; + esac + + if test $build_qt_gui = yes && test $check_qscintilla = yes; then + + ## Check for QScintilla library which is used in the Qt GUI editor. + AC_CACHE_CHECK([for the QScintilla library for Qt $qt_version], + [octave_cv_lib_qscintilla], + [save_CPPFLAGS="$CPPFLAGS" + save_CXXFLAGS="$CXXFLAGS" + save_LDFLAGS="$LDFLAGS" + save_LIBS="$LIBS" + CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" + CXXFLAGS="$CXXPICFLAG $CXXFLAGS" + LDFLAGS="$QT_LDFLAGS $LDFLAGS" + AC_LANG_PUSH(C++) + for octave_qscintilla_try in $octave_qscintilla_libnames; do + LIBS="$QT_LIBS -l$octave_qscintilla_try" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include <Qsci/qsciapis.h> + #include <Qsci/qscilexercpp.h> + ]], [[ + QsciLexer *lexer = new QsciLexerCPP (); + QsciAPIs *lexer_apis = new QsciAPIs (lexer); + ]])], + octave_cv_lib_qscintilla="-l$octave_qscintilla_try", + octave_cv_lib_qscintilla=no) + if test $octave_cv_lib_qscintilla != no; then + break + fi + done + CPPFLAGS="$save_CPPFLAGS" + CXXFLAGS="$save_CXXFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + AC_LANG_POP([C++]) + ]) + + if test $octave_cv_lib_qscintilla = no; then + warn_qscintilla="QScintilla library not found; disabling built-in Qt GUI editor" + else + ## Let's assume QScintilla library is at the same location as + ## other regular Qt libraries. + QT_LIBS="$QT_LIBS $octave_cv_lib_qscintilla" + OCTAVE_CHECK_QSCINTILLA_VERSION + AC_DEFINE(HAVE_QSCINTILLA, 1, + [Define to 1 if the QScintilla library and header files are available.]) + + save_CPPFLAGS="$CPPFLAGS" + save_CXXFLAGS="$CXXFLAGS" + CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" + CXXFLAGS="$CXXPICFLAG $CXXFLAGS" + AC_LANG_PUSH(C++) + AC_CHECK_HEADERS([Qsci/qscilexeroctave.h Qsci/qscilexermatlab.h]) + AC_LANG_POP(C++) + CPPFLAGS="$save_CPPFLAGS" + CXXFLAGS="$save_CXXFLAGS" + + OCTAVE_CHECK_FUNC_SETPLACEHOLDERTEXT + OCTAVE_CHECK_FUNC_QSCI_FINDSELECTION + + use_qscintilla=yes + fi + fi +]) +dnl dnl Check whether Qt VERSION is present, supports QtOpenGL and dnl QScintilla and will work for Octave. dnl @@ -1329,7 +1412,6 @@ build_qt_gui=yes build_qt_graphics=no - use_qscintilla=no win32_terminal=no warn_qt_libraries="" @@ -1340,17 +1422,14 @@ warn_qt_lib_fcns="" warn_qt_abstract_item_model="" warn_qt_opengl="" - warn_qscintilla="" ## Check for Qt libraries case "$qt_version" in 4) QT_MODULES="QtCore QtGui QtNetwork QtOpenGL" - octave_qscintilla_libnames=qscintilla2 ;; 5) QT_MODULES="Qt5Core Qt5Gui Qt5Network Qt5OpenGL Qt5PrintSupport" - octave_qscintilla_libnames="qscintilla2-qt5 qt5scintilla2" ;; *) AC_MSG_ERROR([Unrecognized Qt version $qt_version]) @@ -1492,63 +1571,8 @@ fi fi - ## Check for QScintilla library which is used in the Qt GUI editor. - AC_CACHE_CHECK([for the QScintilla library for Qt $qt_version], - [octave_cv_lib_qscintilla], - [save_CPPFLAGS="$CPPFLAGS" - save_CXXFLAGS="$CXXFLAGS" - save_LDFLAGS="$LDFLAGS" - save_LIBS="$LIBS" - CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" - CXXFLAGS="$CXXPICFLAG $CXXFLAGS" - LDFLAGS="$QT_LDFLAGS $LDFLAGS" - AC_LANG_PUSH(C++) - for octave_qscintilla_try in $octave_qscintilla_libnames; do - LIBS="$QT_LIBS -l$octave_qscintilla_try" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include <Qsci/qsciapis.h> - #include <Qsci/qscilexercpp.h> - ]], [[ - QsciLexer *lexer = new QsciLexerCPP (); - QsciAPIs *lexer_apis = new QsciAPIs (lexer); - ]])], - octave_cv_lib_qscintilla="-l$octave_qscintilla_try", - octave_cv_lib_qscintilla=no) - if test $octave_cv_lib_qscintilla != no; then - break - fi - done - CPPFLAGS="$save_CPPFLAGS" - CXXFLAGS="$save_CXXFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - AC_LANG_POP([C++]) - ]) + OCTAVE_CHECK_QSCINTILLA([$qt_version]) - if test $octave_cv_lib_qscintilla = no; then - warn_qscintilla="QScintilla library not found; disabling built-in Qt GUI editor" - else - ## Let's assume QScintilla library is at the same location as - ## other regular Qt libraries. - QT_LIBS="$QT_LIBS $octave_cv_lib_qscintilla" - OCTAVE_CHECK_QSCINTILLA_VERSION - AC_DEFINE(HAVE_QSCINTILLA, 1, - [Define to 1 if the QScintilla library and header files are available.]) - - save_CPPFLAGS="$CPPFLAGS" - save_CXXFLAGS="$CXXFLAGS" - CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" - CXXFLAGS="$CXXPICFLAG $CXXFLAGS" - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS([Qsci/qscilexeroctave.h Qsci/qscilexermatlab.h]) - AC_LANG_POP(C++) - CPPFLAGS="$save_CPPFLAGS" - CXXFLAGS="$save_CXXFLAGS" - - OCTAVE_CHECK_FUNC_SETPLACEHOLDERTEXT - OCTAVE_CHECK_FUNC_QSCI_FINDSELECTION - use_qscintilla=yes - fi fi AC_SUBST(MOCFLAGS) AC_SUBST(UICFLAGS)