commit 0c7bd9a57f2a308bb9659200eda3b7e45f8d5d3c
Author: Enrico Forestieri <for...@lyx.org>
Date:   Sun Jul 17 12:31:24 2016 +0200

    Check path of Qt tools if qtchooser is detected
    
    The full path of the tools is retained only if the Qt directory is
    specified using --with-qt-dir. Now, when qtchooser was detected it
    was blindly assumed that the corresponding system tools were being
    used. These tools discriminate between Qt4 and Qt5 through the
    option -qt=qt4 or -qt=qt5. However, the original Qt tools don't
    understand these options, so that if they come first in the PATH,
    configuration fails. So, only use those options if we are reasonably
    sure that the system Qt is wanted. This is achieved by comparing the
    paths of qtchooser and tools as, typically, they are located in the
    same directory. In this way, if one prepends the bin directory of a
    custom Qt build to PATH (and accordingly adjusts PKG_CONFIG_PATH),
    configuration succeeds even if --with-qt-dir is not specified.
---
 config/qt4.m4 |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/config/qt4.m4 b/config/qt4.m4
index f39c0ed..03f0c05 100644
--- a/config/qt4.m4
+++ b/config/qt4.m4
@@ -75,7 +75,13 @@ AC_DEFUN([QT_FIND_TOOL],
        if test -n "$qt_cv_bin" ; then
                AC_PATH_PROGS($1, [$2], [], $qt_cv_bin)
        elif qtchooser -l 2>/dev/null | grep -q ^$qt_ext\$ >/dev/null ; then
-               AC_CHECK_PROG($1, $2, [$2 -qt=$qt_ext],, [$PATH])
+               AC_PATH_PROG(qtc_path, qtchooser, [], [$PATH])
+               AC_PATH_PROG($2_path, $2, [], [$PATH])
+               qtc_path=$(dirname "$qtc_path")
+               $2_path=$(dirname "$$2_path")
+               if test "$qtc_path" = "$$2_path" ; then
+                       AC_CHECK_PROG($1, $2, [$2 -qt=$qt_ext],, [$PATH])
+               fi
        fi
        if test -z "$$1"; then
                AC_CHECK_PROGS($1, [$2-$qt_ext $2],[],$PATH)

Reply via email to