summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* clean up mess surrounding PLATFORM_MACOswald Buddenhagen2013-11-201-23/+24
| | | | | | | | | | | | | | | | | introduce XPLATFORM_MAC which is properly initialized from the spec instead of from the host. use that and BUILD_ON_MAC where appropriate. minor bug: during command line arg validation we use BUILD_ON_MAC even when XPLATFORM_MAC would be in order, because the latter is not available at that point yet. the solution would be delaying the validation, but that doesn't seem worth the effort now. Task-number: QTBUG-33896 Change-Id: I63f361212961bfdd82efde2ca71a1f48904a85fb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* consolidate all license checking in the earliest place possibleOswald Buddenhagen2013-11-201-482/+409
| | | | | | | | | | | | | ... which is right after performing the platform detection, as proper license checking needs to know the target platform. we can do that now, as we moved all more expensive or side effect laden processing to a later point. as a side effect, we also get rid of the weird early cmdline parsing. Change-Id: I0fda0a15a1ea2082603f7097e89aa422853f30fa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* don't initialize build dir earlier than necessaryOswald Buddenhagen2013-11-201-42/+42
| | | | | | | | this way, platform detection (and later license checking) become (mostly) read-only operations. Change-Id: I4c5ffcf80feadfeee2c6e927cf0285f46fa6ea43 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* print help right after parsing command lineOswald Buddenhagen2013-11-201-404/+371
| | | | | | | | | | | | is the only sane thing, and now that there are no dependencies on anything else any more (in particular anything slow or side effect laden), we can actually do it. this removes some nasty OPT_HELP checks spread throughout the code, thus further reducing data dependencies. Change-Id: Ib0a00e1514e2aa25ec3b527ba9f5719e3214640b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make help independent from options and environmentOswald Buddenhagen2013-11-201-141/+33
| | | | | | | | | | | | | | | | the help would echo the defaults adjusted by command line overrides and environment variables for some options. this was entirely pointless. it also printed the result of the os detection, which was mostly useless. but the primary reason for doing this is reducing data dependencies, so the code can be moved up. not touching the windows configure, as it's a lot harder and currently that behavior isn't in the way of what i need to do. Change-Id: Ide62119091c8494fb3bea2b607f140268f057919 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* do CONFIG+=silent after configure testsOswald Buddenhagen2013-11-201-4/+4
| | | | | | | | | | | it's counterproductive to do it earlier: it's passed down to configure tests, which then log less info than they could. but primarily, this serves the purpose of minimizing the amount of code executed before platform detection. Change-Id: Iff19b8555de19d048ea6d9341af965871b314c54 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* move some option validations to more relevant placesOswald Buddenhagen2013-11-201-39/+43
| | | | | | | minimizing the amount of code executed before platform detection. Change-Id: Ib2c0d97ce5040ced8c4c41d74f428fe7d0f75664 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* don't automatically display help on errorOswald Buddenhagen2013-11-201-7/+2
| | | | | | | | | | | it's entirely pointless to flood the user with information and force him to scroll back when he most likely just made a typo. apart from that, this reduces the data dependencies, thus easing further refactoring. Change-Id: I7b24274d453de54a4f02481a66d77e27d4ab0657 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* remove hacks to support solaris 2.[56] and aix < 5Oswald Buddenhagen2013-11-201-20/+0
| | | | | | | moving dead code out of the way of further refactoring. Change-Id: If558406cdf13d61478634dd7eff644dc67b0e53d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* initialize WHICH, AWK, PERL and MAKE a bit earlierOswald Buddenhagen2013-11-201-34/+34
| | | | | | | | have this option independent code out of the way before starting option processing. Change-Id: I5a08caeb25689b155c256ef82505c000112f5039 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: Document that -sdk only applies to the target mkspecTor Arne Vestbø2013-11-141-0/+2
| | | | | | Change-Id: Ie4a9e7c9d2888f92aa891ba8fcc034ea49b22de2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* CMake: Add the qreal typedef type to the Qt5::Core target.Stephen Kelly2013-11-041-0/+1
| | | | | | | | | | This way, a Qt compiled with qreal=float and one linked with qreal=double can not be linked by a single downstream. That is diagnosed at cmake-time. Change-Id: I9183dbcfef181fadea5321d3154948e8258e4a2a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* make qreal double by default on all platformsLars Knoll2013-10-311-0/+16
| | | | | | | | | | | | | | On modern ARM CPUs there is no speed difference between float and double anymore, so let's rather use double for qreal to avoid rounding and precision issues. Like this we also get much better compatibility with our desktop OSes. This is not binary compatible on ARM, but the old behavior can be restored by passing -qreal float to configure. Change-Id: I2a4b61e19a3dfa6b0bd76734cecf2634c97207fc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* export QT_NO_<foo> equivalents to the build systemOswald Buddenhagen2013-10-311-0/+10
| | | | | | | | | | | | | | | | | | | | | this makes it possible to properly exclude entire subprojects based on the availability of features, rather than stuffing every single source file with #ifdefs. the defines are aggregated from the -qconfig <profile>, -no-feature-<foo> and some other configure flags. usage: load(qfeatures) !contains(QT_DISABLED_FEATURES, textarea): SUBDIRS += textstuff Task-number: QTBUG-28102 Change-Id: I83400632d64312fa4b907e1318dddfe27c432387 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
* fix filtering of system pathsOswald Buddenhagen2013-10-311-21/+23
| | | | | | | | | the path filtering functions assume that DEFAULT_{INC,LIB}DIRS are newline separated lists of unquoted strings, which 8fbf959be broke. Task-number: QTBUG-33714 Change-Id: Ie07909963ac5155a8ac79ca9254f34069925e001 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* duplicate less work while handling -qconfigOswald Buddenhagen2013-10-301-11/+12
| | | | | | | Change-Id: I8ba6b866f98c9fe7609af71c168023097e32828c Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: Build libs (including Qt itself) for both simulator and deviceTor Arne Vestbø2013-10-301-0/+9
| | | | | | | | | | | | | | | | | | Conceptually a Qt for iOS SDK or source build should support building for both simulator and device, based on the same qmake binary and Qt libraries. Qt Creator or Xcode should then be able to use the same Qt version while still building for a single target at a time. This applies to user libraries as well, which shouldn't require switching to a different Qt when changing target platform from simulator to device. We achieve this by using Qt's exclusive_build feature, where we build for the two targets in parallel, and then teach Xcode how to choose the right library dynamically at build time. Change-Id: I06d60e120d986085fb8686ced98f22f7047c4f23 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* validate qconfig-*.h against qfeatures.txtOswald Buddenhagen2013-10-291-0/+1
| | | | | Change-Id: I59b7e30cfaa2b1bf2c5d4a3e04b5169f3c9439b5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Rewrite qmake's exclusive-build featureTor Arne Vestbø2013-10-251-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to compute the default exclusive build directory, eg 'debug', at configure time, and then set OBJECTS_DIR, MOC_DIR, etc to include this hard-coded default exclusive build directory. We then had to run a post- process step where we replaced the 'debug' part with the current actual exclusive build pass, eg 'release', resulting in long-standing bugs such as QTBUG-491 where we end up replacing parts of the build output dirs that were not part of the original exclusive build directory. We now set the OBJECTS_DIR, MOC_DIR, etc defaults in configure like before, but they do not include any exclusive-build information. The exclusive build directory is handled as a separate step in default_post where we adjust all entries in QMAKE_DIR_REPLACE to be exclusive directories. For backwards compatibility the new exclusive build behavior is only enabled for variables named by QMAKE_DIR_REPLACE_SANE, which for Qt itself applies globally to everything but DESTDIR, and for libs and tools also applies to DESTDIR. The reason for leaving out DESTDIR in the general case is because many tests and examples assume the old behavior for DESTDIR. A side effect of including all the other variables for Qt libs and tools is that the PCH output dir will be uniformly set, which has been an issue on Windows in the past. The addExclusiveBuilds function now takes two or more arguments, each argument being the key for an exclusive build, which can be customized eg. using $$key.{name,target,dir_affix}. Passing more than two arguments results in three/four/etc-way exclusive builds, eg debug/release/profile. Exclusive builds can also be combined, eg static/shared + debug/release by making two calls to the function. We also handle individual targets of combined exclusive builds, eg static/shared + debug/release, meaning it is possible to run 'make debug' to build both static-debug and shared-debug. Task-number: QTBUG-491 Change-Id: I02841dbbd065ac07d413dfb45cfcfe4c013674ac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove superfluous 'libudev ...' lineKai Koehne2013-10-251-1/+0
| | | | | | | Status for LIBUDEV printed again in the configure output under 'udev ....' Change-Id: I3e0beca4c6de315dc2dfbdc24d83f4d9cd2b8856 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove gstreamer configure test.Robin Burchell2013-10-241-40/+0
| | | | | | | Nothing in qtbase uses gstreamer, so this is just a red herring. Change-Id: I93fb20a70928d84fed8f33ca4c5df38779928f1a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* more escaping of slashes in awk regexpOswald Buddenhagen2013-10-181-1/+1
| | | | | | | | apparently some awks need the regexp delimiters to be escaped even within a character list. Change-Id: I74a77022e134cafa269960c5c88a9a88589f1b95 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* de-duplicate QMAKE_DEFAULT_LIBDIRS after allOswald Buddenhagen2013-10-161-1/+4
| | | | | | | | | | | | but this time without reshuffling it. it's actually easy with awk. this makes the resulting qconfig.pri cleaner (and thus easier to debug). and configure needs a few millisecs less to finish. ^^ QMAKE_DEFAULT_INCDIRS doesn't appear to contain dupes to start with. Change-Id: I9eed2cf853cd15d0d24a885b1c3d69f22ffafb36 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* normalize QMAKE_DEFAULT_{LIB,INC}DIRSOswald Buddenhagen2013-10-161-3/+20
| | | | | | | | | | | the consumers of these variables use the strings for naive text-based "subtraction", which of course doesn't work particularly well when the paths contain "../", "./", and trailing slashes. Task-number: QTBUG-33714 Change-Id: I893c90e6f5c7cf18c9e6cb1e5be825a16509a2a4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* use pkg-config supplied CFLAGS when building with EGLOswald Buddenhagen2013-10-161-0/+1
| | | | | | | | | e.g., -DEGL_API_FB=1 is required for freescale's gpu-viv-bin-imx6 fb driver. Initial-patch-by: Fatih Aşıcı <fatih.asici@gmail.com> Change-Id: I8c8cd60591605e0bc33fcf9de3bfb6ea0d86a570 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix the printing of qmake's output when OPT_VERBOSE=yesThiago Macieira2013-10-151-1/+1
| | | | | | | | | Don't discard stdout, it might contain important information. For example, if qmake crashes, the segfault or similar notification comes to stdout. Change-Id: I53def75f37f134544922cf01b4f2ba7c903351cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* configure: gif driver is always bundled code, so say soMark Brand2013-10-151-1/+1
| | | | | | Change-Id: Ibd228cc63b1f4feb6364e052daa239be14253ec0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: Parse -device-option value correctlyFatih Aşıcı2013-10-111-2/+2
| | | | | | | | | | | | The regular expression does not parse correctly when a device option value contains the character '=' (e.g. QMAKE_CFLAGS="-D_FILE_OFFSET_BITS=64"). In order to break string at the first equal sign and to simplify code, use "cut" command as in other places in configure script. Task-number: QTBUG-33584 Change-Id: I05b474d2ba6bff84c1e40d00475963bab36d94b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove last traces of CoreServices/QT_NO_CORESERVICES on MacTor Arne Vestbø2013-10-111-8/+0
| | | | | Change-Id: Ia603e717f3b37dc982468eb2b7eb781d7529ccb0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Skip qtmacextras moduleSergio Ahumada2013-10-111-1/+1
| | | | | | | | This module doesn't make much sense for iOS. Change-Id: Iadcf3006e1e2bdd97c460e836e91717856cb118c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* iOS: Skip qtconnectivity and qtlocation modulesSergio Ahumada2013-10-071-1/+1
| | | | | | | | These modules don't build for iOS or don't have a backend yet Also organizing the list a bit while we are it. Change-Id: Ic72e897325c9478f66af8e8f879fe6342eb327dc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Bring back Qt4 X11 session management functionality.Teo Mrnjavac2013-09-131-0/+6
| | | | | | | | | | | | | | | Added QXcbSessionManager to the Xcb plugin. QXcbSessionManager inherits from QPlatformSessionManager, it's a port of QSessionManager as it is in Qt 4.8. Minor changes also in QPlatformSessionManager and QGuiApplication to hook it up. Task-number: QTBUG-28228 Task-number: QTBUG-30011 Task-number: QTBUG-33033 Change-Id: I50b33d05a1e32c5278dea339f693713acc870a70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* Add FreeType2 "no/qt/system" configure option with descriptionKonstantin Ritt2013-09-081-0/+13
| | | | | Change-Id: I9510a492efadc0262e689de8fb2ac1750bf253ff Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Rename CFG_LIBFREETYPE to CFG_FREETYPE for consistencyKonstantin Ritt2013-09-081-8/+8
| | | | | Change-Id: Id1c240a849792e6196162662429a72ce2e293ba3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add FontConfig "yes/no" configure option descriptionsKonstantin Ritt2013-09-081-0/+3
| | | | | Change-Id: I30514905d2c5bb3ca4ab176d02f3094badedd0a3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: Skip qtserialport moduleSergio Ahumada2013-09-031-1/+1
| | | | | | | This module doesn't build for iOS yet Change-Id: I625b27a39637c0b816a9136d3eabfe2c0073f108 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-1/+1
|\ | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * Android: Set default to gcc 4.8BogDan Vatra2013-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | The 4.7 version of the toolchain in the NDK has been obsoleted by the introduction of version 4.8. The default can still be overridden if necessary. Change-Id: I042ded92e50dc5ebc4d54ffccc2e6856fc3edba0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add configure options for [experimental] HarfBuzz-NG supportKonstantin Ritt2013-08-271-8/+32
| | | | | | | | | | | | Change-Id: I15f49b56f49ae53c16db904e03f668c3135edaa5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add freetype result info to unix configure outputKonstantin Ritt2013-08-271-0/+1
| | | | | | | | | | | | | | Change-Id: I0393a593a721ec0cd7e7a2490e0fe0453f092934 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Thiago Macieira2013-08-221-2/+78
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-211-2/+78
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/src.pro Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
| | * add configure -extprefix optionOswald Buddenhagen2013-08-151-2/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this adds the possibility to put the actual qt installation outside the sysroot it is configured for. this makes it possible to install an x-built qt without "polluting" the sysroot, which makes it possible to have read-only sysroots, and multiple qt builds for one sysroot. -prefix is the location within the sysroot as seen by the target itself, and gets "burned" into QLibraryInfo in QtCore. -extprefix is the location in the host file system and gets "burned" into QLibraryInfo in qmake. if it is not specified, it defaults to the sysrootified prefix, which is the previous behavior. Task-number: QTBUG-26680 Change-Id: Ia43833c4e27733159afeb8c8b9b2d981378d0cd1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | configure: Abort if Xlib isn't present when building for XCB.Nicolás Alvarez2013-08-211-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | The XCB port is still incomplete and needs Xlib in several places. The configure script should reflect that and make sure Xlib is present. Change-Id: I6d81ea6cacef56084cf7ccfbcf908d597aae918f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | configure: Check for Xrender only when building for XCB.Nicolás Alvarez2013-08-211-18/+18
|/ / | | | | | | | | | | | | The XCB platform plugin is the only one that requires Xrender. Change-Id: Iac2efa31b4b51e38305ee5f635fe38b75c7752de Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | configure: Remove v8snapshot vestigesSergio Ahumada2013-08-201-29/+0
| | | | | | | | | | | | | | Change-Id: I0a43320ca0ab7cc416b07396ebc795215d84fe10 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-141-23/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| * bye-bye .qmake.cacheOswald Buddenhagen2013-08-121-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | well, not really - qt_parts.prf will still create one, but it will be empty. apart from being cleaner, this now finally makes it possible to load an unconfigured qt source tree into qtcreator without random parts of the tree being missing from the project explorer. Change-Id: Ida7ee77ecb450af05bfa66106caf2067b02f1a7f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * reject unrecognized -no-l* optionsOswald Buddenhagen2013-08-051-3/+11
| | | | | | | | | | | | | | | | | | | | the -l* fallback is for adding libraries. it obviously makes no sense in its negated form. Task-number: QTBUG-32550 Change-Id: I9f3af9a2fc059ba39987d4b197ed4778cc7f35b6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * configure: Fix xkbcommon summary outputSergio Ahumada2013-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On systems where xkbcommon >= 0.2.0 the output should be xkbcommon .............. yes (system library) instead of xkbcommon .............. yes Change-Id: I5807946e61814d414a68a15ad96c91f25c9482ee Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>