summaryrefslogtreecommitdiffstats
path: root/config.tests/unix
Commit message (Collapse)AuthorAgeFilesLines
* configure: inline openssl test sourcesOswald Buddenhagen2018-12-192-50/+0
| | | | | Change-Id: I47c1c43b5db30cf1d59de9c6c20ca83abef2cf8c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: inline a few more testsOswald Buddenhagen2018-12-1712-262/+0
| | | | | | | | these were new on dev while the original migration happened on 5.9, or came from new changes which hadn't adapted yet. Change-Id: I5e48437061a97e6df6e93881c98471455e177631 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Clean up OS version checks for Apple platformsJake Petroules2017-09-291-0/+5
| | | | | | | | | | Convert QSysInfo/QOperatingSystemVersion to __builtin_available where required or possible, or to QOperatingSystemVersion where __builtin_available cannot be used and is not needed (such as negated conditions, which are not supported by that construct). Change-Id: I83c0e7e777605b99ff4d24598bfcccf22126fdda Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QFileSystemEngine::setFileTime/Unix: remove the fallback to futimesatThiago Macieira2017-08-052-48/+0
| | | | | | | | | | | | | | | | The use as in the code: futimesat(fd, NULL, &tv) is not documented to work. The file descriptor should be a directory's one, not an open file (though the Linux source code seems to handle that case). This call was done as a fallback to futimes, so it's very unlikely a system would have futimesat and not futimes. Both the Linux and the FreeBSD man pages say it's deprecated anyway. Change-Id: I8d96dea9955d4c749b99fffd14cd94068dc7668a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devOswald Buddenhagen2017-08-02128-3546/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/widgets/qdockarealayout.cpp src/widgets/widgets/qmainwindow.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmainwindowlayout_p.h tests/auto/corelib/tools/qlocale/tst_qlocale.cpp tests/auto/other/macnativeevents/BLACKLIST tests/auto/widgets/widgets/qmenu/BLACKLIST Change-Id: Ic8e724b80a65e7b1af25511b0e674d209265e567
| * configure: un-namespace remaining non-inline configure testsOswald Buddenhagen2017-08-029-322/+0
| | | | | | | | | | | | | | only few tests remain, and many of these were mis-classified anyway. Change-Id: Ic3bc96928a0c79fe77b9ec10e6508d4822f18df2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * configure: Add a feature to write tests in the .json fileThiago Macieira2017-08-02118-3140/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're adding a lot of unnecessary files that end up later as cargo-cult, for at most a handful of lines. So instead move the testcases directly into the .json file. The following sources were not inlined, because multiple tests share them, and the inlining infra does not support that (yet): - avx512 - openssl - gnu-libiconv/sun-libiconv (there is also a command line option to select the exact variant, which makes it hard/impossible to properly coalesce the library sources) The following sources were not inlined because of "complications": - verifyspec contains a lengthy function in the project file - stl contains lots of code in the source file - xlocalescanprint includes a private header from the source tree via a relative path, which we can't do, as the test's physical location is variable. - corewlan uses objective c++, which the inline system doesn't support reduce_relocs and reduce_exports now create libraries with main(), which is weird enough, but doesn't hurt. Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: Ic3a088f9f08a4fd7ae91fffd14ce8a262021cca0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * configure: dispose of which.testOswald Buddenhagen2017-08-021-39/+0
| | | | | | | | | | | | | | | | | | just use 'which' and be done with it. the script was rather arcane, and worked around deficiencies of cygwin (no longer relevant) and solaris (assumed to be somewhat sane meanwhile). Change-Id: I2e11ea3c87ac06a85604ac8d58d8fee95eae2e15 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * configure: modernize dbus testOswald Buddenhagen2017-08-021-6/+1
| | | | | | | | | | | | | | | | remove useless define and ifdef/error, and check for a more appropriate function. Change-Id: I1a1622cc157c49ebb6787068ade7b33e45e228ca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * configure: remove check for ancient libpng < 1.0.17Oswald Buddenhagen2017-08-021-4/+0
| | | | | | | | | | | | | | that's just noise nowadays. Change-Id: Ife75ebcc67de45db76265b1a8fb3b8130ff58c0f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * configure: prune checks for ancient compilers from some testsOswald Buddenhagen2017-08-021-6/+0
| | | | | | | | | | | | | | | | these would be caught by the central verifyspec test, if we even got that far. Change-Id: I3eda80c4614b94f869d907f0a40166f4914ea692 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * configure: remove support for obsolete platformsOswald Buddenhagen2017-08-026-20/+0
| | | | | | | | | | | | | | | | | | | | - #error hack for MIPSpro compiler from unix/clock-* - irix exclusions from unix/*iconv - hpux defines from unix/{getifaddrs,ipv6ifname} (the obsolete hpuxi-g++-64 spec would add them automatically anyway) Change-Id: Ib227e5626c0e8c8f6faebf76c312d77955f80b92 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * configure: get rid of indirect #defines in gl testsOswald Buddenhagen2017-08-025-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in the gles tests, use #ifdef __APPLE__ directly instead of defining BUILD_ON_MAC. this is consistent with the desktop gl test, less magic, and corresponds with the later usage (which does #ifdef Q_OS_MAC). amends f3d82a89. in the desktop gl test, clean out the dead Q_OS_MAC define from the project file (added in 45dc5852 concurrently to the more direct fix in 864815ef). Change-Id: Ieebad3c7e87218b887f61485c331b93eadfcf406 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devGabriel de Dietrich2017-07-132-51/+0
|\ \ | |/ | | | | | | | | | | Conflicts: src/widgets/widgets/qmainwindowlayout.cpp Change-Id: I306b4f5ad11bceb336c9091241b468d455fe6bb6
| * configure: Remove test for unused feature "mremap"Thiago Macieira2017-07-102-51/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a Linux-specific call that was added to the kernel in pre historical times (before Git). Sqlite3 uses mremap(2) but it has its own checking. Nothing else in Qt uses this. Looks like the last user was the QPF font engine, removed in commit d7e424ee6686f663f5134666e09c2875bb3e42b6 almost four years ago. And that's considering that the QPF font engine wasn't in use since Qt 5.0 because QWS was no more... Change-Id: Idaa189413f404cffb1eafffd14ceee7488514c1d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Rename the "sys_auxv" feature to "getauxval"Thiago Macieira2017-07-063-1/+1
| | | | | | | | | | Change-Id: I8d96dea9955d4c749b99fffd14cdbd1e69940d33 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | QSslSocket: OpenSSL 1.1 backendRichard J. Moore2017-07-042-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch-set implements a new QSslSocket backend based on OpenSSL 1.1. 1. General. The code in this patch was organized to achieve these (somewhat contradicting) objectives: - keep the new code free of #if-ery, as far as possible; - make it easy to clean away dead code when we're eventually able to retire out-dated OpenSSL versions; - reduce the amount of code duplication. If changes in some file/component were insignificant (~5 one-liners per file), we still use pp-checks like: #if QT_CONFIG(opensslv11) ... #else ... #endif - the logic is simple and it's still easy to clean the code if we remove the legacy back-end. Where it saved #if-ery, we also introduced 'forward-compatible' macros implementing equivalents of 1.1 functions using older OpenSSL. In case some class contains a lot of version-specific ifdefs (particularly where nested #if-ery was complex) we choose to split code into: "pre11" h/cpp files, "shared" h/cpp files (they preserve their original names, e.g qsslsocket_openssl.cpp) and "11" h/cpp files. If in future we remove the legacy back-end, "pre11" should be removed; "shared" and "11" parts - merged. 2. Configuration. We introduced a new feature 'opensslv11' which complements the pre-existing 'openssl' and 'openssl-linked' features. The 'opensslv11' feature is enabled by a simple test which either compiles successfully or ends in a compilation error, depending on a value of the OPENSSL_VERSION_NUMBER constant. If the feature was enabled, we also append an additional compilation flag -DOPENSSL_API_COMPAT=0x10100000L to make sure our new code does not contain deprecated structures, function calls, macro-invocations from OpenSSL < 1.1. Change-Id: I2064efbe9685def5d2bb2233a66f7581954fb74a Reviewed-by: André Klitzing <aklitzing@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | QRandomGenerator: use getentropy on Linux & OpenBSDThiago Macieira2017-06-302-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The getentropy function, first found in OpenBSD, is present in glibc since version 2.25 and Bionic since Android 6.0 and NDK r11. It uses the Linux 3.17 getrandom system call. Unlike glibc's getrandom() wrapper, the glibc implementation of getentropy() function is not a POSIX thread cancellation point, so we prefer to use that even though we have to break the reading into 256-byte blocks. The big advantage is that these functions work even in the absence of a /dev/urandom device node, in addition to a few cycles shaved off by not having to open a file descriptor and close it at exit. What's more, the glibc implementation blocks until entropy is available on early boot, so we don't have to worry about a failure mode. The Bionic implementation will fall back by itself to /dev/urandom and, failing that, gathering entropy from elsewhere in the system in a way it cannot fail either. uClibc has a wrapper to getrandom(2) but no getentropy(3). MUSL has neither. Change-Id: Ia53158e207a94bf49489fffd14c8cee1b968a619 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Add support for OpenGL ES 3.2 in QOpenGLExtraFunctionsLaszlo Agocs2017-06-302-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the usual pattern: Add a config test and automatic include of GLES3/gl32.h if there is a GLES 3.2 capable header+lib at build time. Then, regardless of this being enabled, expose all new 3.2 API functions in QOpenGLExtraFunctions and resolve them dynamically at run time. This way 3.2 functions will be available when deployed to a 3.2 capable system (or OpenGL 3/4.x with the functions in question available) regardless of what was present in the sysroot at build time. Change-Id: Ia52551f3178591e1e56ceac8e45d89c6b13f4927 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QRandomGenerator: don't internally rely on QT_HAS_INCLUDEThiago Macieira2017-06-204-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC didn't support it until version 5 or 6, so add configure tests for both <random> and <sys/auxv.h>. Normally I'd say "upgrade", but this is too low-level and important a feature. There's a good chance that all our supported compilers have <random> anyway. As for <sys/auxv.h>, it's present on Glibc, Bionic and MUSL, but I don't see it in uClibc (AT_RANDOM is a Linux-specific feature). Change-Id: Ia3e896da908f42939148fffd14c5b2af491f7a77 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-195-4/+54
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/windows/qwindowscontext.cpp src/plugins/platforms/windows/windows.pri src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/doc/src/widgets-and-layouts/gallery.qdoc Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
| * rework detection and use of clock_gettime()/librtOswald Buddenhagen2017-06-173-4/+0
| | | | | | | | | | | | | | | | recent versions of glibc include clock_gettime() inside libc itself. Task-number: QTBUG-41009 Change-Id: I7401773be99682a356bf06a69571d11c4b15978b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Enable stack-protector-strong for QNX 7.0.0James McDonnell2017-06-132-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was originally enabled in the mkspecs for 64-bit QNX 7.0.0 but that broke when the qtConfig change was made. It looks like qtConfig shouldn't be used in the platform mkspecs. I suspect the stack-protector changes were left out of the 32-bit mkspecs so that 6.6.0 builds wouldn't be affected. Ignore the stack-protector/stack-protector-all possibility since it isn't possible to access it without a command line option. Specifying both options doesn't even make sense since stack-protector-all encompasses stack-protector. For now, leave out command line control of this feature. Task-number: QTBUG-59644 Change-Id: I99323216be5b592dd2c3bef6d22da195764a6e65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | QFileDevice/QFileInfo: Add fileTime() and setFileTime()Nikita Krupenko2017-04-276-0/+144
|/ | | | | | | | | | | [ChangeLog][QtCore][QFileDevice] Added fileTime() and setFileTime(). [ChangeLog][QtCore][QFileInfo] Added fileTime(). Task-number: QTBUG-984 Change-Id: I84dfb05b9454a54e26b57b78edee5773dc4c5c3c Initial-patch-by: Raphael Gozzo <raphael.rg91@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* PCRE2: fix the configure testGiuseppe D'Angelo2017-03-281-1/+3
| | | | | | | | | A typo caused the test to never detect the system wide PCRE. Task-number: QTBUG-59226 Change-Id: I42ada99aac240455d11b53d2ab59d712d8f811ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* config.tests: Replace LGPL21 with LGPL license headerKai Koehne2017-03-031-14/+20
| | | | | | | Also use canonical contact url. Change-Id: Ia1f814ce822d247f3af14c1ea46e07cfad0fda09 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-084-96/+0
|\ | | | | | | | | | | | | | | Conflicts: configure.json mkspecs/win32-icc/qmake.conf Change-Id: Ibf40546b024d644c7d9ed490bee15b82597f4d3f
| * Fix MIPS DSP configurationAllan Sandfeld Jensen2017-01-274-96/+0
| | | | | | | | | | | | | | | | | | The patch fixes a number of bugs in code, and removes dead logic clarifying that MIPS DSP, like ARM NEON, has no runtime detecton. Change-Id: If2f4eea68da5b2eaa80b8e9c8258206d8c1b7173 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | PCRE2: port QRegularExpression to PCRE2Giuseppe D'Angelo2016-12-123-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PCRE1 is going towards EOL. PCRE2 is the way forward in terms of new features, performance, and security improvements. The APIs that QRegularExpression uses are similar so the required modifications aren't extensive. The biggest difference comes to JIT-compiling of the pattern. In PCRE1, JIT-compiling did not modify the processed PCRE pattern, but returned a new chunk of data. This allowed multiple threads to keep matching using the same processed data and NULL for the JIT data, until a thread JIT-compiled and atomically set the shared JIT data to the results of the compilation. In PCRE2, JIT-compiling _modifies_ the processed PCRE pattern in a way that it's thread unsafe [1]; the results of JIT-compilation are stored somewhere inside the processed pattern. This means the above approach cannot work -- a thread may be matching while another one JIT-compiles, causing a data race. While waiting for better workarounds from upstream, employ a read/write mutex to protect the matching from JIT-compilation. [1] https://lists.exim.org/lurker/message/20160104.105831.3cb25b39.en.html [ChangeLog][General] QRegularExpression now requires the PCRE2 library, at least version 10.20. Support for the PCRE1 library has been dropped. A copy of PCRE2 is shipped with Qt and will automatically be used on those platforms which lack it. Change-Id: I9fe11104230a096796df2d0bdcea861acf769f57 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/devLiang Qi2016-11-189-159/+3
|\ \
| * \ Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-179-159/+3
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/uikit/default_post.prf Change-Id: I2a6f783451f2ac9eb4c1a050f605435d2dacf218
| | * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-163-0/+3
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/linux-android.conf src/gui/opengl/qopengl.h src/network/socket/qnativesocketengine_winrt.cpp src/network/socket/qnativesocketengine_winrt_p.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/api/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp sync.profile Change-Id: If70aaf2c49df91157b864cf0d7d9513546c9bec4
| | | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-153-0/+3
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/platforms/eglfs/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp Change-Id: Id2da7c775439adb62646d5b741ee7c638042b34b
| | | | * 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>
| | * | | Remove all Multimedia related configuration options from qtbaseLars Knoll2016-11-156-159/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They live in qtmultimedia now. Change-Id: I1a2ee8be3efb7c4ee9a29d2a8e3fc1f3eea704fc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | | | Enable support for OpenVGAndy Nichols2016-11-172-0/+52
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit re-enables support for OpenVG in Qt, but not in the same way as in Qt 4.8. The first part is about adding a test and using the new configure system to enable OpenVG. There is still support code in Qt for setting up EGL to provide a surface and context for rendering with the OpenVG API, this commit enables a path to do so. Normally to get access to an EGLContext from a QWindow you do so via QOpenGLContext, but in setups without OpenGL but with EGL and OpenVG this doesn't make sense (there would be no QOpenGLContext). So the intended way is to use a QWindow to get an EGLSurface, then create an EGLContext directly (without going through QPA). Change-Id: I0f75aadbaa3cd006deb7e6fd12cfbb574870fba4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-135-17/+48
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakeevaluator.cpp (cherry picked from commit 1af6dc2c8fb4d91400fddc5050166f972ae57c9a in qttools) src/corelib/kernel/qcore_mac_objc.mm src/gui/painting/qcolor.h src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: I5b3ec468a5a9a73911b528d3d24ff8e19f339f31
| * | | Migrate libinput support away from QT_LIBRARY_VERSIONLaszlo Agocs2016-10-102-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There may not be a version when libinput is not picked up via pkg-config. Add a config test instead. Task-number: QTBUG-56017 Change-Id: I421af4cef1b896413a4ebda561809a8b2a3386b3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | | fix freetype/fontconfig configure systemOswald Buddenhagen2016-10-043-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | convert the ugly config.tests/[...]/freetype.pri file into a custom callback in configure.pri, and reinstate pkg-config use for freetype. subsequently, use QMAKE_USE for the actual library references. this fixes in particular cross-builds, as the new configure was not passing the necessary information to the test any more, so the old .pri file misbehaved. Task-number: QTBUG-54911 Change-Id: I5fc9c254334a2675f7db4d54df4c77637e8e2487 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | Add evdev support for FreeBSDOleksandr Tymoshenko2016-10-061-0/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | FreeBSD 12 has evdev implementation dropin-compatible with Linux's /dev/input. Add #ifdef wrappers around platform-specific headers. Change-Id: Ia50c3f2d2e9f0f3689a92e327305d5e7547e9407 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-211-1/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5971b88e is not needed in new configure. This merge also reverts "fix QMAKE_DEFAULT_*DIRS resolution with apple SDK", 2c9d15d7, because it breaks iOS build with new configure system. Conflicts: mkspecs/features/default_pre.prf mkspecs/features/mac/toolchain.prf mkspecs/features/toolchain.prf src/dbus/qdbusconnection.cpp src/plugins/sqldrivers/mysql/qsql_mysql.cpp src/sql/drivers/mysql/qsql_mysql.cpp src/widgets/widgets/qmenubar.cpp src/widgets/widgets/qmenubar_p.h tools/configure/configureapp.cpp tools/configure/environment.cpp tools/configure/environment.h Change-Id: I995533dd334211ebd25912db05b639d6f908aaec
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-161-1/+2
| |\ \ | | |/ | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp Change-Id: I0af32ee55936d523cbd259b6fe82eb9c409f9074
| | * 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>
* | | rewrite library handling in configureOswald Buddenhagen2016-08-1846-147/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so far, each library was distributed over a test and (optionally) a 'library' output of a feature. this was conceptually messy and limiting. so instead, turn libraries into a category of their own. libraries now support multiple properly separated sources, which makes overriding them a lot saner. sources can be conditional to accommodate platform differences. as an immediate consequence, move (almost) all library references from the config test projects to the json file. a few tests were excluded, because they are doing somewhat magic things that should not be handled in this bulk change: - freetype: .pri file shared with actual source code - clock-gettime: -lrt is conditional, and there is a .pri file which is shared with actual source code - ipc_posix: -lrt & -lpthread conditional - iconv: -liconv conditional the multi-source mechanism is used to make a variety of tests work on windows, where the library name differs from unix (and sometimes between build configurations). some tests still needed minor adjustments to actually work. on the way, fix up disagreements between manually specified libraries and pkg-config lines (affecting several xcb-related tests). Change-Id: Ic8c58556fa0cf8f981d386b13ea34b4431b127c5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | get rid of test type 'shell'Oswald Buddenhagen2016-08-127-159/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it's bound to the bourne shell, which is not readily available on windows hosts. on the way, the pch, fvisibility, and bsymbolic_functions tests were rewritten as regular compile tests. they now just verify that qmake's built-in support for the tested features actually works. Change-Id: Ibac246f21b5ececa40da3f576dc789982eaf9fdf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | delete orphaned config testsOswald Buddenhagen2016-08-104-96/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mitshm, xcursor, xfixes, xrandr, xshape, and xsync were dead for a long time (see also 4cb795cbdb). glxfbconfig was also dead (see also d54b77d55). x11/notype and x11/xkb became dead in 4535913c4f. javascriptcore-jit became dead in 24f1025663. stdint was another webkit vestige (see also 1b716724f7). Change-Id: I04f408cb917c767951645c6445f15f24378fa43a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Fix some syntax issues in SCTP implementationAlex Trotsenko2016-08-031-2/+4
| | | | | | | | | | | | | | | | | | Change-Id: I718fd060e313d544a5470fa20183db04ef89b1ca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devEdward Welbourne2016-08-011-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure 5.7 now supports clang on android; but dev re-worked configure src/gui/kernel/qevent.h One side renamed a parameter of a constructor; the other added an alternate constructor on the next line. Applied the rename to both for consistency. tests/auto/tools/moc/tst_moc.cpp Each side added a new test at the end. .qmake.conf Ignored 5.7's change to MODULE_VERSION. configure.json No conflict noticed by git; but changes in 5.7 were needed for the re-worked configure to accommodate 5.7's stricter handling of C++11. Change-Id: I9cda53836a32d7bf83828212c7ea00b1de3e09d2
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-261-1/+1
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qtemporarydir.cpp One side encapsulated a repeated piece of #if-ery in a local define; the other added to the #if-ery. Made its addition to the other's. src/corelib/kernel/qeventdispatcher_unix_p.h One side moved some members into a struct; this collided with a #undef check that neither side now has. Discarded the #undef part. src/gui/opengl/qopengltexturehelper_p.h 5.7 deleted a bunch of methods; not clear why merge got confused. src/tools/moc/moc.cpp One added a name to the copyright header; another changed its URL. Change-Id: I9e9032b819f030d67f1915445acf2793e98713fa