Mercurial > octave
comparison m4/acinclude.m4 @ 22234:66dd260512a4
allow configure to select Qt version
* Makefile.am (AM_FFLAGS): Include FPICFLAG in definition.
(AM_CFLAGS): Include CPICFLAG in definition.
(AM_CXXFLAGS): Include CXXPICFLAG in definition.
* libgui/module.mk: Use MOCFLAGS, UICFLAGS, RCCFLAGS, and
LRELEASEFLAGS in MOC, UIC, RCC, and LRELEASE commands.
* acinclude.m4: Add CXXPICFLAG to CXXFLAGS in Qt tests.
(OCTAVE_CHECK_QSCINTILLA_VERSION): Rename from
OCTAVE_CHECK_VERSION_2_6_0.
(OCTAVE_CHECK_QT_VERSION, OCTAVE_CHECK_QT): New macros extracted from
configure.ac.
* configure.ac: Move checks for shared vs. static libraries earlier in
file. Allow checking for multiple versions of Qt libraries. Report
MOC, UIC, RCC, and LRELEASE in summary.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 09 Aug 2016 14:41:52 -0400 |
parents | 83963bad5e7d |
children | 2fd4f1a3f4a8 |
comparison
equal
deleted
inserted
replaced
22233:60faa7c85e31 | 22234:66dd260512a4 |
---|---|
187 AC_DEFUN([OCTAVE_CHECK_CXSPARSE_VERSION_OK], [ | 187 AC_DEFUN([OCTAVE_CHECK_CXSPARSE_VERSION_OK], [ |
188 AC_CACHE_CHECK([whether CXSparse is version 2.2 or later], | 188 AC_CACHE_CHECK([whether CXSparse is version 2.2 or later], |
189 [octave_cv_cxsparse_version_ok], | 189 [octave_cv_cxsparse_version_ok], |
190 [AC_LANG_PUSH(C++) | 190 [AC_LANG_PUSH(C++) |
191 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 191 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
192 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 192 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
193 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
194 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
193 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ | 195 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ |
194 #if defined (HAVE_SUITESPARSE_CS_H) | 196 #if defined (HAVE_SUITESPARSE_CS_H) |
195 #include <suitesparse/cs.h> | 197 #include <suitesparse/cs.h> |
196 #elif defined (HAVE_UFSPARSE_CS_H) | 198 #elif defined (HAVE_UFSPARSE_CS_H) |
197 #include <ufsparse/cs.h> | 199 #include <ufsparse/cs.h> |
209 #endif | 211 #endif |
210 ]])], | 212 ]])], |
211 octave_cv_cxsparse_version_ok=yes, | 213 octave_cv_cxsparse_version_ok=yes, |
212 octave_cv_cxsparse_version_ok=no) | 214 octave_cv_cxsparse_version_ok=no) |
213 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 215 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
216 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
214 AC_LANG_POP(C++) | 217 AC_LANG_POP(C++) |
215 ]) | 218 ]) |
216 if test $octave_cv_cxsparse_version_ok = yes; then | 219 if test $octave_cv_cxsparse_version_ok = yes; then |
217 AC_DEFINE(HAVE_CXSPARSE_VERSION_OK, 1, | 220 AC_DEFINE(HAVE_CXSPARSE_VERSION_OK, 1, |
218 [Define to 1 if CXSparse is version 2.2 or later.]) | 221 [Define to 1 if CXSparse is version 2.2 or later.]) |
350 dnl | 353 dnl |
351 dnl Check whether Qscintilla has version 2.6.0 or later | 354 dnl Check whether Qscintilla has version 2.6.0 or later |
352 dnl FIXME: This test uses a version number. It potentially could | 355 dnl FIXME: This test uses a version number. It potentially could |
353 dnl be re-written to actually call the function, but is it worth it? | 356 dnl be re-written to actually call the function, but is it worth it? |
354 dnl | 357 dnl |
355 AC_DEFUN([OCTAVE_CHECK_VERSION_2_6_0], [ | 358 AC_DEFUN([OCTAVE_CHECK_QSCINTILLA_VERSION], [ |
356 AC_CACHE_CHECK([whether Qscintilla has version 2.6.0 or later], | 359 AC_CACHE_CHECK([whether Qscintilla has version 2.6.0 or later], |
357 [octave_cv_version_2_6_0], | 360 [octave_cv_version_2_6_0], |
358 [AC_LANG_PUSH(C++) | 361 [AC_LANG_PUSH(C++) |
359 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 362 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
360 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 363 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
364 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
365 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
361 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ | 366 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ |
362 #include <Qsci/qsciglobal.h> | 367 #include <Qsci/qsciglobal.h> |
363 ]], [[ | 368 ]], [[ |
364 #if QSCINTILLA_VERSION < 0x020600 | 369 #if QSCINTILLA_VERSION < 0x020600 |
365 #error Old FindFirst function found. | 370 #error Old FindFirst function found. |
366 #endif | 371 #endif |
367 ]])], | 372 ]])], |
368 octave_cv_version_2_6_0=yes, | 373 octave_cv_version_2_6_0=yes, |
369 octave_cv_version_2_6_0=no) | 374 octave_cv_version_2_6_0=no) |
370 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 375 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
376 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
371 AC_LANG_POP(C++) | 377 AC_LANG_POP(C++) |
372 ]) | 378 ]) |
373 if test $octave_cv_version_2_6_0 = yes; then | 379 if test $octave_cv_version_2_6_0 = yes; then |
374 AC_DEFINE(HAVE_QSCI_VERSION_2_6_0, 1, | 380 AC_DEFINE(HAVE_QSCI_VERSION_2_6_0, 1, |
375 [Define to 1 if Qscintilla is of Version 2.6.0 or later.]) | 381 [Define to 1 if Qscintilla is of Version 2.6.0 or later.]) |
431 AC_DEFUN([OCTAVE_CHECK_QFONT_MONOSPACE], [ | 437 AC_DEFUN([OCTAVE_CHECK_QFONT_MONOSPACE], [ |
432 AC_CACHE_CHECK([whether Qt provides QFont::Monospace], | 438 AC_CACHE_CHECK([whether Qt provides QFont::Monospace], |
433 [octave_cv_decl_qfont_monospace], | 439 [octave_cv_decl_qfont_monospace], |
434 [AC_LANG_PUSH(C++) | 440 [AC_LANG_PUSH(C++) |
435 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 441 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
436 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 442 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
443 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
444 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
437 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 445 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
438 #include <QFont> | 446 #include <QFont> |
439 ]], [[ | 447 ]], [[ |
440 QFont::StyleHint hint = QFont::Monospace; | 448 QFont::StyleHint hint = QFont::Monospace; |
441 ]])], | 449 ]])], |
442 octave_cv_decl_qfont_monospace=yes, | 450 octave_cv_decl_qfont_monospace=yes, |
443 octave_cv_decl_qfont_monospace=no) | 451 octave_cv_decl_qfont_monospace=no) |
444 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 452 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
453 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
445 AC_LANG_POP(C++) | 454 AC_LANG_POP(C++) |
446 ]) | 455 ]) |
447 if test $octave_cv_decl_qfont_monospace = yes; then | 456 if test $octave_cv_decl_qfont_monospace = yes; then |
448 AC_DEFINE(HAVE_QFONT_MONOSPACE, 1, | 457 AC_DEFINE(HAVE_QFONT_MONOSPACE, 1, |
449 [Define to 1 if Qt provides QFont::Monospace.]) | 458 [Define to 1 if Qt provides QFont::Monospace.]) |
455 AC_DEFUN([OCTAVE_CHECK_QFONT_FORCE_INTEGER_METRICS], [ | 464 AC_DEFUN([OCTAVE_CHECK_QFONT_FORCE_INTEGER_METRICS], [ |
456 AC_CACHE_CHECK([whether Qt provides QFont::ForceIntegerMetrics], | 465 AC_CACHE_CHECK([whether Qt provides QFont::ForceIntegerMetrics], |
457 [octave_cv_decl_qfont_force_integer_metrics], | 466 [octave_cv_decl_qfont_force_integer_metrics], |
458 [AC_LANG_PUSH(C++) | 467 [AC_LANG_PUSH(C++) |
459 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 468 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
460 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 469 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
470 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
471 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
461 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 472 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
462 #include <QFont> | 473 #include <QFont> |
463 ]], [[ | 474 ]], [[ |
464 QFont::StyleStrategy strategy = QFont::ForceIntegerMetrics; | 475 QFont::StyleStrategy strategy = QFont::ForceIntegerMetrics; |
465 ]])], | 476 ]])], |
466 octave_cv_decl_qfont_force_integer_metrics=yes, | 477 octave_cv_decl_qfont_force_integer_metrics=yes, |
467 octave_cv_decl_qfont_force_integer_metrics=no) | 478 octave_cv_decl_qfont_force_integer_metrics=no) |
468 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 479 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
480 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
469 AC_LANG_POP(C++) | 481 AC_LANG_POP(C++) |
470 ]) | 482 ]) |
471 if test $octave_cv_decl_qfont_force_integer_metrics = yes; then | 483 if test $octave_cv_decl_qfont_force_integer_metrics = yes; then |
472 AC_DEFINE(HAVE_QFONT_FORCE_INTEGER_METRICS, 1, | 484 AC_DEFINE(HAVE_QFONT_FORCE_INTEGER_METRICS, 1, |
473 [Define to 1 if Qt provides QFont::ForceIntegerMetrics.]) | 485 [Define to 1 if Qt provides QFont::ForceIntegerMetrics.]) |
481 AC_DEFUN([OCTAVE_CHECK_FUNC_SETPLACEHOLDERTEXT], [ | 493 AC_DEFUN([OCTAVE_CHECK_FUNC_SETPLACEHOLDERTEXT], [ |
482 AC_CACHE_CHECK([whether Qt has SetPlaceholderText function], | 494 AC_CACHE_CHECK([whether Qt has SetPlaceholderText function], |
483 [octave_cv_func_setplaceholdertext], | 495 [octave_cv_func_setplaceholdertext], |
484 [AC_LANG_PUSH(C++) | 496 [AC_LANG_PUSH(C++) |
485 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 497 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
486 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 498 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
499 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
500 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
487 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ | 501 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ |
488 #include <Qt/qglobal.h> | 502 #include <Qt/qglobal.h> |
489 ]], [[ | 503 ]], [[ |
490 #if QT_VERSION < 0x040700 | 504 #if QT_VERSION < 0x040700 |
491 #error No SetPlacholderText function available. | 505 #error No SetPlacholderText function available. |
492 #endif | 506 #endif |
493 ]])], | 507 ]])], |
494 octave_cv_func_setplaceholdertext=yes, | 508 octave_cv_func_setplaceholdertext=yes, |
495 octave_cv_func_setplaceholdertext=no) | 509 octave_cv_func_setplaceholdertext=no) |
496 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 510 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
511 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
497 AC_LANG_POP(C++) | 512 AC_LANG_POP(C++) |
498 ]) | 513 ]) |
499 if test $octave_cv_func_setplaceholdertext = yes; then | 514 if test $octave_cv_func_setplaceholdertext = yes; then |
500 AC_DEFINE(HAVE_SETPLACEHOLDERTEXT, 1, | 515 AC_DEFINE(HAVE_SETPLACEHOLDERTEXT, 1, |
501 [Define to 1 if you have the Qt SetPlaceholderText function.]) | 516 [Define to 1 if you have the Qt SetPlaceholderText function.]) |
509 AC_DEFUN([OCTAVE_CHECK_FUNC_QABSTRACTITEMMODEL_BEGINRESETMODEL], [ | 524 AC_DEFUN([OCTAVE_CHECK_FUNC_QABSTRACTITEMMODEL_BEGINRESETMODEL], [ |
510 AC_CACHE_CHECK([whether Qt has the QAbstractItemModel::beginResetModel function], | 525 AC_CACHE_CHECK([whether Qt has the QAbstractItemModel::beginResetModel function], |
511 [octave_cv_func_qabstractitemmodel_beginresetmodel], | 526 [octave_cv_func_qabstractitemmodel_beginresetmodel], |
512 [AC_LANG_PUSH(C++) | 527 [AC_LANG_PUSH(C++) |
513 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 528 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
514 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 529 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
530 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
531 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
515 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 532 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
516 #include <QAbstractItemModel> | 533 #include <QAbstractItemModel> |
517 class item_model : public QAbstractItemModel | 534 class item_model : public QAbstractItemModel |
518 { | 535 { |
519 public: | 536 public: |
535 model.update_model (); | 552 model.update_model (); |
536 ]])], | 553 ]])], |
537 octave_cv_func_qabstractitemmodel_beginresetmodel=yes, | 554 octave_cv_func_qabstractitemmodel_beginresetmodel=yes, |
538 octave_cv_func_qabstractitemmodel_beginresetmodel=no) | 555 octave_cv_func_qabstractitemmodel_beginresetmodel=no) |
539 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 556 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
557 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
540 AC_LANG_POP(C++) | 558 AC_LANG_POP(C++) |
541 ]) | 559 ]) |
542 if test $octave_cv_func_qabstractitemmodel_beginresetmodel = yes; then | 560 if test $octave_cv_func_qabstractitemmodel_beginresetmodel = yes; then |
543 AC_DEFINE(HAVE_QABSTRACTITEMMODEL_BEGINRESETMODEL, 1, | 561 AC_DEFINE(HAVE_QABSTRACTITEMMODEL_BEGINRESETMODEL, 1, |
544 [Define to 1 if Qt has the QAbstractItemModel::beginResetModel() function.]) | 562 [Define to 1 if Qt has the QAbstractItemModel::beginResetModel() function.]) |
551 AC_DEFUN([OCTAVE_CHECK_FUNC_QTABWIDGET_SETMOVABLE], [ | 569 AC_DEFUN([OCTAVE_CHECK_FUNC_QTABWIDGET_SETMOVABLE], [ |
552 AC_CACHE_CHECK([whether Qt has the QTabWidget::setMovable function], | 570 AC_CACHE_CHECK([whether Qt has the QTabWidget::setMovable function], |
553 [octave_cv_func_qtabwidget_setmovable], | 571 [octave_cv_func_qtabwidget_setmovable], |
554 [AC_LANG_PUSH(C++) | 572 [AC_LANG_PUSH(C++) |
555 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 573 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
556 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 574 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
575 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
576 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
557 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 577 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
558 #include <QTabWidget> | 578 #include <QTabWidget> |
559 class tab_widget : public QTabWidget | 579 class tab_widget : public QTabWidget |
560 { | 580 { |
561 public: | 581 public: |
566 tab_widget tw; | 586 tab_widget tw; |
567 ]])], | 587 ]])], |
568 octave_cv_func_qtabwidget_setmovable=yes, | 588 octave_cv_func_qtabwidget_setmovable=yes, |
569 octave_cv_func_qtabwidget_setmovable=no) | 589 octave_cv_func_qtabwidget_setmovable=no) |
570 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 590 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
591 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
571 AC_LANG_POP(C++) | 592 AC_LANG_POP(C++) |
572 ]) | 593 ]) |
573 if test $octave_cv_func_qtabwidget_setmovable = yes; then | 594 if test $octave_cv_func_qtabwidget_setmovable = yes; then |
574 AC_DEFINE(HAVE_QTABWIDGET_SETMOVABLE, 1, | 595 AC_DEFINE(HAVE_QTABWIDGET_SETMOVABLE, 1, |
575 [Define to 1 if Qt has the QTabWidget::setMovable function.]) | 596 [Define to 1 if Qt has the QTabWidget::setMovable function.]) |
582 AC_DEFUN([OCTAVE_CHECK_FUNC_QSCI_FINDSELECTION], [ | 603 AC_DEFUN([OCTAVE_CHECK_FUNC_QSCI_FINDSELECTION], [ |
583 AC_CACHE_CHECK([whether QSci has the QsciScintilla::findFirstInSelection function], | 604 AC_CACHE_CHECK([whether QSci has the QsciScintilla::findFirstInSelection function], |
584 [octave_cv_func_qsci_findfirstinselection], | 605 [octave_cv_func_qsci_findfirstinselection], |
585 [AC_LANG_PUSH(C++) | 606 [AC_LANG_PUSH(C++) |
586 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 607 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
587 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 608 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
609 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
610 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
588 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 611 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
589 #include <Qsci/qsciscintilla.h> | 612 #include <Qsci/qsciscintilla.h> |
590 class qsci : public QsciScintilla | 613 class qsci : public QsciScintilla |
591 { | 614 { |
592 public: | 615 public: |
598 qsci edit; | 621 qsci edit; |
599 ]])], | 622 ]])], |
600 octave_cv_func_qsci_findfirstinselection=yes, | 623 octave_cv_func_qsci_findfirstinselection=yes, |
601 octave_cv_func_qsci_findfirstinselection=no) | 624 octave_cv_func_qsci_findfirstinselection=no) |
602 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 625 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
626 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
603 AC_LANG_POP(C++) | 627 AC_LANG_POP(C++) |
604 ]) | 628 ]) |
605 if test $octave_cv_func_qsci_findfirstinselection = yes; then | 629 if test $octave_cv_func_qsci_findfirstinselection = yes; then |
606 AC_DEFINE(HAVE_QSCI_FINDSELECTION, 1, | 630 AC_DEFINE(HAVE_QSCI_FINDSELECTION, 1, |
607 [Define to 1 if Qsci has the QsciScintilla::findFirstInSelection function.]) | 631 [Define to 1 if Qsci has the QsciScintilla::findFirstInSelection function.]) |
1248 AC_DEFUN([OCTAVE_CHECK_QT_OPENGL_OK], [ | 1272 AC_DEFUN([OCTAVE_CHECK_QT_OPENGL_OK], [ |
1249 AC_CACHE_CHECK([whether Qt works with OpenGL and GLU], | 1273 AC_CACHE_CHECK([whether Qt works with OpenGL and GLU], |
1250 [octave_cv_qt_opengl_ok], | 1274 [octave_cv_qt_opengl_ok], |
1251 [AC_LANG_PUSH(C++) | 1275 [AC_LANG_PUSH(C++) |
1252 ac_octave_save_CPPFLAGS="$CPPFLAGS" | 1276 ac_octave_save_CPPFLAGS="$CPPFLAGS" |
1253 CPPFLAGS="$QT_CPPFLAGS $CPPFLAGS" | 1277 ac_octave_save_CXXFLAGS="$CXXFLAGS" |
1278 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
1279 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
1254 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 1280 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
1255 #if HAVE_WINDOWS_H | 1281 #if HAVE_WINDOWS_H |
1256 # include <windows.h> | 1282 # include <windows.h> |
1257 #endif | 1283 #endif |
1258 #if defined (HAVE_GL_GL_H) | 1284 #if defined (HAVE_GL_GL_H) |
1276 gl_widget widget; | 1302 gl_widget widget; |
1277 ]])], | 1303 ]])], |
1278 octave_cv_qt_opengl_ok=yes, | 1304 octave_cv_qt_opengl_ok=yes, |
1279 octave_cv_qt_opengl_ok=no) | 1305 octave_cv_qt_opengl_ok=no) |
1280 CPPFLAGS="$ac_octave_save_CPPFLAGS" | 1306 CPPFLAGS="$ac_octave_save_CPPFLAGS" |
1307 CXXFLAGS="$ac_octave_save_CXXFLAGS" | |
1281 AC_LANG_POP(C++) | 1308 AC_LANG_POP(C++) |
1282 ]) | 1309 ]) |
1283 if test $octave_cv_qt_opengl_ok = yes; then | 1310 if test $octave_cv_qt_opengl_ok = yes; then |
1284 $1 | 1311 $1 |
1285 : | 1312 : |
1286 else | 1313 else |
1287 $2 | 1314 $2 |
1288 : | 1315 : |
1289 fi | 1316 fi |
1317 ]) | |
1318 dnl | |
1319 dnl Check whether Qt VERSION is present, supports QtOpenGL and | |
1320 dnl QScintilla and will work for Octave. | |
1321 dnl | |
1322 dnl OCTAVE_CHECK_QT_VERSION(VERSION) | |
1323 dnl | |
1324 AC_DEFUN([OCTAVE_CHECK_QT_VERSION], [AC_MSG_CHECKING([Qt version $1]) | |
1325 QT_CPPFLAGS= | |
1326 QT_LDFLAGS= | |
1327 QT_LIBS= | |
1328 | |
1329 qt_version="$1"; | |
1330 | |
1331 build_qt_gui=no | |
1332 build_qt_graphics=no | |
1333 use_qscintilla=no | |
1334 win32_terminal=no | |
1335 | |
1336 warn_qt_libraries="" | |
1337 warn_qt_version="" | |
1338 warn_qt_tools="" | |
1339 warn_qt_setlocale="" | |
1340 warn_qt_setvbuf="" | |
1341 warn_qt_lib_fcns="" | |
1342 warn_qt_abstract_item_model="" | |
1343 warn_qt_opengl="" | |
1344 warn_qscintilla="" | |
1345 | |
1346 ## Check for Qt libraries | |
1347 case "$qt_version" in | |
1348 4) | |
1349 QT_MODULES="QtCore QtGui QtNetwork QtOpenGL" | |
1350 LIBQSCINTILLA=qscintilla2 | |
1351 ;; | |
1352 5) | |
1353 QT_MODULES="Qt5Core Qt5Gui Qt5Network Qt5OpenGL" | |
1354 LIBQSCINTILLA=qt5scintilla2 | |
1355 ;; | |
1356 *) | |
1357 AC_MSG_ERROR([Unrecognized Qt version $qt_version]) | |
1358 ;; | |
1359 esac | |
1360 | |
1361 PKG_CHECK_MODULES(QT, [$QT_MODULES], | |
1362 [], | |
1363 [check_qt=no | |
1364 warn_qt_libraries="Qt libraries not found; disabling Qt GUI"]) | |
1365 | |
1366 if test $check_qt = yes; then | |
1367 ## Retrieve Qt compilation and linker flags | |
1368 QT_CPPFLAGS="`$PKG_CONFIG --cflags-only-I $QT_MODULES`" | |
1369 QT_LDFLAGS="`$PKG_CONFIG --libs-only-L $QT_MODULES`" | |
1370 QT_LIBS="`$PKG_CONFIG --libs-only-l $QT_MODULES`" | |
1371 | |
1372 case $host_os in | |
1373 *darwin*) | |
1374 ## Qt might be installed in framework | |
1375 if test -z "$QT_LIBS"; then | |
1376 QT_LDFLAGS="`$PKG_CONFIG --libs-only-other $QT_MODULES | tr ' ' '\n' | $GREP -e '-F' | uniq | tr '\n' ' '`" | |
1377 QT_LIBS="`$PKG_CONFIG --libs-only-other $QT_MODULES | tr ' ' '\n' | $GREP -v -e '-F' | uniq | tr '\n' ' '`" | |
1378 ## Enabling link_all_deps works around libtool's imperfect handling | |
1379 ## of the -F flag | |
1380 AM_CONDITIONAL([AMCOND_LINK_ALL_DEPS], | |
1381 [test $link_all_deps = yes || test -n "$QT_LDFLAGS"]) | |
1382 fi | |
1383 ;; | |
1384 esac | |
1385 | |
1386 if test $qt_version = 4; then | |
1387 ## Check for Qt4 | |
1388 if ! `$PKG_CONFIG --atleast-version=4.0.0 QtCore`; then | |
1389 check_qt=no | |
1390 warn_qt_version="Qt >= 4.0.0 not found; disabling Qt GUI" | |
1391 fi | |
1392 fi | |
1393 fi | |
1394 | |
1395 if test $check_qt = yes; then | |
1396 AC_CHECK_TOOLS(MOC, [moc-qt$qt_version]) | |
1397 AC_CHECK_TOOLS(UIC, [uic-qt$qt_version]) | |
1398 AC_CHECK_TOOLS(RCC, [rcc-qt$qt_version]) | |
1399 AC_CHECK_TOOLS(LRELEASE, [lrelease-qt$qt_version]) | |
1400 | |
1401 if test -z "$MOC" || test -z "$UIC" || test -z "$RCC" || test -z "$LRELEASE"; then | |
1402 AC_CHECK_TOOLS(QTCHOOSER, [qtchooser]) | |
1403 | |
1404 if test -z "$MOC"; then | |
1405 AC_CHECK_TOOLS(MOC, [moc]) | |
1406 if test -n "$QTCHOOSER"; then | |
1407 MOCFLAGS="-qt$qt_version" | |
1408 fi | |
1409 fi | |
1410 if test -z "$UIC"; then | |
1411 AC_CHECK_TOOLS(UIC, [uic]) | |
1412 if test -n "$QTCHOOSER"; then | |
1413 UICFLAGS="-qt$qt_version" | |
1414 fi | |
1415 fi | |
1416 if test -z "$RCC"; then | |
1417 AC_CHECK_TOOLS(RCC, [rcc]) | |
1418 if test -n "$QTCHOOSER"; then | |
1419 RCCFLAGS="-qt$qt_version" | |
1420 fi | |
1421 fi | |
1422 if test -z "$LRELEASE"; then | |
1423 AC_CHECK_TOOLS(LRELEASE, [lrelease]) | |
1424 if test -n "$QTCHOOSER"; then | |
1425 LRELEASEFLAGS="-qt$qt_version" | |
1426 fi | |
1427 fi | |
1428 fi | |
1429 | |
1430 if test -n "$MOC" && test -n "$UIC" && test -n "$RCC" && test -n "$LRELEASE"; then | |
1431 AC_DEFINE(HAVE_QT, 1, | |
1432 [Define to 1 if Qt is available (libraries, developer header files, utility programs (moc, uic, rcc, and lrelease))]) | |
1433 else | |
1434 warn_qt_tools="one or more of the Qt utility programs moc, uic, rcc, and lrelease not found; disabling Qt GUI" | |
1435 check_qt=no | |
1436 fi | |
1437 fi | |
1438 | |
1439 if test $check_qt = yes; then | |
1440 AC_CHECK_FUNCS([setlocale], [], | |
1441 [check_qt=no | |
1442 warn_qt_setlocale="setlocale not found; disabling Qt GUI"]) | |
1443 fi | |
1444 | |
1445 if test $check_qt = yes; then | |
1446 case $host_os in | |
1447 mingw* | msdosmsvc*) | |
1448 AC_CHECK_FUNCS([setvbuf], [win32_terminal=yes], | |
1449 [check_qt=no | |
1450 warn_qt_setvbuf="setvbuf not found; disabling Qt GUI"]) | |
1451 ;; | |
1452 *) | |
1453 AC_CHECK_HEADERS([pty.h libutil.h util.h]) | |
1454 AC_SEARCH_LIBS([openpty], [util], | |
1455 [AC_DEFINE(HAVE_OPENPTY, [], [Define whether openpty exists])]) | |
1456 AC_CHECK_FUNCS([chmod chown ftruncate mmap munmap], [], | |
1457 [check_qt=no | |
1458 warn_qt_lib_fcns="At least one of chmod, chown, ftruncate, mmap, and munmap not found; disabling Qt GUI"]) | |
1459 ;; | |
1460 esac | |
1461 fi | |
1462 | |
1463 if test $check_qt = yes; then | |
1464 OCTAVE_CHECK_FUNC_QABSTRACTITEMMODEL_BEGINRESETMODEL | |
1465 | |
1466 if test $octave_cv_func_qabstractitemmodel_beginresetmodel = no; then | |
1467 check_qt=no | |
1468 warn_qt_abstract_item_model="QAbstractItemModel::beginResetModel not found; disabling Qt GUI" | |
1469 fi | |
1470 fi | |
1471 | |
1472 if test $check_qt = yes; then | |
1473 ## We have what we need to build the Qt GUI. The remaining | |
1474 ## checks below are for optional features related to the Qt GUI. | |
1475 build_qt_gui=yes | |
1476 fi | |
1477 | |
1478 if test $check_qt = yes; then | |
1479 OCTAVE_CHECK_QFONT_MONOSPACE | |
1480 OCTAVE_CHECK_QFONT_FORCE_INTEGER_METRICS | |
1481 OCTAVE_CHECK_FUNC_QTABWIDGET_SETMOVABLE | |
1482 | |
1483 if test -n "$OPENGL_LIBS"; then | |
1484 OCTAVE_CHECK_QT_OPENGL_OK([build_qt_graphics=yes], | |
1485 [warn_qt_opengl="Qt does not work with the OpenGL libs (GL and GLU); disabling OpenGL graphics with Qt GUI"]) | |
1486 | |
1487 if test $build_qt_graphics = yes; then | |
1488 AC_DEFINE(HAVE_QT_GRAPHICS, 1, [Define to 1 if Qt works with OpenGL libs (GL and GLU)]) | |
1489 fi | |
1490 fi | |
1491 | |
1492 ## Check for Qscintilla library which is used in the Qt GUI editor. | |
1493 AC_CACHE_CHECK([whether Qscintilla library is installed], | |
1494 [octave_cv_lib_qscintilla], | |
1495 [save_CPPFLAGS="$CPPFLAGS" | |
1496 save_CXXFLAGS="$CXXFLAGS" | |
1497 save_LDFLAGS="$LDFLAGS" | |
1498 save_LIBS="$LIBS" | |
1499 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
1500 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
1501 LDFLAGS="$QT_LDFLAGS $LDFLAGS" | |
1502 LIBS="$QT_LIBS -l$LIBQSCINTILLA" | |
1503 AC_LANG_PUSH(C++) | |
1504 AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | |
1505 #include <Qsci/qscilexersql.h> | |
1506 ]], [[ | |
1507 QsciLexerSQL sqlLexer(0); | |
1508 ]])], | |
1509 octave_cv_lib_qscintilla=yes, | |
1510 octave_cv_lib_qscintilla=no) | |
1511 CPPFLAGS="$save_CPPFLAGS" | |
1512 CXXFLAGS="$save_CXXFLAGS" | |
1513 LDFLAGS="$save_LDFLAGS" | |
1514 LIBS="$save_LIBS" | |
1515 AC_LANG_POP([C++]) | |
1516 ]) | |
1517 | |
1518 if test $octave_cv_lib_qscintilla = no; then | |
1519 warn_qscintilla="Qscintilla library not found; disabling built-in Qt GUI editor" | |
1520 else | |
1521 ## Let's assume Qscintilla library is at the same location as | |
1522 ## other regular Qt libraries. | |
1523 QT_LIBS="$QT_LIBS -l$LIBQSCINTILLA" | |
1524 OCTAVE_CHECK_QSCINTILLA_VERSION | |
1525 AC_DEFINE(HAVE_QSCINTILLA, 1, | |
1526 [Define to 1 if the QScintilla library and header files are available]) | |
1527 | |
1528 save_CPPFLAGS="$CPPFLAGS" | |
1529 save_CXXFLAGS="$CXXFLAGS" | |
1530 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS" | |
1531 CXXFLAGS="$CXXPICFLAG $CXXFLAGS" | |
1532 AC_LANG_PUSH(C++) | |
1533 AC_CHECK_HEADERS([Qsci/qscilexeroctave.h Qsci/qscilexermatlab.h]) | |
1534 AC_LANG_POP(C++) | |
1535 CPPFLAGS="$save_CPPFLAGS" | |
1536 CXXFLAGS="$save_CXXFLAGS" | |
1537 | |
1538 OCTAVE_CHECK_FUNC_SETPLACEHOLDERTEXT | |
1539 OCTAVE_CHECK_FUNC_QSCI_FINDSELECTION | |
1540 use_qscintilla=yes | |
1541 fi | |
1542 fi | |
1543 AC_SUBST(MOCFLAGS) | |
1544 AC_SUBST(UICFLAGS) | |
1545 AC_SUBST(RCCFLAGS) | |
1546 AC_SUBST(LRELEASEFLAGS) | |
1547 AC_SUBST(QT_CPPFLAGS) | |
1548 AC_SUBST(QT_LDFLAGS) | |
1549 AC_SUBST(QT_LIBS) | |
1550 ]) | |
1551 dnl | |
1552 dnl OCTAVE_CHECK_QT | |
1553 dnl | |
1554 AC_DEFUN([OCTAVE_CHECK_QT], [ | |
1555 octave_qt_versions="$1" | |
1556 if test $check_qt = yes; then | |
1557 for ver in $octave_qt_versions; do | |
1558 OCTAVE_CHECK_QT_VERSION([$ver]) | |
1559 if test $build_qt_gui = yes; then | |
1560 break | |
1561 fi | |
1562 done | |
1563 | |
1564 if test $build_qt_gui = no; then | |
1565 if test -n "$warn_qt_libraries"; then | |
1566 OCTAVE_CONFIGURE_WARNING([warn_qt_libraries]) | |
1567 fi | |
1568 if test -n "$warn_qt_version"; then | |
1569 OCTAVE_CONFIGURE_WARNING([warn_qt_version]) | |
1570 fi | |
1571 if test -n "$warn_qt_tools"; then | |
1572 OCTAVE_CONFIGURE_WARNING([warn_qt_tools]) | |
1573 fi | |
1574 if test -n "$warn_qt_setlocale"; then | |
1575 OCTAVE_CONFIGURE_WARNING([warn_qt_setlocale]) | |
1576 fi | |
1577 if test -n "$warn_qt_setvbuf"; then | |
1578 OCTAVE_CONFIGURE_WARNING([warn_qt_setvbuf]) | |
1579 fi | |
1580 if test -n "$warn_qt_lib_fcns"; then | |
1581 OCTAVE_CONFIGURE_WARNING([warn_qt_lib_fcns]) | |
1582 fi | |
1583 if test -n "$warn_qt_abstract_item_model"; then | |
1584 OCTAVE_CONFIGURE_WARNING([warn_qt_abstract_item_model]) | |
1585 fi | |
1586 if test -n "$warn_qt_opengl"; then | |
1587 OCTAVE_CONFIGURE_WARNING([warn_qt_opengl]) | |
1588 fi | |
1589 if test -n "$warn_qscintilla"; then | |
1590 OCTAVE_CONFIGURE_WARNING([warn_qscintilla]) | |
1591 fi | |
1592 fi | |
1593 fi | |
1594 | |
1595 AM_CONDITIONAL([AMCOND_BUILD_QT_GUI], [test $build_qt_gui = yes]) | |
1596 AM_CONDITIONAL([AMCOND_BUILD_QT_GRAPHICS], [test $build_qt_graphics = yes]) | |
1597 AM_CONDITIONAL([AMCOND_HAVE_QSCINTILLA], [test $use_qscintilla = yes]) | |
1598 AM_CONDITIONAL([WIN32_TERMINAL], [test $win32_terminal = yes]) | |
1290 ]) | 1599 ]) |
1291 dnl | 1600 dnl |
1292 dnl Check if the default Fortran INTEGER is 64 bits wide. | 1601 dnl Check if the default Fortran INTEGER is 64 bits wide. |
1293 dnl | 1602 dnl |
1294 AC_DEFUN([OCTAVE_CHECK_SIZEOF_FORTRAN_INTEGER], [ | 1603 AC_DEFUN([OCTAVE_CHECK_SIZEOF_FORTRAN_INTEGER], [ |