summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* Pass no-pkg-config to qmake from config.test if appropriateMike Krus2016-08-251-1/+5
| | | | | | | | | | | | | | | | | On macOS, even if pkg-config is present in the path, configure will by default correctly ignore it and set no-pkg-config. However, this was not propagated to qmake when invoked from config.test, so tests which rely on that did not work. This was leading to pkg-config (installed from homebrew) to be used in the libpng test, so it succeeded. But the later Qt build would fail to find png.h from homebrew, as it correctly ignores pkg-config. Task-number: QTBUG-55011 Change-Id: Ic6fb866bea0551f528da56cb545174dcd9bacf0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix the mysql configure test on RHEL 6.6Frederik Gladhorn2016-08-251-2/+3
| | | | | | | | | | | | On RHEL 6.6, mysql_config --libs returns "-rdynamic" among other arguments. The configure test (config.tests/unix/mysql) would end up passing that to qmake. qmake responds with "***Unknown option -rdynamic ..." Change-Id: Ib1300e62aec8a5d866359f3eaea88d9648c872b9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> (cherry picked from commit d7e27e4d26b5359a60ab5acd89ffcc6b42e974b0) Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mike Krus <mike.krus@kdab.com>
* configure: Correctly detect clang's version on FreeBSDRaphael Kubo da Costa2016-08-231-1/+1
| | | | | | | | | | | | "clang -v" on FreeBSD reports something like "FreeBSD clang version x.y.z [...]" instead of just "clang version x.y.z [...]", which fails to match the sed pattern in the configure script, resulting in qconfig.pri having no clang version defined. Augment the pattern so that both version strings match. Change-Id: I5f38f8480f4b1156ca7147e32c1157a009557035 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure and mkspecs: Don't try to find xcrun with xcrunGabriel de Dietrich2016-07-211-1/+1
| | | | | | | | | | Since Xcode 8 (beta 2) that tool is no longer available through xcrun. We resort to xcodebuild instead. Change-Id: If9d7b535c1cbac2caae0112b2003283aeff34fb9 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Android: Add support for clang compilerBogDan Vatra2016-07-201-5/+12
| | | | | | | | [ChangeLog][Android] Added support for clang compiler Task-number: QTBUG-50724 Change-Id: I6147021b814fcb230d125c4450c554a7fea8f31e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add -no-opengles3 to configure to avoid QT_OPENGL_ES_3 define.Gunnar Sletta2016-06-231-1/+9
| | | | | | | | | | | | This can be helpful for packaging and when one wants to limit the features to ES 2.0 to ensure the same code is used on both build machine and deployment machine. It also prevents inclusion of GLES3/gl3.h. Windows configure.exe doesn't do auto detection of GLES3 so it does not get the additional option. Change-Id: I8750b41635e41bd0ac41d9d59d93570f7d2196e6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* fix ios device&simulator builds againOswald Buddenhagen2016-06-101-2/+1
| | | | | | | | | | | | | the assumption stated in b67a0836d is actually invalid - configure sets build_all without debug_and_release there. debug_and_release does actually imply build_all, though. to make things less confusing, don't let configure inject iphonesimulator_and_iphoneos into all projects, but handle it like debug_and_release instead. Change-Id: Ib7acdc63308a538862fc603428f81aba60bca08e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Android: remove unused pluginsBogDan Vatra2016-06-031-0/+3
| | | | | | | | These plugins can't be used on Android, but they are built, installed and also bundled into every .apk file. Change-Id: I3326c913282af5bd43e1c732de9ae2f255711414 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Platform detection: Use freebsd-g++ on systems < 10, otherwise -clangRalf Nolden2016-05-271-4/+11
| | | | | | | | | FreeBSD uses gcc as the default compiler until FreeBSD 10 where it was switched to clang for the whole system. Choose freebsd-clang for any system release > 10, otherwise choose freebsd-g++ by default. Change-Id: I2bf38aa027453c25ed2a29d587c2962ded5fcd4a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Cleanup NIS support leftover from Qt 3/4Ralf Nolden2016-05-231-31/+0
| | | | | | | | | | | | Qt 3/4 had NIS configure options and tests for NIS defines, those were used in QPrintDialog at the time to support NIS-printers. As the implementation went away a long time ago and no NIS featueres are implemented anywhere in Qt, the configure options and config.tests for NIS can be removed. Change-Id: Ie920e6a422540bf938623265b6ee68c793aeff84 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Move freebsd-g++ mkspecs back for supported FreeBSD 9.3 and upRalf Nolden2016-05-231-1/+1
| | | | | | | | | | | | | | | | FreeBSD 9.3 is still supported and uses gcc as the default compiler, therefore FreeBSD ports require patching the mkspecs back. To avoid patching, move the mkspecs back to the right place and adapt the path in the qmake.conf/qplatformdefs.h [ChangeLog][FreeBSD] The freebsd-g++ mkspec was moved back and no longer requires the "unsupported/" prefix, matching the FreeBSD ports tree, as FreeBSD 9.3 still defaults to using GCC. Users of GCC that did not previously use the ports patch will need to adapt their build scripts and drop the "unsupported/" prefix. Change-Id: Ideda4a33cccf5381000f6f50b6ae92a5c24ba9d4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix dynamic librariy support detection for platforms without libdlOleksandr Tymoshenko2016-05-191-2/+6
| | | | | | | | | | | Some platforms (e.g. FreeBSD) do not have libdl, but dlopen and related functions are part of libc. So first check for dlopen in libc, and only if that fails, look for it in libdl. Task-number: QTBUG-52951 Change-Id: I65a8ed18fce157da32f4e1ffeba30d7513385a8f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-191-1/+1
|\ | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_winrt.cpp Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
| * actually build an optimized qmake in release buildsOswald Buddenhagen2016-05-131-1/+1
| | | | | | | | | | | | | | | | release_tools is not set in pure release builds - in fact, we complain if it is. Change-Id: Ifac73c0ef6f8967155b63f7fc9c9ce9de1acf337 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | XCB: Auto-detect xcb-glx also with xcb-qtGabriel de Dietrich2016-05-121-0/+5
| | | | | | | | | | | | Task-number: QTBUG-43784 Change-Id: Iaa0388e34900f6241db8cd864caed4fb6fc32819 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Warn when -fontconfig forces -system-freetypeJames McDonnell2016-05-121-0/+10
| | | | | | | | | | | | | | | | | | Let the user know that configure's switch from -no-freetype/-qt-freetype to -system-freetype when -fontconfig is used is expected. Task-number: QTBUG-35886 Change-Id: I95daaeffb0878bb785149f314096405a5c0fdc7a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | configure: present some progress status for the detectionsThiago Macieira2016-05-121-0/+1
|/ | | | | | | | | | | | The "checking for xxx... [yes|no]" is chosen so that it matches exactly what GNU Autoconf does. That way, any tools that parse the output will have less trouble. This feature is useful for us when debugging a build, as not all checks produce output in the configure summary. Change-Id: Id75834dab9ed466e94c7ffff14456edb646a1ced Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make -R and -D not affect qmakeOswald Buddenhagen2016-05-111-9/+0
| | | | | | | | | | this was meant to be part of d8be8110a, as qmake is obviously also a bootstrapped tool. -I/-L/-F/-l/-fw already had no effect on qmake. Change-Id: I5095742ef5401558cc4432e7a774d0851d417bb0 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Ensure -no-pch is effectiveJames McDonnell2016-05-051-1/+21
| | | | | | | | | | | | | Have configure add a "CONFIG -= precompile_header" to qmodule.pri when -no-pch is specified. Ensures that Qt is built without precompiled headers (as requested) even if allowing precompiled header use is the default for the toolchain. Parallels changes to Windows configure. Task-number: QTBUG-11545 Change-Id: Iab4021e74c4e9978770e917dff97b976c449dd8b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Disable DirectFB automatic detection and mark it deprecatedThiago Macieira2016-04-281-3/+3
| | | | | | | | | | | | [ChangeLog][Important Behavior Changes] Support for DirectFB is no longer enabled by default, due to lack of development in upstream. To re-enable the platform plugin, pass the -directfb option to configure. If there is no interest in this platform, the support will be deprecated in Qt 5.7 and will be removed in Qt 5.8. See: http://lists.qt-project.org/pipermail/development/2016-March/025273.html Change-Id: Icaa7fb2a490246bda156ffff143c62515a5f575b Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Fix a small logic error in qmake bootstrap compiler flagsLars Knoll2016-04-271-1/+1
| | | | | | | | | | There was a small logic error in the code selecting the debug/release C(XX)_FLAGS used when compiling qmake, that could lead to us not specifying any flags at all. Change-Id: I5d3c44367d535a17570e3602029b84a02706d624 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qmake: Add support for separate debug info on Apple platforms.Jake Petroules2016-04-141-1/+1
| | | | | | | | | | This makes the -separate-debug-info configure optional functional, which generates dSYM debug info bundles for Qt libraries on Apple platforms. Task-number: QTBUG-37952 Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Ia247674740bf450130a15db926df07fa9007e2ca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* configure: Appending compiler and linker flags...David Schulz2016-03-231-3/+3
| | | | | | | ...instead of overwriting when building qmake for windows. Change-Id: I89eb33439b03a0ad33d006d12c9896c87d271c4f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* configure: enable QSharedMemory when targeting windows.David Schulz2016-03-221-1/+1
| | | | | | Change-Id: Ib20e7bab80c2207c50cc221eba5eae996a805242 Reviewed-by: hjk <hjk@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* delay application of configure -D/-I/-L/-l/-R flagsOswald Buddenhagen2016-03-161-4/+4
| | | | | | | | | | | | it is important that the flags coming from the current qt build appear first, as otherwise a pre-existing qt installation may interfere with the build. the windows configure does not have any of this magic to start with. Task-number: QTBUG-6351 Change-Id: Iacc1d9b5aa9eed9a5f0513baef9f6c6ffcef0735 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't force our runpath upon user projects anymoreOswald Buddenhagen2016-03-161-3/+0
| | | | | | | | | | | | | | | now that we rely on consistently sane runpath semantics everywhere (--enable-new-dtags on linux; the default elsewhere), there is no use in forcing our runpath downstream: our libraries will find their dependencies due to their embedded runpath. this does not affect qt.prf adding qt's own library path to the user projects' runpath. this effectively reverts 42a7eb8df6, and some more. Change-Id: If7af7be7b7a894bebb9b146ccb0035452223c7ac Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6.0' into 5.6Liang Qi2016-02-151-1/+1
|\ | | | | | | Change-Id: I0b190005377a23a91da3563428e223b8a3b18333
| * Swap the GCC and Clang versions of supported FreeBSD mkspecsThiago Macieira2016-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modern FreeBSD doesn't come with GCC by default anymore and doesn't even provide the "gcc" or "g++" falback that OS X does. So there's no point in keeping the freebsd-clang mkspec in unsupported/ since it's the only one that works, or keeping the freebsd-g++* ones outside, as they won't compile. I'm not removing the GCC mkspecs because you can still install GCC from the ports tree. [ChangeLog][FreeBSD] The "freebsd-clang" mkspec is no longer in the unsupported/ subdir. If you have scripts you use to build Qt, you'll need to update them to say -platform freebsd-clang or remove the -platform argument. Change-Id: I7a9e11d7b64a4cc78e24ffff142dfc11d3aabb1e Reviewed-by: Raphael Kubo da Costa <rakuco@FreeBSD.org> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Link with -ldl option only when it is supportedLada Trimasova2016-02-051-0/+6
|/ | | | | | | | | | | | | | | | -ldl option was used unconditionally while libdl is not supported when libc is static. Add build test to configure which checks if libdl is supported. QMAKE_LIBS_DYNLOAD in "src/corelib/plugin/plugin.pri" is now used only if libdl is available. qt_linux_find_symbol_sys from qlibrary_unix is now used only if QT_NO_DYNAMIC_LIBRARY is not defined. Initially reported by Buildroot autobuilder here: http://autobuild.buildroot.net/results/a85/a85a1839a45fb6102e53131ecc8f6dadf92bcdc2 Change-Id: I0397472456efdc4f3ab5f24d01253bee8048a9d1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-191-3/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/common/atomic64/atomic64.cpp configure src/3rdparty/forkfd/forkfd.c src/corelib/io/forkfd_qt.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp tools/configure/configureapp.cpp Change-Id: Ic6168d82e51a0ef1862c3a63bee6722e8f138414
| * fix quoting in makeabs()Oswald Buddenhagen2016-01-081-2/+2
| | | | | | | | | | | | | | | | | | | | 'local' is treated as a command, so its arguments need to be quoted, unlike in a real variable assignment. amends 4b557751e. Change-Id: I5a4c929e52e2344a6129c8e9dd4c0c80cd408ff0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Auto-detect whether 64-bit std::atomic really worksThiago Macieira2015-12-041-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The C++ standard says it must, but some badly-configured toolchains seem to be lacking support. In particular, for some 32-bit platforms without native support for them, GCC implements 64-bit atomics via out-of-line functions in libatomic. If that library is missing... well, then std::atomic 64-bit doesn't work and we mustn't try to use it. This was found when trying to compile Qt 5.6 for MIPS 32-bit: Linking library libQt5Core.so.5.6.0 .obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::load(std::memory_order) const': /opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:500: undefined reference to `__atomic_load_8' .obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::store(unsigned long long, std::memory_order)': /opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:478: undefined reference to `__atomic_store_8' Yocto bug report: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8274 Change-Id: I42e7ef1a481840699a8dffff140224d6614e5c36 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 3d7586b760550b7d89594c8d7462fc30b868ecc6) Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
| * Make -no-rpath build more useful on Apple platformsMartin Afanasjew2015-11-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Platform Specific Changes][OS X] Configure with -no-rpath will now yield Qt dynamic libraries and frameworks with an absolute install name (based in -libdir). OS X package managers like Homebrew install Qt in a fixed location. This change simplifies deployment for such package managers and is consistent with the default expectation on Apple platforms for libraries with a fixed location to also have absolute install names. While a relocatable installation (the default) also works in this scenario, it requires all software that depends on Qt to be aware of this and to embed a suitable RPATH into application binaries (which is not automatic for non-qmake builds). This might not be true for some select fallback search locations, but as package managers on OS X tend not to use those, embedding an RPATH becomes practically mandatory. In a default Homebrew installation, Qt is configured such that the frameworks end up in /usr/local/Cellar/qt5/<version>/lib and that will be later symlinked to /usr/local/opt/qt5/lib, both of which are not searched by the dynamic linker by default. Task-number: QTBUG-48958 Change-Id: I4395df98771e06a2ce8a293d11dc755bdc50757f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | fix copy&paste-o in DeviceVar error messageOswald Buddenhagen2015-11-261-1/+1
| | | | | | | | | | Change-Id: I2b7d95c004ce045527b124ef25b6d224535c895b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Fix QT_CPU_FEATURESAllan Sandfeld Jensen2015-11-231-1/+1
| | | | | | | | | | | | | | | | The part of qmodule.pri that is supposed to set QT_CPU_FEATURES ends up missing in the output. Change-Id: I30f3dbad5ac22d32e25d63037980dac370adc4ea Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | introduce -optimized-tools optionOswald Buddenhagen2015-11-171-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of building host tools always in debug mode, follow the overall build type, and provide an option to override it. this supersedes the pre-existing -optimized-qmake option. however, that option never existed in the windows configure, and this legacy continues as far as qmake is concerned (msvc builds of qmake are always somewhat optimized, but not mingw builds). Change-Id: I42e7ef1a481840699a8dffff13fec2626af19cc6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | configure: add link-time-optimization optionPeter Kümmel2015-11-021-0/+16
| | | | | | | | | | | | | | | | Windows' configure.exe supports -ltcg since several years, this patch adds -ltcg to Unix's configure script. Change-Id: I3f39086c67c3f4cacd252f63de30e3cfc4aa22bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Support for Wayland servers on i.MX6Paul Olav Tvete2015-11-021-0/+10
| | | | | | | | | | | | | | | | | | A wayland compositor on i.MX6 needs to create the wl_display before creating the EGL display. This wl_display then needs to be exposed so that QWaylandCompositor can use it. Change-Id: Id60f6dd2fbba05140ca0671da6f17dbc2ecce3a3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Move pointer size detection entirely to qprocessordetection.hThiago Macieira2015-10-261-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes the legacy ptrsize check, which was deficient because it did not work for multiarch systems (when we supported fat OS X binaries) and did not work for bootstrap builds because the size might be different when cross-compiling. Instead, let's rely on the predefined preprocessor macros to detect correctly. As a nice side-effect, this fixes 64-bit Android builds cross-compiled from Windows. Task-number: QTBUG-48932 Change-Id: I1d0f78915b5942aab07cffff140f9a52b9342f23 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | Add a deprecation warning to configure about -no-c++11Thiago Macieira2015-10-181-0/+14
| | | | | | | | | | | | | | We'll remove it in Qt 5.7, so people ought to be notified now. Change-Id: Ib056b47dde3341ef9a52ffff13ef6caa91757a9f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | configure: Open qconfig.h, qconfig.pri and qmodule.pri only onceThiago Macieira2015-10-181-80/+100
| | | | | | | | | | | | | | Redirecting on every command is wasteful. Change-Id: I42e7ef1a481840699a8dffff1404fa0602805d1b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Move the official Qt version from qglobal.h to .qmake.confThiago Macieira2015-10-141-16/+21
| | | | | | | | | | | | | | | | | | It's easier to parse than qglobal.h. The objective is actually to have macros with parts of the version number, so the major or minor numbers could be used in other preprocessor macros. Change-Id: I42e7ef1a481840699a8dffff1404eda1dd5c308d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Separate KMS and GBM testsLaszlo Agocs2015-10-141-21/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KMS is no longer a platform plugin so the relevant leftover bits are now removed. As the introduction of the EGLDevice-based backend for eglfs shows, using DRM/KMS is not tied to GBM, separate buffer management approaches, like EGLStreams, work fine as well. Therefore separate KMS from GBM and remove the EGL and GLES dependency in the tests - this way there is nothing preventing us from using GBM without GL for example. Change-Id: Id7ebe172b44b315f9a637892237d2bb62d99aed2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | Add support for the Jetson TK1 Pro using EGLDeviceLaszlo Agocs2015-10-141-1/+11
| | | | | | | | | | | | | | | | | | | | | | For now we pick one crtc and find the corresponding layer. If this is not desired, set QT_QPA_EGLFS_LAYER_INDEX to override the layer to be used. Enable qt.qpa.eglfs.kms to get logs about the available layers. Change-Id: I762783f960739e32966c8cde17d8f55fbe40091f Done-with: Louai Al-Khanji <louai.al-khanji@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | Distinguish between Objective-C and Objective-C++ sourcesTor Arne Vestbø2015-10-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of lumping both Objective-C (.m) and Objective-C++ (.mm) sources into the same pile, passing them on to the same compiler as for C++ (CXX), with the C++ flags (CXXFLAGS), we follow Apple's lead and treat them as variants of the C and C++ languages separately, so that Objective-C sources are built with CC and with CFLAGS, and Objective-C++ sources with CXX, and CXXFLAGS. This lets us remove a lot of duplicated flags and definitions from the QMAKE_OBJECTIVE_CFLAGS variable, which in 99% of the cases just matched the C++ equivalent. The remaining Objective-C/C++ flags are added to CFLAGS/CXXFLAGS, as the compiler will just ignore them when running in C/C++ mode. This matches Xcode, which also doesn't have a separate build setting for Objective-C/C++ flags. The Makefile qmake generator has been rewritten to support Objective-C/C++ fully, by not assuming that we're just iterating over the C and C++ extensions when dealing with compilation rules, precompiled headers, etc. There's some duplicated logic in this code, as inherent by qmake's already duplicated code paths, but this can be cleaned up when C++11 support is mandatory and we can use lambda functions. Task-number: QTBUG-36575 Change-Id: I4f06576d5f49e939333a2e03d965da54119e5e31 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Make -dbus-linked the default on all platformsThiago Macieira2015-10-011-8/+21
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtDBus] The QtDBus library now links directly to the libdbus-1 system library if it was detected at configure time. To force linking to the library, pass option -dbus-linked to configure; to force dynamically loading at runtime, use -dbus-runtime. Task-number: QTBUG-14131 Change-Id: Ie33d1f22f85b465ab0ce166b8f17b8491eae1c21 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | "frame" execution of config tests preciselyOswald Buddenhagen2015-10-011-1/+7
| | | | | | | | | | | | | | | | | | the purpose is to make build log parsers able to ignore build failures in verbose configure output. Change-Id: I01af2e019fd1b055fdfcf6749faeebacb7a39c3f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | eglfs: Support for alternative Mali driver packagesDaniel Nyström2015-09-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to the proprietary Mali Linux driver bundle from ARM, there are a couple of semi open source alternative bundles out in the wild, which are mostly derivatives from the sunxi-mali bundle. The non-ARM bundles lacks the proprietary header file fbdev_window.h which defines the fbdev_window struct. Instead, it has an equivalent mali_native_window struct in the EGL/eglplatform.h (which in turn is included by EGL/egl.h). This change adds an alternative configure test which detects the non-ARM bundles are used. It also removes the dependency on fbdev_window.h by defining the structure ourselves, which actually makes the plugin potentially compilable with *any* EGL SDK. Change-Id: I78ab4b618e8e9c774c889fe9896105cf2cf4228e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Auto-detect whether 64-bit std::atomic really worksThiago Macieira2015-09-221-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The C++ standard says it must, but some badly-configured toolchains seem to be lacking support. In particular, for some 32-bit platforms without native support for them, GCC implements 64-bit atomics via out-of-line functions in libatomic. If that library is missing... well, then std::atomic 64-bit doesn't work and we mustn't try to use it. This was found when trying to compile Qt 5.6 for MIPS 32-bit: Linking library libQt5Core.so.5.6.0 .obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::load(std::memory_order) const': /opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:500: undefined reference to `__atomic_load_8' .obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::store(unsigned long long, std::memory_order)': /opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:478: undefined reference to `__atomic_store_8' Yocto bug report: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8274 Change-Id: I42e7ef1a481840699a8dffff140224d6614e5c36 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | remove some mac multiarch vestigesOswald Buddenhagen2015-09-171-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ppc/ppc64 and 32-bit x86 have been dead for a while. consequently, the legacy macx-g++-64 spec was most probably not used. which in turn meant that NATIVE_64_ARCH was never set (in particular on windows hosts ...), which means that the android ndk host auto-detection was effectively broken. the arch code in mac/default_post.prf was also never triggered, so nuke it as well. Change-Id: Ic0775e40b273a22e0a15808cac328e0df33c2155 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>