diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2015-09-22 14:36:39 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.com> | 2015-10-14 09:00:25 -0400 |
commit | d1b0dc90abdb3487a8b60ac7c843708f98ff409a (patch) | |
tree | aad3ff5351f991af4e1fda70b8fb1fcbeb25e81d /scripts/kconfig/Makefile | |
parent | b4ff1de3b8381a471d1b1320be0daa3f8fc2ed85 (diff) |
Update the buildsystem for KConfig finding Qt
The buildsystem will now only search for Qt 4 and Qt 5. Support for Qt 2
and 3 was dropped in the previous commits (Qt 3 was EOL'ed in 2010 or
so...).
For Qt 5, to be future-proof with the future direction notice appearing
in the 5.5 release, C++11 support is automatically enabled.
Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'scripts/kconfig/Makefile')
-rw-r--r-- | scripts/kconfig/Makefile | 73 |
1 files changed, 28 insertions, 45 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 9b5b8c6796b9..33c49944e1a7 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile | |||
@@ -226,53 +226,36 @@ $(obj)/.tmp_qtcheck: $(src)/Makefile | |||
226 | 226 | ||
227 | # Qt needs some extra effort... | 227 | # Qt needs some extra effort... |
228 | $(obj)/.tmp_qtcheck: | 228 | $(obj)/.tmp_qtcheck: |
229 | @set -e; $(kecho) " CHECK qt"; dir=""; pkg=""; \ | 229 | @set -e; $(kecho) " CHECK qt"; \ |
230 | if ! pkg-config --exists QtCore 2> /dev/null; then \ | 230 | qtver=`qmake -query QT_VERSION` || { \ |
231 | echo "* Unable to find the Qt4 tool qmake. Trying to use Qt3"; \ | 231 | echo >&2 "*"; \ |
232 | pkg-config --exists qt 2> /dev/null && pkg=qt; \ | 232 | echo >&2 "* qmake failed."; \ |
233 | pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \ | 233 | echo >&2 "*"; \ |
234 | if [ -n "$$pkg" ]; then \ | 234 | exit 1; \ |
235 | cflags="\$$(shell pkg-config $$pkg --cflags)"; \ | 235 | }; \ |
236 | libs="\$$(shell pkg-config $$pkg --libs)"; \ | 236 | qtlibdir=`qmake -query QT_INSTALL_LIBS`; \ |
237 | moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \ | 237 | qthdrdir=`qmake -query QT_INSTALL_HEADERS`; \ |
238 | dir="$$(pkg-config $$pkg --variable=prefix)"; \ | 238 | qtbindir=`qmake -query QT_INSTALL_BINS`; \ |
239 | else \ | 239 | cflags="-I$$qthdrdir -I$$qthdrdir/QtCore -I$$qthdrdir/QtGui"; \ |
240 | for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \ | 240 | case "$$qtver" in \ |
241 | if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \ | 241 | 5.*) \ |
242 | done; \ | 242 | cflags="$$cflags -I$$qthdrdir/QtWidgets -std=c++11 -fPIC"; \ |
243 | if [ -z "$$dir" ]; then \ | 243 | libs="-L$$qtlibdir -lQt5Widgets -lQt5Gui -lQt5Core "; \ |
244 | echo >&2 "*"; \ | 244 | ;; \ |
245 | echo >&2 "* Unable to find any Qt installation. Please make sure that"; \ | 245 | 4.*) \ |
246 | echo >&2 "* the Qt4 or Qt3 development package is correctly installed and"; \ | 246 | libs="-L$$qtlibdir -lQtGui -lQtCore"; \ |
247 | echo >&2 "* either qmake can be found or install pkg-config or set"; \ | 247 | ;; \ |
248 | echo >&2 "* the QTDIR environment variable to the correct location."; \ | 248 | *) \ |
249 | echo >&2 "*"; \ | 249 | echo >&2 "*"; \ |
250 | false; \ | 250 | echo >&2 "* Found qmake but it is for Qt version $$qtver, which is not supported."; \ |
251 | fi; \ | 251 | echo >&2 "* Please install either Qt 4.8 or 5.x."; \ |
252 | libpath=$$dir/lib; lib=qt; osdir=""; \ | 252 | echo >&2 "*"; \ |
253 | $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \ | 253 | exit 1; \ |
254 | osdir=x$$($(HOSTCXX) -print-multi-os-directory); \ | 254 | ;; \ |
255 | test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \ | 255 | esac; \ |
256 | test -f $$libpath/libqt-mt.so && lib=qt-mt; \ | ||
257 | cflags="-I$$dir/include"; \ | ||
258 | libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \ | ||
259 | moc="$$dir/bin/moc"; \ | ||
260 | fi; \ | ||
261 | if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \ | ||
262 | echo "*"; \ | ||
263 | echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \ | ||
264 | echo "*"; \ | ||
265 | moc="/usr/bin/moc"; \ | ||
266 | fi; \ | ||
267 | else \ | ||
268 | cflags="\$$(shell pkg-config QtCore QtGui --cflags)"; \ | ||
269 | libs="\$$(shell pkg-config QtCore QtGui --libs)"; \ | ||
270 | moc="\$$(shell pkg-config QtCore --variable=moc_location)"; \ | ||
271 | [ -n "$$moc" ] || moc="\$$(shell pkg-config QtCore --variable=prefix)/bin/moc"; \ | ||
272 | fi; \ | ||
273 | echo "KC_QT_CFLAGS=$$cflags" > $@; \ | 256 | echo "KC_QT_CFLAGS=$$cflags" > $@; \ |
274 | echo "KC_QT_LIBS=$$libs" >> $@; \ | 257 | echo "KC_QT_LIBS=$$libs" >> $@; \ |
275 | echo "KC_QT_MOC=$$moc" >> $@ | 258 | echo "KC_QT_MOC=$$qtbindir/moc" >> $@ |
276 | endif | 259 | endif |
277 | 260 | ||
278 | $(obj)/gconf.o: $(obj)/.tmp_gtkcheck | 261 | $(obj)/gconf.o: $(obj)/.tmp_gtkcheck |