summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2015-11-01 21:12:53 -0600
committerMichal Marek <mmarek@suse.com>2015-11-02 21:43:09 +0100
commit588446a84776cfb3ebbc1677c3407d6884878bd6 (patch)
tree7ffa0f60d0191e38806b268272989fec52d6bb7e /scripts
parentf6aad2615c8c4ed806e70693adacb6c93f13564a (diff)
downloadlinux-588446a84776cfb3ebbc1677c3407d6884878bd6.tar.gz
linux-588446a84776cfb3ebbc1677c3407d6884878bd6.tar.bz2
linux-588446a84776cfb3ebbc1677c3407d6884878bd6.zip
Use pkg-config to find Qt 4 and 5 instead of direct qmake
The Qt Project recommendation is that there should always be a "qmake" binary and it should never be renamed. If it's necessary to handle multiple Qt versions, the Qt Project recommends using qtchooser. Unfortunately, some distros do not follow the recommendation, so we would need to check qmake-qt4, qmake-qt5, etc. So, instead, let's try pkg-config. Signed-off-by: Thiago Macieira <thiago.macieira@intel.com> Reported-by: Alexey Brodkin <abrodkin@synopsys.com> Acked-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/Makefile37
1 files changed, 13 insertions, 24 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 33c49944e1a7..8d0b1ba77242 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -227,35 +227,24 @@ $(obj)/.tmp_qtcheck: $(src)/Makefile
# Qt needs some extra effort...
$(obj)/.tmp_qtcheck:
@set -e; $(kecho) " CHECK qt"; \
- qtver=`qmake -query QT_VERSION` || { \
+ if pkg-config --exists Qt5Core; then \
+ cflags="-std=c++11 -fPIC `pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets`"; \
+ libs=`pkg-config --libs Qt5Core Qt5Gui Qt5Widgets`; \
+ moc=`pkg-config --variable=host_bins Qt5Core`/moc; \
+ elif pkg-config --exists QtCore; then \
+ cflags=`pkg-config --cflags QtCore QtGui`; \
+ libs=`pkg-config --libs QtCore QtGui`; \
+ moc=`pkg-config --variable=moc_location QtCore`; \
+ else \
echo >&2 "*"; \
- echo >&2 "* qmake failed."; \
+ echo >&2 "* Could not find Qt via pkg-config."; \
+ echo >&2 "* Please install either Qt 4.8 or 5.x. and make sure it's in PKG_CONFIG_PATH"; \
echo >&2 "*"; \
exit 1; \
- }; \
- qtlibdir=`qmake -query QT_INSTALL_LIBS`; \
- qthdrdir=`qmake -query QT_INSTALL_HEADERS`; \
- qtbindir=`qmake -query QT_INSTALL_BINS`; \
- cflags="-I$$qthdrdir -I$$qthdrdir/QtCore -I$$qthdrdir/QtGui"; \
- case "$$qtver" in \
- 5.*) \
- cflags="$$cflags -I$$qthdrdir/QtWidgets -std=c++11 -fPIC"; \
- libs="-L$$qtlibdir -lQt5Widgets -lQt5Gui -lQt5Core "; \
- ;; \
- 4.*) \
- libs="-L$$qtlibdir -lQtGui -lQtCore"; \
- ;; \
- *) \
- echo >&2 "*"; \
- echo >&2 "* Found qmake but it is for Qt version $$qtver, which is not supported."; \
- echo >&2 "* Please install either Qt 4.8 or 5.x."; \
- echo >&2 "*"; \
- exit 1; \
- ;; \
- esac; \
+ fi; \
echo "KC_QT_CFLAGS=$$cflags" > $@; \
echo "KC_QT_LIBS=$$libs" >> $@; \
- echo "KC_QT_MOC=$$qtbindir/moc" >> $@
+ echo "KC_QT_MOC=$$moc" >> $@
endif
$(obj)/gconf.o: $(obj)/.tmp_gtkcheck