summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* configure: add '-psql_config' optionPeter Seiderer2015-02-251-3/+9
| | | | | | | | | | | Allow setting of pg_config path for cross compilation where pg_config is not in the command search path (do the same as for mysql_config). This is e.g. used for buildroot (see [1] for details). [1] http://lists.busybox.net/pipermail/buildroot/2015-February/119714.html Change-Id: I11d084496ffbb6f8bc350dbcf2971a5be8e3b346 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* configure: fix gold linker support detectionPeter Korsgaard2015-02-251-1/+1
| | | | | | | | | | | | While the -fuse-ld=gold flag is related to linking, it is an argument to the compiler driver to tell it what linker to execute, NOT an option to tell the linker to behave differently. So it shouldn't get prefixed with -Wl when passed though the compiler driver. Change-Id: I2b50cb6d2bd8911aa9b305cd8e755d4dfe923041 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix help in configure for -separate-debug-info optionPasi Petäjäjärvi2015-02-121-2/+2
| | | | | | | | Option -separate-debug-info is not enabled by default, even help claims it to be enabled. Change-Id: I4a986acbb2b7f2c7bf7feaaff29bcc6bfadcc559 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Print some debugging information for pkg-config detectionThiago Macieira2015-01-091-0/+13
| | | | | | | | | | | | | | Commit d44781730ccd4d48af79f480813bf3f9a4000253 disabled use of pkg- config on Mac, which in turn automatically disables all of the tests that depend on pkg-config too, like D-Bus. If you then use the -dbus flag, configure would error out telling you that it couldn't find D-Bus, despite it being there. Now we print some helpful information on error and extra information for finding out why it may have got disabled. Change-Id: Ic4e41c58d62d80eb1a0f3ca1c93529e049aaf231 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* allow detection of static/shared target in the config testsAshish Kulkarni2015-01-091-1/+7
| | | | | | | | | | | | | It was not possible to determine whether Qt is being built as a shared or static library in the config tests, as that information was not added to QMAKE_CONFIG used in the compileTest function. For linking to ICU on Windows, there is logic which depends on it in config.tests/unix/icu/icu.pro, but was broken for the static target, as the expected library name was not found (icuXX -> sicuXX). Change-Id: I22c2d543ea14feebbad36961c9a29e99f66323ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Complete the work for the runtime libdbus-1 supportThiago Macieira2015-01-061-9/+6
| | | | | | | | | | | | | Commit a2da88712f1e057747f68a28361b300faac5e605 was incomplete. Though it did enable building of QtDBus without the libdbus-1 headers, but it still kept looking for it. We don't need to do it anymore if CFG_DBUS is the default (runtime), so skip the actual check. This commit does not change behavior. All it does is skip the D-Bus tests if we're about to use dlopen'ed libdbus-1. Change-Id: I3947443c9ef6cc409cb6b154564f8af6fb5de84e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix build on Linux when dbus headers cannot be foundSimon Hausmann2015-01-061-6/+4
| | | | | | | | | | | | | | | | When CFG_DBUS != "no", we enable the build of linuxaccessibility in src/platformsupport, which requires QT += dbus to work. When no dbus headers are found, CFG_DBUS is set to runtime, which means we'll enable a11y but "dbus" will not end up in qconfig.pri and therefore src/dbus is not built at all (and not before platformsupport). Therefore the build in platformsupport breaks. So even if CFG_DBUS is set to "runtime" we need to make sure that dbus appears in qconfig.pri. Task-number: QTBUG-43205 Change-Id: Ibbe5e66552226cdcc1ce16fb83556406f3bb0e09 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.4.0' into 5.4Simon Hausmann2014-12-051-2/+2
|\ | | | | | | Change-Id: I0cd11cbe95693b78450ea81a0187760f4a6a8b5f
| * Make QtDBus compile without libdbus-1 headers, if dlopeningThiago Macieira2014-12-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of QtDBus already needs very little from libdus-1, so create an extra header containing the minimum API we actually need. One large advantage of this solution is that now QtDBus can always be enabled, even if the system doesn't have libdbus-1 installed. This is interesting on OS X, where libdbus-1 is often installed by Homebrew or MacPorts, which may include extra libraries we don't want in our packaging. Change-Id: I1b397121ec12eeca333ef778cf8e1c7b64d6b223 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Configure: Fix detection of GCC 5Thiago Macieira2014-12-041-0/+4
| | | | | | | | | | | | | | | | | | | | $ gcc-5 -dumpversion 5 No dots. Change-Id: I5dd547f257718c981e7be64fca3eec980136ba3e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Pass cflags, not incdir, to libudev config testLaszlo Agocs2014-12-021-1/+2
| | | | | | | | | | | | | | | | The compile.test script expects -I... parameters. Passing just the include path is therefore wrong. Pass cflags instead. Change-Id: I0f9b155d1e710fe7d77c64a867a89290d4f31db3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4.0' into 5.4Frederik Gladhorn2014-11-271-1/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: dist/changes-5.4.0 7231e1fbe24102f2a93b34dfa70e3dca884440d2 went into 5.4 instead of the 5.4.0 branch, thus the conflict. Change-Id: I70b8597ab52506490dcaf700427183950d42cbd1
| * Android: Report error when OpenSSL is on and headers are missingEskil Abrahamsen Blomfeldt2014-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was an override for Android which would disable the configure error when doing an OpenSSL build without having the headers available. This has several times lead to packaging errors where OpenSSL gets disabled but it's not noticed before the package testing, which delays the process. I'm not 100% sure of the reasoning behind the override, but I think it's a left-over from Necessitas where OpenSSL was statically linked into Qt. Change-Id: I2bdc33fb60c59cd493987959d4bbbbb4e9735a92 Task-number: QTBUG-42851 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Don't say "Neon... auto" when ARM Neon isn't detectedThiago Macieira2014-11-251-0/+3
| | | | | | | | | | | | | | Just say "no". Change-Id: I382d612ad0a7f4031b1891e7e4d9158db07badf1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4.0' into 5.4Frederik Gladhorn2014-11-211-1/+6
|\| | | | | | | Change-Id: I95f235a66ce2e9b1fa435c0f911c6f7e811755f0
| * Revert "Build Qt for OS X and iOS with relative rpath"Morten Johan Sørvig2014-11-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change was made too late in the 5.4.0 release cycle, and broke the Qt build and deployment in several areas: - macdeployqt - OS X 10.7 builds - shadow builds This reverts commit c0a54efc4091b365ffac09fc2827cf92f849d698. Change-Id: I1c1ad4901228f5516352ccdfa963e8ea2b5013b6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
| * iOS: Enable fat builds containing both armv7 and arm64 slicesTor Arne Vestbø2014-11-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apple will from February 1, 2015, require all applications uploaded to the App Store to be built for both 32-bit (armv7/s) and 64-bit (arm64). https://developer.apple.com/news/?id=10202014a We enable fat Qt binaries by passing both -arch armv7 and -arch arm64 to clang, which takes care of lipoing together the two slices for each object file. This unfortunately means twice the build time and twice the binary size for our libraries. Since precompiled headers are architecture specific, and the -Xarch option can't be used with -include-pch, we need to disable precompiled headers globally. This can be improved in the future by switching to pretokenized headers (http://clang.llvm.org/docs/PTHInternals.html). Since we're enabling 64-bit ARM builds, we're also switching the simulator builds from i386 to fat i386 and x86_64 builds, so that we are able to test 64-bit builds using the simulator, but we're keeping i386 as the architecture Qt is aware of when it's building for simulator, as we need the CPU features to match the lowest common denominator. Change-Id: I277e60bddae549d24ca3c6301d842405180aded6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Make configure fail on invalid (-no)-feature optionsN.Sukegawa2014-11-151-1/+6
|/ | | | | | | | | | | | | | | | configure script has been silently accepting whatever flags that begin with "-feature-" even if the feature name does not exist at all. Since the script validates many other flags, this behavior can make users believe flags they supply is valid when it isn't. Besides, this option is currently not protected against typo in any way. This commit verifies those flags against content of "qtbase/src/corelib/global/qfeatures.txt" and fails if supplied flag is not a valid feature name. Change-Id: Ib19ec66dd5558fb5491e8e080ce07d4807d94c1f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Build Qt for OS X and iOS with relative rpathAdam Strzelecki2014-11-011-5/+1
| | | | | | | | | | | | | | | | | Defaulting to absolute_library_soname on configure -rpath is no longer necessary as now we support @rpath install name ids on OS X and iOS. This also sets QMAKE_SONAME_PREFIX to @rpath for Qt modules when built with rpath configuration. This makes Qt libraries relocatable on OS X. Qt SDK is not yet relocatable though, because plugin location (including cocoa plugin) is still resolved using absolute path (see QTBUG-14150), also there are several absolute paths hardcoded in qmake mkspecs pri files. Task-number: QTBUG-31814 Change-Id: Ie9dffefcd2a946c1580293d433621c1adb7e06c4 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Use :- instead of - for empty environment variablesThiago Macieira2014-10-101-3/+3
| | | | | | | | We set the variables to empty when we start processing, so ${FOO-foo} will never print "foo". We need to use ${FOO:-foo}. Change-Id: I00c28edb10d8eaa09df689905a302b576b246806 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Allow using pkg-config on OS X/iOS using explicit -pkg-config to configureTor Arne Vestbø2014-10-061-1/+1
| | | | | | | | Fixup after d44781730ccd4d4, which would override whatever the user passed on the command line. Change-Id: If4d260801866ff53de3e6dfd6d37016fd8453d8d Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Android: Don't include Apache code under LGPLv2 licenseEskil Abrahamsen Blomfeldt2014-10-021-7/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | The code which extracts style assets for the Android style is licensed under the Apache license, which is not compatible with LGPLv2.1. It is, however, compatible with LGPLv3. This means that the Android platform plugin cannot be LGPLv2.1 as long as this code is included. To minimize licensing confusion, we default to only providing LGPLv3 for Android. If you want to build a LGPLv2.1-compatible library, you can add -no-android-style-assets to the configuration. This will in turn enable the LGPLv2.1 in the configure output, and it will disable the extraction code in the platform plugin. Running the Android style with an LGPLv2.1-compatible platform plugin will work, but it will look horrible. [ChangeLog][Android] Default open-source license for Qt for Android is now LGPLv3. For compatibility with the LGPLv2.1 license, add "-no-android-style-assets" to your configuration. Change-Id: I6c7b52140f38138520871fa7c69debbb4ee90e6c Task-number: QTBUG-41365 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Remove existence test for LICENSE.LGPL3Eskil Abrahamsen Blomfeldt2014-10-021-7/+3
| | | | | | | | This license file has to exist, since much of the code is licensed under LGPLv3. Change-Id: I2795a7cc62f6de65a35921e38d2ab5f8f0233f71 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* configure: Disable pkg-config on OS X unless explicitly requestedTor Arne Vestbø2014-10-011-3/+6
| | | | | | | | | | We don't have an explicit XPLATFORM_OSX, but XPLATFORM_MAC applies to both OS X and iOS (as now clarified), so we move the default out of the XPLATFORM_IOS scope and to a XPLATFORM_MAC scope. Change-Id: I6b9ba9c881c28def08b9ab863d0165fbd9dedc6d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-26/+18
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Frederik Gladhorn2014-09-241-1/+1
|\
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-231-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * configure: fix expanding system commands in qmake parser with GNU awk < 4Olivier Blin2014-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qmake variables using $$system() were incorrectly parsed by the custom qmake parser in the configure script, when using GNU awk 3.1.8 or earlier. They are parsed correctly with GNU awk 4 or mawk. This was occurring with such an assignement (from an extra mkspecs file): QMAKE_CC = $$system($$CMD QMAKE_CC 2>/dev/null) The custom qmake parser in the configure script first attempts to expand $$UPPERCASE variables, before running $$system(), using this: match(value, /\$\$(\{[_A-Z0-9.]+\}|[_A-Z0-9.]+)/) But when using non-ASCII locales with GNU awk 3.1.8 or earlier, $$system was expanded (to an empty string) because these earlier awk versions match lowercase letters for the [A-Z] regexp, which is traditionally used to match uppercase letters. This behavior has been changed in GNU awk 4.0.0, which only matches uppercase letters for [A-Z] by default. A workaround for earlier GNU awk versions is to run awk with the C locale. See GNU awk NEWS "Changes from 3.1.8 to 4.0.0": 25. Gawk now treats ranges of the form [d-h] as if they were in the C locale, no matter what kind of regexp is being used, and even if --posix. The latest POSIX standard allows this, and the documentation has been updated. Maybe this will stop all the questions about [a-z] matching uppercase letters. THIS CHANGES BEHAVIOR!!!! See also gawk.info "A.7 Regexp Ranges and Locales: A Long Sad Story" Change-Id: Ibb3eb28738c3e77d496c634e1f5c9f630957e730 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix the number of empty lines between warnings at the end of configureThiago Macieira2014-09-231-2/+2
|/ / | | | | | | | | Change-Id: I9b3e64477331cb7257228b4bf05f9ebb82227009 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Fix bash syntax error in configureAdam Strzelecki2014-09-021-1/+1
| | | | | | | | | | | | | | Fixes missing space before `]` in test condition introduced in 8d5772533887266d. Change-Id: I741c291677f32056a0a0bec12cb4d9fd293a2021 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add a note to the configure about the use of journald and slog2Thiago Macieira2014-08-301-0/+7
| | | | | | | | | | Change-Id: I790807d286fc89f6cca890342d15d0ed044163a5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Make HarfBuzz-NG the default shaper on all platformsKonstantin Ritt2014-08-201-17/+22
| | | | | | | | | | | | | | | | | | | | [ChangeLog][Important Behavior Changes] HarfBuzz-NG is now the default shaper on all platforms. This results in a better shaping results for various languages, better performance, and lower memory consumption. Task-number: QTBUG-18980 Change-Id: I4d9454fc37e9050873df3857e52369dfc7f191b2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Update the handling of the -xkbcommon configure optionThiago Macieira2014-08-091-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | If the user requested the system xkbcommon with -system-xkbcommon, then don't silently fall back to the bundled version if the functionality test fails. Instead, print the an error notice. Also note that the -xkbcommon argument didn't do anything, since it set the variable to "yes". Change-Id: I2c9e820bd076995aaaad987ecce76ebddcd79b4a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Remove specific maemo/meego codepathsAllan Sandfeld Jensen2014-08-061-4/+0
| | | | | | | | | | | | | | | | | | We no longer support the maemo/meego platform, so we can remove the specific code for that platform. Change-Id: Ia7f0730eba2d96794b97b7ca4753f63a2d7bc2a8 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Remove the last remnants of iWMMXt in QtThiago Macieira2014-08-051-17/+1
| | | | | | | | | | | | | | | | This code hasn't been tested for at least 4 years. It's not maintained and probably doesn't work. Change-Id: I4b9a5179e34111b400914f91caa6b741b69771bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-291-1/+9
|\| | | | | | | | | | | | | Conflicts: src/network/ssl/qsslsocket_openssl_symbols.cpp Change-Id: Ic62419fa1fee5f4de6c372459d72e6e16f9a810b
| * Improve dbus cross compilationBernd Weimer2014-07-281-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Building QtDBus on Linux host for QNX target had two issues: * Configure check failed, because dbus-1 library was not linked in, if target platform doesn't support pkg-config. * Host tools were not built, because pkg-config was not used to locate dbus headers on the host. Task-number: QTBUG-37324 Change-Id: I71d8309599fd40ef2dd8c9e3b44b93a7482019f1 Reviewed-by: Rolf Eike Beer <eb@emlix.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Restore Neon "detection" in QtThiago Macieira2014-07-251-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't actually detect whether the compiler can create Neon code or provides Neon intrinsics. Most of them do, so that test would be mostly moot. We removed the detection previously because we couldn't automatically enable Neon due to leakage of instructions outside the areas protected at runtime. Instead, we rely on the mkspec properly passing the necessary flags that enable Neon support. This commit does not change that. All it does is verify whether the arch detection found "neon" as part of the target CPU features. In other words, it moves the test that was in simd.prf to configure. It does fix the Neon detection in configure.exe, which was always failing for trying to run a test that didn't exist (config.tests/unix/neon). Change-Id: Id561dfb2db7d3dca7b8c29afef63181693bdc0aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Introduce qmake feature use_gold_linkerAllan Sandfeld Jensen2014-07-231-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the feature use_gold_linker to use the gold linker that has been part of of GNU binutils since 2008. Gold links C++ libraries much faster and use less memory. The feature is autodetected when building Qt on Linux, but can be disabled in configure. On MingW builds it is default off but can be enabled for cross builds. Change-Id: Icdd6ba2e706b2c791bcf44b6e718c2b7a5eb2218 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Canonicalize inputs when filtering default system pathsMichael Palimaka2014-07-151-0/+1
| | | | | | | | | | | | | | | | | | | | Contrary to expectations, various <foo>-config tools sometimes spit out denormalized paths, which breaks the text-based filtering, as it relies on exact matches with normalized paths. Change-Id: I0613ed24953a3bde19939d28d09572c88b43a361 Task-number: QTBUG-39216 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | make qmake failure fail configureOswald Buddenhagen2014-07-071-1/+1
| | | | | | | | | | | | | | the windows version is already sane in this regard Change-Id: Ib9c6fa35ede0e5e98b38b7b97086b9245c79d48f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | nuke -process/-fully-process/-dont-process optionsOswald Buddenhagen2014-07-071-23/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][configure] The -process/-fully-process/-dont-process options have been removed due to being unnecessary and counterproductive. -fully-process has always been broken to a degree under unix (and since 5.0 under windows) - rcc isn't built before running qmake -r, so the dependencies are unreliable (and there are many warning messages from qmake). also, it is a lot slower nowadays, as qmake -r is not parallelized. -dont-process doesn't make any sense any more - even if you don't need the Makefile for some obscure reason, the time spent on creating it is not relevant without the recursion. this leaves -process as the only option. Task-number: QTBUG-36955 Change-Id: Ifd3949d9ff773780646c6f65db1629e1c19e53d2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add the -qreal option to the Qt ABI informationThiago Macieira2014-06-171-0/+18
| | | | | | | | | | | | | | | | | | If -qreal float is passed, fullCpuArchitecture() will now include "-qreal_float". If something else other than "float" is passed to -qreal, we'll try to encode it (e.g., -qreal "fixed<int, 7>"). Change-Id: Ie33fd1a643f4376e6f01a7966e01c7c34e6fcffd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add support for single-file multi-target intrinsics in QtThiago Macieira2014-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.9 now allows us to #include any and all intrinsics headers, not just the one for which we're compiling code, a behavior that ICC and MSVC have had for some time. With that, we're able to have the functions for different targets in the same source file. See the GCC manual: http://gcc.gnu.org/onlinedocs/gcc/Function-Multiversioning.html This functionality is notified by the QT_COMPILER_SUPPORTS_HERE(XXX) macro, which indicates that all the intrinsics from QT_COMPILER_SUPPORTS_xxx are available and enabled. To complement, a QT_COMPILER_SUPPORTS(XXX) macro is also added. Unlike ICC and MSVC, GCC requires a special function attribute, which will also cause code optimization. That's the QT_FUNCTION_TARGET macro. Note: because of the absence of the target attribute, ICC and MSVC will not generate instructions with the VEX prefix unless they only exist with the VEX prefix or if -mavx / -arch:AVX are enabled. Change-Id: I0c1880c20324bd8e0fc68a863e36d1fa7755dff0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-05-221-3/+6
|\| | | | | | | Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
| * Strip bootstrapped binaries of unused sectionsThiago Macieira2014-05-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches the -ffunction-sections from bootstrap.pro, which tells the compiler to create a section for each function. The -gc-sections option tells the linker to drop what wasn't used (normally, it only drops entire files). Before (on Linux, built with -O3, no LTO): text data bss dec hex filename 1746385 7920 3750 1758055 1ad367 bin/moc 1444101 6664 1894 1452659 162a73 bin/rcc 4407725 1568 4896 4414189 435aed bin/qmake After: text data bss dec hex filename 1131655 6520 3494 1141669 116ba5 bin/moc 1027043 5480 1766 1034289 fc831 bin/rcc 3578489 1656 5313 3585458 36b5b2 bin/qmake Gain: 35% on moc, 28% on rcc, 19% on qmake Before (on OS X): __TEXT __DATA __OBJC others dec hex 1495040 12288 0 4294993008 4296500336 100176470 bin/moc 1265664 8192 0 4294983904 4296257760 10013b0e0 bin/rcc 5279744 81920 0 4297912320 4303273984 1007ec000 bin/qmake After: __TEXT __DATA __OBJC others dec hex 806912 8192 0 4294988132 4295803236 1000cc164 bin/moc 720896 8192 0 4294979764 4295708852 1000b50b4 bin/rcc 4841472 77824 0 4295580688 4300499984 100546c10 bin/qmake Gain: 46% on moc, 43% on rcc, 8% on qmake. Change-Id: Icc7cdc9fd6f5db15537b4adabaac7e7a27e539d4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Make qmake also use -ffunction-sectionsThiago Macieira2014-05-191-2/+4
| | | | | | | | | | | | | | This might lead to a smaller binary if we use --gc-sections too. Change-Id: I7e17b956a85ecefc3e187054848393d2855152b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-061-25/+37
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp src/opengl/qglpixelbuffer.cpp src/opengl/qglshaderprogram.cpp tests/auto/opengl/qglthreads/tst_qglthreads.cpp Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
| * Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Jani Heikkinen2014-04-251-16/+3
| |\ | | | | | | | | | refs/staging/stable
| | * Merge remote-tracking branch 'origin/release' into stableJani Heikkinen2014-04-231-16/+3
| | |\ | | | | | | | | | | | | Change-Id: Id13b4a3803664692f32f9d57549be8a0c4a08567