summaryrefslogtreecommitdiffstats
path: root/config.tests
Commit message (Collapse)AuthorAgeFilesLines
* OpenSSL: force the "1.0.0" soname when loading OpenSSL 1.05.6Giuseppe D'Angelo2018-10-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some Linux distributions patch OpenSSL's soname, making builds on such distributions not deployable elsewhere. The problem is that the code loading OpenSSL symbols would attempt to use the soname of the build machine, and therefore not finding the OpenSSL libraries on the deploy system. The binary builds of Qt for Linux are affected by this problem, as they build under RHEL7.4 which changes to soname of OpenSSL to a non-standard string. This makes the binary builds not pick up OpenSSL 1.0 from the machine where the build gets installed on. Given that in the pre-1.1 versions only the 1.0 series is supported, bump the minimum requirement of Qt to that. The 1.0.x releases (up to 1.0.2, at the time of this writing) have kept binary compatibility, and advertise a soname of "1.0.0", which is used by most distributions. So, if loading of OpenSSL with the build-time soname fails, try to load them with the "1.0.0" hardcoded soname. [ChangeLog][QtNetwork][SSL] OpenSSL >= 1.0 is now required to build Qt with OpenSSL support. Task-number: QTBUG-68156 Change-Id: Ieff1561a3c1d278b511f09fef06580f034f188c6 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 2708c6c11d685ab25c12d558961d924c9a4533d2)
* Enable GL prototypes with recent Khronos headersLaszlo Agocs2016-11-103-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Recent Khronos headers decided to break the world by guarding all function prototypes with GL_GLEXT_PROTOTYPES which has traditionally been used for extension headers only. Until this gets corrected - see https://lists.freedesktop.org/archives/mesa-dev/2016-September/128654.html - add the define to the config tests and qopengl.h. While 5.7 already has some of the qopengl.h fixes due to an upgraded ANGLE shipping with newer headers, this is a cross-platform issue that will surface everywhere eventually. Therefore we target the full set of fixes to 5.6. This time we also make sure the forced define of GL_GLEXT_PROTOTYPES is removed before including the ext header, thus apps get the ext protos only if they actually requested them. Task-number: QTBUG-56764 Change-Id: Ib2c6d2e7b71b8fb8683424f43e6289e64e4ee46c Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* make also configure tests not see %LIB% and %INCLUDE% under mingwOswald Buddenhagen2016-10-171-6/+1
| | | | | | | amends 03ae6ad8e. Change-Id: I1adfb8d5de59b26e37bd35c5e8e4410d084d8d93 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* libjpeg config test: init variableMarc Mutz2016-09-161-1/+2
| | | | | | | | | | | | | Yes, yes, this is just a configure test, but why do something stupid in the code and then have to shut up Coverity manually? Fix by making it a global, which means it will be zero-initialized (I didn't want to do the obvious = 0, as that could protentially create a "0 used as nullptr" warning at some point in the future. Coverity-Id: 59485 Change-Id: I49ecd28be983a0e42b420d20da0db34a872c6f44 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* compile.test: append any unknown arguments to the qmake command-lineThiago Macieira2016-08-251-1/+5
| | | | | | | | | | | This allows setting of variables, like FOO=bar. Yes, it's intentional that there are no quotes. Change-Id: Ib306f8f647014b399b87ffff13f1d9e6a10fa2f8 (cherry picked from commit e79200bf7f8dbd4f8aa03c8be07a6dfc4328fa50) Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix enabling of precompiled headers on macOSThiago Macieira2016-07-251-1/+1
| | | | | | | | On macOS, the test script is passed the full path to the compiler, like /usr/local/bin/icpc. That doesn't match "icpc". Change-Id: I149e0540c00745fe8119fffd1463c87b8f6a89b2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Improve SQLite3 configuration testJames McDonnell2016-06-281-0/+1
| | | | | | | | | | | | Reference an SQLite3 function to verify that the library is being linked. Discovered that the test didn't do this when I switched the Windows configure to use a compile test to determine whether the system has SQLite3. The test passed even though the initial configure changes failed to provide the test with information about the SQLite3 libraries. Change-Id: I3114cfc2dec3a42a60c8e1e432eb8375b440d7e0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* NetBSD: enable detection of posix_fallocate()Ralf Nolden2016-06-281-0/+4
| | | | | | | | | | | | | | posix_fallocate() is declared in unistd.h on NetBSD. Add the include for proper detection on NetBSD 7.0 and up. See http://netbsd.gw.com/cgi-bin/man-cgi?posix_fallocate++NetBSD-current As that is violating the POSIX standards, a PR was opened at NetBSD under http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51287 for further tracking of the issue. Change-Id: I40ec320677eef37bbc39f58e0bbac34f8cf7b8da Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* NetBSD: use paccept() where accept4() is usedRalf Nolden2016-06-281-0/+4
| | | | | | | | | | | | Where accept4() is used, NetBSD offers paccept() as a replacement function. Modify check for using accept4() and use paccept() on NetBSD. See http://netbsd.gw.com/cgi-bin/man-cgi?paccept++NetBSD-current and http://reviews.llvm.org/D12485 Change-Id: I9b3ecba5f3afad6c357d3f7b8f89589bf313e273 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Libpng config.tests: use pkg-config when availableRalf Nolden2016-06-271-1/+6
| | | | | | | | | | Add pkg-config to the libpng usages as not all systems have the symlink libpng.so -> libpng<version>.so (affected: NetBSD) that changes with the version of the lib. If no-pkg-config is used, use -lpng as before. Tested with FreeBSD 10.3, NetBSD 7.0.1 using png 1.6.21 Change-Id: I5c87f380c84da3d5c56c94da53adb900791c8caa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* OpenBSD: use clock_gettime() provided by OSRalf Nolden2016-06-081-1/+1
| | | | | | | | | The use of clock_gettime() is limited to systems having _POSIX_TIMERS defined, however OpenBSD implements clock_gettime() but does not have the posix define. Enable using clock_gettime() on OpenBSD as well. Change-Id: I785954fe61b42b15755ca625a766c9a95179ae8d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Detect if the 'openssl' is really libressl at configure time.Richard J. Moore2016-06-041-0/+6
| | | | | | | | | | | | Qt does not support libressl which reports itself as openssl but uses a high version number. This means that we expect it to have features that it doesn't and will fail to build. Instead detect this situation at configure time and disable the ssl support. Change-Id: I73cca4d1544df2aaca0723c38ba63758c287ec41 Reviewed-by: Ralf Nolden <nolden@kde.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Call a function in the MySQL configure test to make sure it links.Jake Petroules2016-06-011-0/+1
| | | | | | | | | | This fixes a problem where the configure test may produce a false positive on iOS if a copy of libmysql for OS X is located, due to the fact that linking to a dynamic library of a different architecture than expected is not (yet) an error. Change-Id: Id41765f49e31d9c9c3becc3436ff5a69b160b8e0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Cleanup NIS support leftover from Qt 3/4Ralf Nolden2016-05-232-48/+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>
* Make eglfs-egldevice check work with pkgconfig as wellRalf Nolden2016-05-231-3/+6
| | | | | | | | | Until now the check didn't use pkgconfig at all, but using pkgconfig alone does not work for some devices (special cases), so we have to use a combination of both here. Change-Id: Ia19a279d80a65352c467661d91a3762448c23ae6 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Use -liconv on OpenBSD as well in config.testsRalf Nolden2016-05-231-1/+1
| | | | | | | | | | | OpenBSD iconv is in -liconv, so it needs to be added here. NetBSD has iconv in libc, so only OpenBSD is affected. Patch obtained from Vadim Zhukov <persgray@gmail.com>, OpenBSD qt ports maintainer. Change-Id: Icce25d154857f0ce161b5f6b7ddac3c150a02bb8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Enable -separate-debug-info for mingw toolchainsUlf Hermann2016-05-231-1/+4
| | | | | | | | | | Having the debug info in separate files is very helpful, especially on memory constrained 32bit systems. When the debug info is compiled into the object files, processes can run out of memory when trying to load them. Change-Id: I1808a32e855d6a62e17e1b734c511b31db5f03f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix dynamic librariy support detection for platforms without libdlOleksandr Tymoshenko2016-05-193-3/+4
| | | | | | | | | | | 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>
* Remove libudev dependency from kms.proRalf Nolden2016-05-171-1/+1
| | | | | | | | | | | To compile the kms qpa plugin, only libdrm is needed. Remove the libudev dependency for the compile check to enable building of the qpa plugin on platforms where libudev is not present such as BSD systems (but where KMS works) Change-Id: Icd0be70a8949578a6158d523428706890a9674eb Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* configure: present some progress status for the detectionsThiago Macieira2016-05-121-5/+3
| | | | | | | | | | | | 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>
* compile.text: Split huge line into multipleThiago Macieira2016-04-191-1/+16
| | | | | | | Makes it easier to add stuff to it. Change-Id: Id75834dab9ed466e94c7ffff1445727a2ed975cc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Adjust egl config.test to pass sysrooted libsDonald Carr2016-04-087-7/+7
| | | | | | | | | | | We should really start using -L=/foo and -I=/foo inside of sysroots, this test was preventing us from doing so (while arguably buying us nothing). Change-Id: If6e67631c585493871231e5d8a9354fa72e07343 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Make CFLAGS/CXXFLAGS behave consistently in config.testsDonald Carr2016-04-081-1/+6
| | | | | | | | | The journald test was failing as sysroot was not being passed to the compiler in the compile test. This is due to the fact we were explicitly defining sysroot in the CXXFLAGS and not in CFLAGS. Change-Id: I4b4bda71f9aabc8e420e0e89ff3cc8fa3bbca201 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* QNX has no libdl, but all the functions are in libcBogDan Vatra2016-03-211-1/+1
| | | | | | | Change-Id: I3f4b32eb8bbc0a35e817399516daa02de358575d Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* alsatest: Fix the check to treat alsalib 1.1.x as correct versionDmitry Shachnev2016-03-071-1/+1
| | | | | | Task-number: QTBUG-51681 Change-Id: I63266c33342f02f4d1a5ea5786f5fbc5a1b421b3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Search for libsystemd first, fall back to libsystemd-journalHeiko Becker2016-02-151-1/+5
| | | | | | | | | | | | | | systemd >= 209 merged the individual libraries libsystemd-journal, libsystemd-login, libsystemd-id128 and libsystemd-daemon into a single library, libsystemd. To ease the transition one could pass an option to its build to generate stub libraries and matching pkg-config files. With systemd >= 229 this option has now been removed, causing the build to fail when the journald option is enabled. Change-Id: I26670f207f1a9e79c16be5ce8c8a49353143c5ba Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Link with -ldl option only when it is supportedLada Trimasova2016-02-052-0/+42
| | | | | | | | | | | | | | | | -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-291-1/+1
|\ | | | | | | Change-Id: I7831f560165fa08882ae54efeaea1f0146c3358c
| * Fix library inclusion order when building staticallyAlexey Brodkin2016-01-181-1/+1
| | | | | | | | | | | | | | | | | | When building application statically, it's important to keep libraries we're linking against in order. qmake's "*=" operator fails to do that, so use "+=" instead. Change-Id: Id3627da47d07c70fd07185a777f2f07bb4057f03 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-192-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Remove "FOO module" from config.tests/commonThiago Macieira2015-12-042-2/+2
| | | | | | | | | | Change-Id: I14839ba5678944c2864bffff1417413f16d4ffeb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Auto-detect whether 64-bit std::atomic really worksThiago Macieira2015-12-042-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Detect NEON on AArch64Allan Sandfeld Jensen2015-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The __ARM_NEON is the standard define for NEON instructions support __ARM_NEON__ is only legacy, and specifically not defined in AArch64 builds, which causes us not to detect NEON support there. The NEON assembler files doesn't build with AArch64, so the NEON drawhelper methods must be excluded for now. Change-Id: Ie32f855bde94ee7efd8a8ddb7766c931778e729b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Update bundled HarfBuzz-NG to 1.0.6Konstantin Ritt2015-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | - Unicode 8.0 support - Universal Shaping Engine - Various fixes, improvements, optimizations, etc. Change-Id: Ib6f8c92fa275c2a6575b9ae09068c92aecac7b4e Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Support for Wayland servers on i.MX6Paul Olav Tvete2015-11-022-0/+45
| | | | | | | | | | | | | | | | | | 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-263-91/+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>
* | Separate KMS and GBM testsLaszlo Agocs2015-10-144-6/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-142-0/+65
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-131-1/+0
|\| | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qabstractsocket.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp src/sql/drivers/mysql/qsql_mysql.cpp Change-Id: Ifb73623d09f53340ee5e10283f1f86b580998902
| * Fix gstreamer configuration test.Yoann Lopes2015-10-131-1/+0
| | | | | | | | | | | | | | | | Don't use gst_is_initialized(). It was added in 0.10.31, but we don't actually require that version. Change-Id: If5d662e18511cf636861bf93eeccc1f5b69e26f1 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | eglfs: Support for alternative Mali driver packagesDaniel Nyström2015-09-252-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-222-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add detection of C++14 and C++1z compiler featuresThiago Macieira2015-09-054-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][General Improvements] Qt's buildsystem now detects whether the compiler supports C++14 and experimental support for C++1z. If the compiler supports it, then Qt is automatically compiled using that support. \ This does not apply to user applications built using qmake: those are still built with C++11 support only. To enable support for C++14 in your application, add to your .pro file: CONFIG += c++14 (similarly for C++1z). Change-Id: Ib056b47dde3341ef9a52ffff13ef1f5d01c42596 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Detect which C++ standard edition the compiler defaults toThiago Macieira2015-08-252-0/+15
| | | | | | | | | | Change-Id: I2991557a5cc74cd18e88ffff13f670bf25d5423e Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Fix pointer size detection when cross-compilingLaszlo Agocs2015-08-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | The initial configure fails to build the pointer size test correctly due to the missing --sysroot argument. This breaks 64-bit targets as the pointer size is set to 4. A subsequent configure correctly builds and picks 8 up, but we expect the first attempt to work as well. Task-number: QTBUG-47840 Change-Id: Iaf9450635f1bbc12e18062fa0a51f35cf690ce08 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Add Mir client platform pluginPaul Olav Tvete2015-08-092-0/+51
| | | | | | | | | | | | | | Contributed by Canonical, Ltd. Change-Id: I77752a1fd56641342be6c84e01b013d3df36ad73 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | Support logging direct to syslog, if enabled.Tasuku Suzuki2015-08-092-0/+45
| | | | | | | | | | | | | | | | [ChangeLog][QtCore][Logging] Systems with syslog may now pass -syslog to configure to send logging output to syslog. Change-Id: I80d58ee6e70d8deb2409fc666e7e7f2d7f52b8e1 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Require more of the C++11 Standard LibraryThiago Macieira2015-08-061-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since libstdc++ builds on OS X and QNX 6.5 are no longer supported, simply require <initializer_list> and std::move in order to claim C++11 support works. The minimum OS X versions need to be fixed elsewhere. Change-Id: Ib056b47dde3341ef9a52ffff13ef1d2ac3923f5c Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Update the list of x86 instruction set extensions enabled by GCCThiago Macieira2015-07-281-5/+37
| | | | | | | | | | | | | | | | From GCC 6's gcc/config/i386.c and i386-c.c Change-Id: Ib306f8f647014b399b87ffff13f1d8a8cfbfa591 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Windows: Include DirectWrite support by default if availableEskil Abrahamsen Blomfeldt2015-07-212-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will automatically add DirectWrite support if the required headers are found. The note about platform support from the help screen has also been removed, since Windows XP is not officially supported. Applications that need to run on XP can still build with -no-directwrite. Also changed the configure test to be a proper compile test, since cross-compiled builds for Windows CE may break otherwise. Change-Id: I7fc7bfb25f2f86ced8a4d4c78a69527de0273707 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>