Commit Graph

766 Commits

Author SHA1 Message Date
Thiago Macieira
11bbacf194 Remove the last remnants of iWMMXt in Qt
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>
2014-08-05 19:23:31 +02:00
Frederik Gladhorn
ea90032685 Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	src/network/ssl/qsslsocket_openssl_symbols.cpp

Change-Id: Ic62419fa1fee5f4de6c372459d72e6e16f9a810b
2014-07-29 12:56:06 +02:00
Bernd Weimer
ec703836b3 Improve dbus cross compilation
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>
2014-07-28 14:08:22 +02:00
Thiago Macieira
86ac3a98b5 Restore Neon "detection" in Qt
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>
2014-07-25 17:48:39 +02:00
Allan Sandfeld Jensen
01c82b945d Introduce qmake feature use_gold_linker
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>
2014-07-23 16:50:08 +02:00
Michael Palimaka
9de7b4d750 Canonicalize inputs when filtering default system paths
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>
2014-07-15 20:18:59 +02:00
Oswald Buddenhagen
84ee3ace0e make qmake failure fail configure
the windows version is already sane in this regard

Change-Id: Ib9c6fa35ede0e5e98b38b7b97086b9245c79d48f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-07 18:20:06 +02:00
Oswald Buddenhagen
b7d8613977 nuke -process/-fully-process/-dont-process options
[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>
2014-07-07 18:19:59 +02:00
Thiago Macieira
5f6af9de48 Add the -qreal option to the Qt ABI information
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>
2014-06-17 17:20:10 +02:00
Thiago Macieira
689e8055f5 Add support for single-file multi-target intrinsics in Qt
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>
2014-05-27 06:26:57 +02:00
Simon Hausmann
508b95899d Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
2014-05-22 07:46:17 +02:00
Thiago Macieira
6315745770 Strip bootstrapped binaries of unused sections
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>
2014-05-19 19:33:15 +02:00
Thiago Macieira
e91e502ab6 Make qmake also use -ffunction-sections
This might lead to a smaller binary if we use --gc-sections too.

Change-Id: I7e17b956a85ecefc3e187054848393d2855152b6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-19 19:33:15 +02:00
Frederik Gladhorn
1326cd15f7 Merge remote-tracking branch 'origin/stable' into dev
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
2014-05-06 16:50:03 +02:00
Jani Heikkinen
16501e32eb Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-04-25 10:55:31 +02:00
Martin Jansa
d7dd22bb29 configure: gtk style related cosmetical fixes
* add -help text for gtkstyle
* use capital GTK in warning message for consistency

Change-Id: Iff522cc49497dda406dd111594857930d82e4231
Reviewed-by: Martin Jansa <Martin.Jansa@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-25 01:37:49 +02:00
Laszlo Agocs
a26e3ecc3d Include GLES 3.0 and 3.1 headers when available
In ES builds configure will now check for OpenGL ES 3.0 and 3.1
availability. This allows qopengl.h to include the correct header
and, by defining QT_OPENGL_ES_3 and QT_OPENGL_ES_3_1, the OpenGL
wrappers can provide support for MapBuffer, VAOs, etc. on GLES 3.0+
too. Right now this is not possible since the only standard way to
use an ES function specific to a given version is to use the function
directly. The extension mechanism (eglGetProcAddress and friends), that
is often used in desktop GL, is not available for such functions.

[ChangeLog][QtGui] QtGui's OpenGL headers are now automatically including
the highest available header (gl31.h, gl3.h or gl2.h) in OpenGL ES builds.

Task-number: QTBUG-38168
Change-Id: Ib857c58fe1696a9546fdd1aa143a9237e80325a5
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-04-24 10:36:07 +02:00
Kai Koehne
bded052aad Windows: Do not link QtCore against ICU by default
Do not link against ICU on Windows, unless it is explicitly requested
('-icu' configure option). This removes the QtCore->ICU dependency
if ICU was detected in the configure environment.

So far ICU has been used in Qt Core for

- support of a larger set of codecs (805 instead of 135)
- more accurate QLocale functionality (QLocale::toUpper,
  qLocale::toLower)
- string collation

However, for all functionality there are also backends using the
Windows API/Registry (QLocale, QCollator), or built-in
codecs that are part of QtCore. Since the ICU dependency is quite heavy
(3 libs with about 25 MB) it seems sensible to not require it by default.

QtWebkit is unaffected, since it has it's own ICU check.

[ChangeLog][Windows] Changed configure defaults so that Qt5Core does not
link against ICU libraries anymore. Pass '-icu' to enable it.

Task-number: QTBUG-38259
Change-Id: I3fd3e8ac0f091f532b04945718c0e4a3cc71a087
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 09:40:44 +02:00
Jani Heikkinen
54c1e5ed22 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Id13b4a3803664692f32f9d57549be8a0c4a08567
2014-04-23 12:42:48 +03:00
Tor Arne Vestbø
b0d996aed1 Build Qt tools for iOS
Change-Id: Ie3dc93e01ed878233c8094ca92bef25a6cf4dcd9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-04-23 06:31:08 +02:00
Oswald Buddenhagen
dcfd36c268 Revert "Automatically link printsupport plugins to static applications."
It has been fully obsoleted by 4255ba40ab.

This reverts commit 99eecab83d.

Change-Id: Id7b8d3bba27ff43e38e4fe32a4f2950de9ced493
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-18 07:44:57 +02:00
Paul Eggleton
0c3301f0b1 configure: make pulseaudio and alsa configurable options
Allows disabling pulseaudio and alsa support at configure time
making builds more deterministic.

Change-Id: I4f1719cf831458b1d5ad3ebc01f6782b897d392c
Reviewed-by: Martin Jansa <Martin.Jansa@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Kalle Viironen <kalle.viironen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-17 14:56:07 +02:00
Wolfgang Bremer
865c181fbd Make objcopy config test cross platform functional
This removes the old objcopy.test script and adds a cross platform
qmake project for auto detection.

Change-Id: Icc7c40d72fb0ff751d214b7351e20652f7b15945
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-14 12:21:50 +02:00
Konstantin Ritt
ef77c16cb0 Make HarfBuzz-NG the default shaper on Mac
For AAT shaping support, we need either the pre-QPA shaping trick
or the new HarfBuzz on Mac; prefer the latter.
Disable some test cases aimed to test the HB-old behavior; enable ones
that should guarantee shaping-unaware behavior.

[ChangeLog][OS X] Use CoreText text shaping engine for support of
complex scripts. If required, the shaping engine used in previous
versions can be preferred by configuring Qt with -no-harfbuzz.
Alternatively, the QT_HARFBUZZ environment variable could be set to "old".

Task-number: QTBUG-18980 (relates)
Task-number: QTBUG-38246
Change-Id: Iee6fe4f5bc047e77259182b8585385c5febd02b3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-04-14 06:43:54 +02:00
Oswald Buddenhagen
4e0c9fbb8f fix typo in qmake source file list
the effect of this is negligible, as this list is only used for
dependency scanning.

Change-Id: Iae9fc73c8633cfc8217bc90014498d9635d53ad0
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-09 20:53:06 +02:00
Alex Blasche
b81898f1db Don't skip QtLocation on iOS.
QtPositioning is supported on iOS since Qt 5.3.

Task-number: QTBUG-37792
Change-Id: I74729f0c99c49858032b68dd0e7c9e628ae77b12
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-04-08 05:16:58 +02:00
Gatis Paeglis
bd40a7cc44 Update bundled libxkbcommon version to 0.4.1
This is the latest version, released on Mar 27 2014. It includes:

https://bugs.freedesktop.org/show_bug.cgi?id=75798
https://bugs.freedesktop.org/show_bug.cgi?id=75892

Required for fixing input when running Qt application on Mac OS X
with XQuartz and for fixing QTBUG-36281.

Change-Id: Idc4d3c99a4008a10b91ab51c8910b36909974703
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-03 14:20:19 +02:00
Wolfgang Bremer
bfee43349f Fixes related to evdev in the configure script
This adds evdev to the help, configure status output and will include
it in the qconfig.h.

Change-Id: Ibc07516ab07e7c53ec89b167d604f5cefa2d92b7
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-03 14:18:42 +02:00
Simon Hausmann
30b334ffeb Remove docs for javascript core jit configurability
This should've been removed in commit 24f1025663

Task-number: QTBUG-37832

Change-Id: I3404f17c904dbb462773f40371d09b0e58a0930d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-01 23:28:17 +02:00
Kalle Viironen
3c070b58b2 Use configure -confirm-license option also in commercial Qt versions
Pass the -confirm-license option to external license checker which is
used in Qt commercial version.

Change-Id: I62326d1e6a8307dae64535ecf2ced762130b7e8f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Samuli Piippo <samuli.piippo@digia.com>
2014-04-01 11:15:52 +02:00
Kalle Viironen
ebcb5c176f Externalize license key handling from configure
Enterprise only license key handling removed from configure.
This does not affect the functionality of the Open Source version nor
the enterprise version.

Change-Id: I01736eba3066c56b6e50e022fae8de6aa9bd884b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-25 12:50:28 +01:00
J-P Nurmi
ecf6aa2dca configure: Disable XCB auto-detection on Mac
Users might have (old) libxcb installed on OS X, for instance as
a dependency for another package installed via MacPorts. It's still
very unlikely that any Mac user would want to use the XCB platform
plugin. Thus, disable the auto-detection to avoid a dubious XCB
configuration error on Mac.

Change-Id: I11d21aad255925883d6841444baa13a29f1a26b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2014-03-22 12:56:06 +01:00
Oswald Buddenhagen
d278695e56 make -separate-debug-info sane
don't make it add -g flags all of its own, but instead rely on debug
info being already present.

Change-Id: Ifb6b33709689e979768963ae0b9f3dca4fc77eef
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-20 10:36:34 +01:00
Oswald Buddenhagen
5915fb969f purge -separate-debug-info=nocopy
clearly, this was a poor man's implementation of -force-debug-info.

Change-Id: Ib5c7e390bd0e3a6912af8c4027074a114ed33f8a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-20 10:36:34 +01:00
Oswald Buddenhagen
085a9f0822 make -separate-debug-info configure tests sane
as the option needs to be explicitly requested, just error out when
objcopy is bad.
also, disabling it after performing the test successfully isn't a very
clever thing to do. hpux is dead anyway, so just remove that logic.

Change-Id: I923a3912fc29da646c492c27aa29091ffeb2e42d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-20 10:36:34 +01:00
Oswald Buddenhagen
64ffc07520 do not silently accept -separate-debug-info -static
these options are mutually exclusive.

Change-Id: Ia401edc543a2c2a111798fb4de4db453762efb64
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-03-20 10:36:34 +01:00
Gatis Paeglis
b19b080894 Update bundled libxkbcommon version to 0.4.0
This release comes with important bug fixes. Also we can now
remove the workaround code which was needed for libxkbcommon 0.2.0.

Task-number: QTBUG-31712
Task-number: QTBUG-33732
Task-number: QTBUG-34056

Change-Id: I57caf7f803b9a01a15541a5ad82e464de3b8abbb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-19 15:42:13 +01:00
Laszlo Agocs
2861a4d109 Fix no-opengl build with egl
Disable eglfs and similar plugins when opengl is not enabled.
(but egl is present)

GL-dependent parts of eglconvenience need to be skipped too.

Task-number: QTBUG-37457
Change-Id: I44d49495241551bc7b1f565aa0b5ace9f310628e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-03-17 13:31:14 +01:00
Kalle Viironen
b9ec3e895f Remove definition QT_EDITION
Remove definition QT_EDITION which was set in configure
since it is not used anywhere anymore.

Change-Id: I5c30ab47c6244fcb07707fd05e11decf2068f6d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-13 13:27:46 +01:00
Gatis Paeglis
9b33aecb9b Remove unused QMakeVar QT_NO_XCB
Grepping in Qt source code for QT_NO_XCB didn't find any
references to this variable.

Change-Id: Iabe5679f8b066facede2ac3bfc8c14ec4c0473a2
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-03-07 11:11:53 +01:00
Gatis Paeglis
e9ce4fcffa Remove usage of QT_NO_SHAPE
First of all QT_NO_SHAPE was never set in configure script, which
means that !contains(DEFINES, QT_NO_SHAPE):LIBS += -lxcb-shape always
was true and we were linking to -lxcb-shape no matter what.

Secondly, we are providing shape.c in qtbase/src/3rdparty/xcb/libxcb, so
users always have an -qt-xcb option available to get this extension.

Change-Id: I7d14a0ac5ca6e36fb9c053225916cae41028b532
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-03-07 11:11:47 +01:00
Gatis Paeglis
1664458f63 Improve xkb config root detection
Relevant part from libxkbcommon's configure.ac file:

xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config`
if test "x$xkb_base" = x; then
xkb_base=$datadir/X11/xkb
fi
AC_ARG_WITH([xkb_config_root],
[AS_HELP_STRING([--with-xkb-config-root=<path>],
[Set default XKB config root (default: xkeyboard-config install path)])],
[XKBCONFIGROOT="$withval"],
[XKBCONFIGROOT="$xkb_base"])
AC_SUBST([XKBCONFIGROOT])

This patch implements an equivalent logic in Qt's configure script (with some
additions).

Change-Id: I25968f76021e120e2439d2756121bbe3c5e18c98
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-06 12:21:14 +01:00
Thiago Macieira
02c8306da6 Fix the name of the GPLv3 license file
Qt 4 used to have it called LICENSE.GPL3 since we used to have GPLv2 as
an option before Qt 4.5 (which is when we added the LGPL v2.1). Looks
like no one realized that the configure script looks for that file when
LICENSE.GPL was added to the modularized repositories...

Task-number: QTBUG-37175
Change-Id: Iffb35adf128c3e49a7a0c12dbccd5ebe9bccf3f2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-06 12:21:14 +01:00
Oswald Buddenhagen
13455344d7 move generation of qconfig.h forwarding headers to qtbase.pro
less platform-specific code. the qfeatures.h generation is already here.

Change-Id: Ied69fb431eed5816fbff63b33be431ee913c2bc8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-02-28 03:17:11 +01:00
Jorgen Lind
24f1025663 Remove the option to force no JIT in javascript core
Change-Id: I81a9968b360cf889f92e690cdf4028692b904a0c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-02-26 12:58:00 +01:00
Thiago Macieira
1704cecfac Re-group and re-sort the configure output
G does not come after I. That's actually my fault, in the original
commit. But some options have been added since then in the wrong place
and/or using wrong settings for the report_support function.

Change-Id: Ib3f7d58a41059e5e7f97fd0e223b9629664686ad
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-02-22 04:38:25 +01:00
Bernd Weimer
fa8e6d5083 QNX: Add support for lgmon
Added configure test, whether lgmon (liquid graphics performance monitor)
is available. The test is supposed to be positive only for internal
BlackBerry NDKs currently.
Added calls to initialize lgmon and to indicate when an app is ready for
user input.

Change-Id: I5cbc29fb38a86585dcebd14d462436deaa1998aa
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
2014-02-14 10:51:44 +01:00
Laszlo Agocs
54835e3ccf Make xcb compile with X-less EGL implementations
On platforms like the Raspberry Pi the EGL implementation is not
compatible with X. This means that while EGL and Open GL ES can be enabled,
and will work fine with platform plugins like eglfs, EGL (and thus GL) should
be automatically disabled in xcb, otherwise a compilation error will occur
since xcb assumes the native handle types are the corresponding Xlib types.

Task-number: QTBUG-36551
Change-Id: I2cc4c558abb4b25d422a2c01da9b75b865ace402
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-02-09 20:03:29 +01:00
Friedemann Kleint
99eecab83d Automatically link printsupport plugins to static applications.
Add the required printsupport plugins to the QTPLUGIN variable
as is done for the QPA plugin.

[ChangeLog][QtPrintSupport] Made the Qt buildsystem automatically include the
necessary plugins so that static applications can print.

Task-number: QTBUG-29663
Change-Id: I0e2e3b0f25dd5714bd187711c85893926b0c4e85
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-08 13:34:37 +01:00
Gatis Paeglis
b0e6bc42eb Set QMAKE_X11_PREFIX also when Qt configure with -qt-xcb
Change-Id: Ib9ca7edb1e914275a415b6c74ef691838415a40f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-02-04 20:57:06 +01:00
Konstantin Ritt
2d576f79f7 Make HarBuzz-NG the default shaper on Mac
Since we dropped all platform-related shapers during the
QPA refactoring, thus making HarfBuzz the only shaper on all
platforms, we can not deal with AAT-capable fonts anymore.
HarBuzz-NG now supports it's own shaper backend infrastructure,
so the decision was to enable HB's CoreText shaper backend on Mac
and simply make HB-NG the default shaper there.

Task-number: QTBUG-36056

Change-Id: If22e24fd5cc00c25952934332a2f4123f38135a4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-01-31 12:07:59 +01:00
Tor Arne Vestbø
f550ced3aa Don't rely on makedepend on OS X
It's not shipped as part of the default installation, but the binary
in /usr/X11R6/bin/makedepend exists and will trigger a dialog that
asks you to install X11. This is not needed when we can use the
compiler to resolve the dependencies for us.

Change-Id: I67e35a63d0f7101b7673127228df4dcefd3c1fdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-01-25 03:04:24 +01:00
Tor Arne Vestbø
b2f8a70890 iOS: Enable building of basic tests
Allows us to sanity check the iOS build in the CI.

Change-Id: I16f9bfafef3988dcab6efd3155503ca0d0b4d1d8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-01-22 12:35:17 +01:00
Frederik Gladhorn
46791c08e1 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-01-21 17:57:54 +01:00
Robin Burchell
f81de3944d Support logging direct to journald, if enabled.
Instead of merely intercepting logging output from stdout/stderr from the
journal side of started processes, this has the advantage of meaning that the
origin process name will be correct.

fprintf won't work, because if a process starts children (like e.g. a
homescreen does), then their stdout/stderr are merged into their parent, and
journal has no way of differentiating the origin.

We are also able to store information about the context of logging, which might
be useful in post-mortem cases.

[ChangeLog][Platform Specific Changes][Linux] Systems with systemd may now pass
-journald to configure to send logging output to journald. Logging will still be
sent to stderr for interactive applications (run from a tty) or with
QT_NO_JOURNALD_LOG set to a non-empty value.

Change-Id: Ib260cec1ea87390bf44f267d217d795583407d00
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-21 01:59:37 +01:00
Gabriel de Dietrich
38813a3b32 Use pkg-config to find the prefix for X11 install
Needed to run the XKB extension where we used to expect X11 to be
installed in /usr. In FreeBSD, for instance, X11 is installed in
/usr/local like all the other not out-of-the-box packages.

Same thing goes for the compose platform input context plugin.

Change-Id: Ib7ace3117eaacc6e150394450d1330cba654ba8a
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2014-01-20 19:24:39 +01:00
Frederik Gladhorn
9033977d39 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/corelib/tools/qstring.cpp
	src/gui/image/image.pri
	src/gui/image/qimage.cpp
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
	tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp

Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
2014-01-20 18:18:59 +01:00
Olivier Goffart
eae8abbc18 Fix detecting the system path
The normalize function don't do well it's job.
Given a path like that,  the regexp "/[^/]+/.."  will match 3 times
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../include/c++/4.8.2
                                      [       ][    ][         ]
The second match is wrong as it will remove /../..

Use sub instead of gsub which only remove one match at the time.

Change-Id: I0657bc603e521c9e53b9f50d2481dce184b64bad
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-18 09:18:01 +01:00
Tor Arne Vestbø
e5066a3a2e Remove last traces of QT_COMPILER_SUPPORTS_NEON
Fixes ARM build, as the NEON drawhelpers and image conversion functions
were ifdef'ed out.

Follow-up to 1b12c0608b.

Change-Id: I0b5e89c8f445741432db2dfe1f8d971b971c8605
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-16 21:51:40 +01:00
Thiago Macieira
1b12c0608b Remove runtime detection of Neon on ARM CPUs
Now the only way to enable Neon support is to change the mkspec.

[ChangeLog][Important Behavior Changes] Qt no longer checks for
support for the Neon FPU on ARM platforms at runtime. Code optimized
for Neon must be enabled unconditionally at compile time by ensuring
the compiler supports Neon. You may need to edit your mkspec for that.

Task-number: QTBUG-30440
Change-Id: I4df9b2bf3cd022f8ed70f02f16878cb2cb3fe6fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-01-16 02:59:49 +01:00
Oswald Buddenhagen
bd57e86388 consistently use single quotes to quote sed & tr arguments
... except where they actually contain variable expansions.
unescaped backslashes in double quoted strings aren't nice, and
apparently actually break with old solaris shells.

Task-number: QTBUG-14167
Change-Id: I703694b6ac7ab71d9293c049d77212e20dd5bcb0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-01-15 21:32:41 +01:00
Laszlo Agocs
d94830035b Run non-xcb X tests also with -no-xcb
Passing -no-xcb disables xcb and related configuration tests
completely so for example QT_NO_XRENDER is not defined.  This results
in linker errors in glxconvenience with -no-xcb since the XRender
calls are compiled in without linking to the library.

The XRender, XInput and such tests are not strictly xcb related and
may be used from elsewhere, for example glxconvenience which has
nothing to do with xcb. Therefore these tests are moved in configure
so that they are run even when xcb is disabled.

Task-number: QTBUG-35644
Change-Id: I77871612ea5f6711ecafd8ca53aac6c516c19e2e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-15 21:32:41 +01:00
Tor Arne Vestbø
c3c3dcf87d iOS: Enable C++11
We already require iOS 5.0 for deployment.

Change-Id: Idc175892297aacc904888b7f213318e5df69f975
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-01-13 16:33:00 +01:00
Jürgen Hunold
c6b91576a6 Use custom -I,-D and -L flags when building arch-test
Needed for using alternate stdlib implementation like libc++ with clang.

Change-Id: I1782f62f5e2ea95e6cff8a1ed646362c0a31645c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-01-10 17:14:29 +01:00
Frederik Gladhorn
c8046f7d42 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I0b021b369725b73f09faa14b9da9e2431dc24fad
2014-01-06 15:26:02 +01:00
Thiago Macieira
e4aeace515 Keep the configure listing of features alphabetical
Change-Id: I0786b26a89e3e592bc47cb016ee7876ea7238c69
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-04 01:54:04 +01:00
Simon Hausmann
b5ab7ee0d7 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
2014-01-03 14:30:21 +01:00
Robin Burchell
0336202749 Add mtdev configure test
Change-Id: If989b479ed4babf902099c54be59ae73512820d5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-30 13:55:51 +01:00
Frederik Gladhorn
f0fbff4c90 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
2013-12-24 00:56:59 +01:00
Oswald Buddenhagen
9bebb025af handle configure's -I flags like configure.exe does
it's more correct that way.

Task-number: QTBUG-35588
Change-Id: I8dc55d6cd7dc08ebafd458b3df54fd69c3d91849
Reviewed-by: William Gallafent <william@gallaf.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-12-22 11:54:03 +01:00
Frederik Gladhorn
3f3be55835 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/kernel/qplatformtheme.h
	tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
	tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp

Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
2013-12-16 16:59:33 +01:00
Thiago Macieira
98663a8311 Remove unused -sse (CFG_SSE) option
This is a left-over from the cleanup of MMX/3dNow!/SSE support, which we
no longer have in Qt.

Change-Id: I48388710a499bddb518ae3c2b8a4ad989482f58c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-12-09 17:28:18 +01:00
Thiago Macieira
a071ba629b Cascade detection of SSE3 support and up
If SSE2 isn't supported, then SSE3 can't be either. Onwards and upwards
for SSSE3, SSE4.1, SSE4.2 and AVX. The test for AVX2 was already there.

Task-number: QTBUG-24773
Change-Id: I005258db52d8abcd407a99b8ebcc23cdea8e3d9f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-12-09 17:28:18 +01:00
Simon Hausmann
25b390256b Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-12-09 10:13:48 +01:00
Thiago Macieira
8be546d107 Revert "Move the glxfbconfig configtest to qpa and rename it to glx"
This reverts commit a2d3b7c991. That
commit broke -opengl es2 builds on Linux desktops (when GLX is
available).

/usr/include/GL/gl.h:162:17: error: conflicting declaration ‘typedef double GLdouble’
qopengl.h:97:17: error: ‘GLdouble’ has a previous declaration as ‘typedef GLfloat GLdouble’

Change-Id: Id5f48c05803be1a8c03eeffca139b80e9a85a0eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-12-07 21:17:07 +01:00
Frederik Gladhorn
2a32fc38dd Fix configure option display
This got messed up in merge 4a8273a6fc
thanks to automatic conflict resolution.

Change-Id: Idbe1545c7d3ee0580bf2c1381dd3e8b2191dc3e8
Reviewed-by: Michael Brasser <michael.brasser@live.com>
2013-12-06 15:06:47 +01:00
Frederik Gladhorn
f6dbdd9c16 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/sql/drivers/sqlite/qsql_sqlite.cpp

Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
2013-12-05 18:52:38 +01:00
Frederik Gladhorn
733ace5a7a Merge remote-tracking branch 'origin/release' into stable
Conflicts:
	configure
	mkspecs/macx-ios-clang/features/default_post.prf
	tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp

Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
2013-12-05 17:42:33 +01:00
Andrew Knight
fcfb62626b configure: Properly report xcb-xlib configuration
d34cae51 introduced a new configuration parameter, xcb-xlib, but did not
remember to set the internal variable after the config test was run,
resulting in a potentially incorrect reporting of the option.

Change-Id: I979589d9aad2eb5e0fac069dfcd5b329a51ae059
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-12-03 20:02:41 +01:00
Oswald Buddenhagen
edd51e4486 Revert "configure: Abort if Xlib isn't present when building for XCB."
the change is wrong for multiple reasons:
- it is possible to build qt (the offscreen plugin) with xlib but
  without xcb, which was impossible after the change
- the check was built in a way that if xcb is auto-detected but xlib is
  missing, configure would abort (instead of disabling xcb), which is
  unreasonable (cf. linked task)
- it should be possible to build the xcb plugin without xlib - it's
  testing for xcb-xlib and should have the correct #ifdefs. if these are
  broken, they should be fixed. if this is unrealistic, the build system
  should be adjusted to this fact ... differently.

This reverts commit 683451e7c7.

Task-number: QTBUG-34382
Change-Id: I1c5811e2fb1f09b084b6aeb7350e5f376e1b9b82
Reviewed-by: Nicolás Alvarez <nicolas.alvarez@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-12-03 11:41:12 +01:00
Fatih Aşıcı
1b07e4e315 Detect posix_fallocate at configure time
Testing feature macros is not enough for uclibc. Fixes build of the built-in
sqlite3 with uclibc <= 0.9.33.2. Later versions will have posix_fallocate().

Change-Id: I918a52777ac63624635802221effc6b86fa2269c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-12-01 14:46:48 +01:00
Frederik Gladhorn
777cdb00e7 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ibb342cc5fc55ff9a3f4b3ecbd53936b57bc13e63
2013-11-29 15:59:34 +01:00
Jorgen Lind
a2d3b7c991 Move the glxfbconfig configtest to qpa and rename it to glx
We require glx version 1.3 which is where fbconfig is first defined.
Also make use of the configure test and report the glx status.
GLX support should always take precedence when compiling the
xcb backend

Change-Id: Ie46834210bf5cd2ac4006ff08379e0d3434ffa2b
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-11-28 12:57:33 +01:00
Andrew Knight
d34cae51fa Add new configure parameter for Xcb-Xlib
This adds a new configuration parameter, xcb-xlib, which allows
overriding the configure test for that existing configuration option.

The use of xcb-xlib in the xcb platform plugin becomes the preferred path
for non-OpenGL ES 2 builds, while the EGL codepath is used otherwise.
This has the advantage that EGL can be used with Desktop OpenGL if Qt is
configured with -no-xcb-xlib.

Change-Id: I5018e31fe0399b94f020c671eff9414d00431c44
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-11-28 12:57:33 +01:00
Albert Astals Cid
95ffd606f8 Do not disable egl on desktop gl automatically
desktop opengl and egl are not incompatible with eachother, so there
is no need to disable egl when on desktop opengl

Task-number: QTBUG-34949

Change-Id: I757c38674a480910d1cb23853c255eb993e107ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-11-27 13:14:26 +01:00
Frederik Gladhorn
4a8273a6fc Merge remote-tracking branch 'origin/stable' into dev
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).

Conflicts:
	configure
	qmake/generators/win32/msvc_nmake.cpp
	src/3rdparty/angle/src/libEGL/Surface.cpp
	src/angle/src/common/common.pri
	src/corelib/global/qglobal.h
	src/corelib/io/qstandardpaths.cpp
	src/plugins/platforms/qnx/qqnxintegration.cpp
	src/plugins/platforms/qnx/qqnxscreeneventhandler.h
	src/plugins/platforms/xcb/qglxintegration.h
	src/widgets/kernel/win.pri
	tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
	tools/configure/configureapp.cpp

Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
2013-11-26 22:35:48 +01:00
Frederik Gladhorn
3061dc4abd Merge remote-tracking branch 'origin/release' into stable
Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
2013-11-26 10:51:34 +01:00
Oswald Buddenhagen
40290b06d3 actually complain about invalid -[no-]{sql|imageformat}-* options
Change-Id: I0530d7dcdeb944db76bc708512c57e537f2c95c8
Reviewed-by: Vladimir Minenko <vminenko@rim.com>
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-25 17:11:26 +01:00
Andy Nichols
344a7c540b iOS: Do not skip building QtGraphicalEffects module
The QtGraphicalEffects module is a QtQuick2 only module so it is clear
why it was left out before iOS had support for QtQuick2, but now it
should be built by default.  This commit removes QtGraphicalEffects from
the iOS module "skip list".

Change-Id: Ie0890f6784ad6e276e80bf7a11195c141ca23332
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 15:09:44 +01:00
Andy Nichols
0835859dd5 iOS: Do not skip building QtQuickControls module
The QtQuickControls is supported for 5.2 though it does not provide
the system native "look and feel".  This patch removes the module from
the iOS module "skip list".

Task-number: QTBUG-35033
Change-Id: Icad479f2e4651c02e569e8a86cfe5ac912d8ed10
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-25 15:09:40 +01:00
Andy Nichols
d86f045082 iOS: Do not skip building QtMultimedia
QtMultimedia is supported in Qt 5.2 and should be built by default, so
it has been removed from the module "skip list"

Task-number: QTBUG-35039
Change-Id: Id43f997251bf392b7f6c0166ee06b7364ce30b8e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-25 15:09:36 +01:00
Oswald Buddenhagen
63606d6a39 simplify setting XPLATFORM_MINGW
no need for a separate case block.

Change-Id: I8e9f460bc28ea29ff688fde0d777b168440196e1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-25 14:28:17 +01:00
Oswald Buddenhagen
dac5fbaa2d move android variable initialization to a sane place
it's beyond me how it landed in the middle of the sql driver detection.

Change-Id: I7d1302e3440b8828a291e3009e9b130a2fdf165f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-25 14:28:14 +01:00
Andreas Holzammer
ca2440e2b1 Add PPS configure check
Plain QNX 6.5.0 does not have a libpps, the new QNX
has a libpps and BlackBerry has it as well. So we need
a configure check to not open another mkspec for this
platform. This fixes the plain QNX 6.5.0 build.

Change-Id: Id4b3876f2385bcb5f3df426945532e7e26133f24
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-23 15:45:35 +01:00
Frederik Gladhorn
ff4ad44b69 Merge remote-tracking branch 'origin/release' into stable
Conflicts:
	configure

Change-Id: I0d31f23483ea67c4cac5af16014366e1ba5ac093
2013-11-20 17:16:59 +01:00
Oswald Buddenhagen
02556c0dc5 clean up mess surrounding PLATFORM_MAC
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>
2013-11-20 12:40:06 +01:00
Oswald Buddenhagen
f0524cedda consolidate all license checking in the earliest place possible
... 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>
2013-11-20 12:40:06 +01:00
Oswald Buddenhagen
a6b9729d1c don't initialize build dir earlier than necessary
this way, platform detection (and later license checking) become
(mostly) read-only operations.

Change-Id: I4c5ffcf80feadfeee2c6e927cf0285f46fa6ea43
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-20 12:40:06 +01:00
Oswald Buddenhagen
078ad536c8 print help right after parsing command line
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>
2013-11-20 12:40:06 +01:00
Frederik Gladhorn
c83c08d84f Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-11-20 12:18:23 +01:00
Oswald Buddenhagen
558b0a24d6 make help independent from options and environment
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>
2013-11-20 08:04:12 +01:00
Oswald Buddenhagen
925899dcd6 do CONFIG+=silent after configure tests
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>
2013-11-20 08:04:07 +01:00
Oswald Buddenhagen
862fbd98cd move some option validations to more relevant places
minimizing the amount of code executed before platform detection.

Change-Id: Ib2c0d97ce5040ced8c4c41d74f428fe7d0f75664
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-20 08:04:04 +01:00
Oswald Buddenhagen
d1990a7132 don't automatically display help on error
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>
2013-11-20 08:03:59 +01:00
Oswald Buddenhagen
c9692fbd6e remove hacks to support solaris 2.[56] and aix < 5
moving dead code out of the way of further refactoring.

Change-Id: If558406cdf13d61478634dd7eff644dc67b0e53d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-20 08:03:51 +01:00
Oswald Buddenhagen
7faf1a73ef initialize WHICH, AWK, PERL and MAKE a bit earlier
have this option independent code out of the way before starting option
processing.

Change-Id: I5a08caeb25689b155c256ef82505c000112f5039
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-20 08:03:45 +01:00
Jorgen Lind
20272ad6e5 Fix configure script to not dictate OpenGL ES 2 when EGL is enabled
Change-Id: I4d940ef436f21fd915f3d03558fd4fb4c7b3e5b7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-19 10:14:39 +01:00
Tor Arne Vestbø
08d7bacacc configure: Document that -sdk only applies to the target mkspec
Change-Id: Ie4a9e7c9d2888f92aa891ba8fcc034ea49b22de2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-14 19:26:20 +01:00
Stephen Kelly
d35c8fe521 CMake: Add the qreal typedef type to the Qt5::Core target.
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>
2013-11-04 16:25:39 +01:00
Lars Knoll
d8bf317546 make qreal double by default on all platforms
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>
2013-10-31 22:01:40 +01:00
Oswald Buddenhagen
3b6b615334 export QT_NO_<foo> equivalents to the build system
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>
2013-10-31 19:49:15 +01:00
Oswald Buddenhagen
67c9b5ad9f fix filtering of system paths
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>
2013-10-31 12:33:55 +01:00
Oswald Buddenhagen
54c8c7a96a duplicate less work while handling -qconfig
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>
2013-10-30 23:26:58 +01:00
Tor Arne Vestbø
e7bda8ee10 iOS: Build libs (including Qt itself) for both simulator and device
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>
2013-10-30 13:09:47 +01:00
Oswald Buddenhagen
d7a0d243a9 validate qconfig-*.h against qfeatures.txt
Change-Id: I59b7e30cfaa2b1bf2c5d4a3e04b5169f3c9439b5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-29 15:38:06 +01:00
Tor Arne Vestbø
c760d2dbfd Rewrite qmake's exclusive-build feature
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>
2013-10-25 20:50:51 +02:00
Roger Maclean
10014e0831 Add configuration for building with imf support on QNX
Avoid need to modify qnx.pro in src/plugins/platforms/qnx to
build with imf support.  By default detects if necessary headers
and libraries are available.  Can also be explicitly requested or
disabled with -imf and -no-imf options.

Change-Id: I3f9780fc189a33e4c93fb4f950111121f8e947c3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-25 20:17:40 +02:00
Kai Koehne
39cffc4e34 Remove superfluous 'libudev ...' line
Status for LIBUDEV printed again in the configure output under 'udev ....'

Change-Id: I3e0beca4c6de315dc2dfbdc24d83f4d9cd2b8856
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-25 14:51:30 +02:00
Robin Burchell
e25a4faf4a Remove gstreamer configure test.
Nothing in qtbase uses gstreamer, so this is just a red herring.

Change-Id: I93fb20a70928d84fed8f33ca4c5df38779928f1a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-24 20:20:59 +02:00
Oswald Buddenhagen
c7d34a6cd0 more escaping of slashes in awk regexp
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>
2013-10-18 18:01:54 +02:00
Oswald Buddenhagen
15188f2599 de-duplicate QMAKE_DEFAULT_LIBDIRS after all
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>
2013-10-16 17:10:15 +02:00
Oswald Buddenhagen
c026405093 normalize QMAKE_DEFAULT_{LIB,INC}DIRS
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>
2013-10-16 17:10:15 +02:00
Oswald Buddenhagen
5d4eda7833 use pkg-config supplied CFLAGS when building with EGL
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>
2013-10-16 17:10:15 +02:00
Thiago Macieira
74f2a1bd47 Fix the printing of qmake's output when OPT_VERBOSE=yes
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>
2013-10-15 23:58:15 +02:00
Mark Brand
407ac121b9 configure: gif driver is always bundled code, so say so
Change-Id: Ibd228cc63b1f4feb6364e052daa239be14253ec0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-15 12:16:26 +02:00
Fatih Aşıcı
4723f3fd04 configure: Parse -device-option value correctly
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>
2013-10-11 21:03:18 +02:00
Tor Arne Vestbø
f9889534d1 Remove last traces of CoreServices/QT_NO_CORESERVICES on Mac
Change-Id: Ia603e717f3b37dc982468eb2b7eb781d7529ccb0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-11 18:49:25 +02:00
Sergio Ahumada
65855d9d68 iOS: Skip qtmacextras module
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>
2013-10-11 18:47:27 +02:00
Sergio Ahumada
51c04e292e iOS: Skip qtconnectivity and qtlocation modules
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>
2013-10-07 19:09:37 +02:00
Teo Mrnjavac
060b862b61 Bring back Qt4 X11 session management functionality.
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>
2013-09-13 11:47:06 +02:00
Konstantin Ritt
69e21f1a86 Add FreeType2 "no/qt/system" configure option with description
Change-Id: I9510a492efadc0262e689de8fb2ac1750bf253ff
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-08 10:29:08 +02:00
Konstantin Ritt
1ae448acbd Rename CFG_LIBFREETYPE to CFG_FREETYPE for consistency
Change-Id: Id1c240a849792e6196162662429a72ce2e293ba3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-08 10:29:04 +02:00
Konstantin Ritt
3493b8058a Add FontConfig "yes/no" configure option descriptions
Change-Id: I30514905d2c5bb3ca4ab176d02f3094badedd0a3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-08 10:29:00 +02:00
Sergio Ahumada
89ee4a50b0 iOS: Skip qtserialport module
This module doesn't build for iOS yet

Change-Id: I625b27a39637c0b816a9136d3eabfe2c0073f108
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-09-03 14:31:06 +02:00
Frederik Gladhorn
190fa97c83 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	examples/widgets/doc/src/addressbook-fr.qdoc

Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
2013-08-27 22:51:09 +02:00
Konstantin Ritt
3aa163491c Add configure options for [experimental] HarfBuzz-NG support
Change-Id: I15f49b56f49ae53c16db904e03f668c3135edaa5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-27 18:05:08 +02:00
Konstantin Ritt
370ea08f77 Add freetype result info to unix configure output
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>
2013-08-27 18:04:55 +02:00
BogDan Vatra
9863188431 Android: Set default to gcc 4.8
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>
2013-08-22 21:34:35 +02:00
Thiago Macieira
c374f4441a Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-08-22 02:04:39 +02:00
Nicolás Alvarez
683451e7c7 configure: Abort if Xlib isn't present when building for XCB.
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>
2013-08-21 23:50:18 +02:00
Nicolás Alvarez
2e9345b627 configure: Check for Xrender only when building for XCB.
The XCB platform plugin is the only one that requires Xrender.

Change-Id: Iac2efa31b4b51e38305ee5f635fe38b75c7752de
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-21 21:13:09 +02:00
Frederik Gladhorn
c8ca300e49 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	qmake/doc/src/qmake-manual.qdoc
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/src.pro

Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
2013-08-21 11:03:18 +02:00
Sergio Ahumada
1696f45d92 configure: Remove v8snapshot vestiges
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>
2013-08-20 23:00:34 +02:00
Oswald Buddenhagen
a6eb28d3f6 add configure -extprefix option
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>
2013-08-15 18:02:42 +02:00
Frederik Gladhorn
5c23199d4e Merge remote-tracking branch 'origin/stable' into dev
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
2013-08-14 09:06:31 +02:00
Oswald Buddenhagen
ae95f28997 bye-bye .qmake.cache
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>
2013-08-12 19:01:45 +02:00
Sergio Ahumada
4780e5326f Integrate gcov support into Qt build system.
To instrument a Qt application or library with the gcov coverage
tool, do `CONFIG+=gcov' in the application .pro file.

To instrument Qt itself with gcov, use the `-gcov' configure
option.

Change-Id: If24e91d95318609b0df1a76ed6d679bd92bcaab2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-07 13:38:07 +02:00
Oswald Buddenhagen
6901d21c1d reject unrecognized -no-l* options
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>
2013-08-05 20:15:53 +02:00
Sergio Ahumada
8c35db5c72 configure: Fix xkbcommon summary output
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>
2013-08-05 13:26:15 +02:00
Sergio Ahumada
ded8c6a08f configure: Fix qtwebkit-examples-and-demos -> qtwebkit-examples
Change-Id: I950912a883c263ee4bbae4d1da53c66aa870be70
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-31 14:52:07 +02:00
Simon Hausmann
d37db71323 Remove hard-coded disabling of qtdeclarative on iOS
Instead the module decides now itself whether it supports iOS or not, because
soon it will enable itself :)

Change-Id: I4802441f0a01ed62966a7a0e66f5a8ccfe843cb8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-31 10:20:52 +02:00
Tor Arne Vestbø
a52d634440 Fix warning in configure about not using 'macx-xcode' for Qt itself
Change-Id: I08f68813ac99f071b6f59a332c99afd75d3de41c
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-30 15:27:07 +02:00
Sergio Ahumada
509ed01c85 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-07-24 15:09:38 +02:00
Oswald Buddenhagen
d24b4a5548 set QT_TARGET_ARCH when building for the host
the built host tool may need to know what the target architecture is,
e.g. mkv8snapshot does.

Change-Id: Ie5b1f6a07fa082d212e7c5b54289de49fd74dbcf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-23 16:30:06 +02:00
Frederik Gladhorn
084c5b3db7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp

Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
2013-07-23 11:18:11 +02:00
Oswald Buddenhagen
54987c6bf5 default to -compile-examples
because of popular confusion.
the packaging scripts now need to use -no-compile-examples explicitly.

Task-number: QTBUG-32449
Change-Id: Iecab1f345afe21e540204fe69a2292ef932cbb61
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-22 19:52:06 +02:00
Sergio Ahumada
3ef6cf060e Merge branch 'stable' into dev
Conflicts:
	qmake/generators/mac/pbuilder_pbx.cpp
	src/corelib/json/qjsonwriter.cpp
	src/corelib/kernel/qeventdispatcher_blackberry.cpp
	src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm

Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
2013-07-11 16:42:01 +02:00
Thiago Macieira
bc7e63e3f9 Don't enable EGL support if OpenGL is disabled.
QtPlatformSupport fails to build if EGL support is enabled but OpenGL
isn't. It tries to compile eglconvenience, but qplatformopenglcontext.h
is empty (#ifndef QT_NO_OPENGL).

It makes no sense to have EGL with no OpenGL ES, so make sure we don't
try it.

The current test to disable EGL if OpenGL desktop is active is upside
down. With -opengl desktop -no-egl, it would complain that EGL support
was requested.

Task-number: QTBUG-28763
Change-Id: I80c780ec78181f3fa85f43e41be21d1217d76610
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-03 01:24:12 +02:00
Frederik Gladhorn
572200989b Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	configure
	mkspecs/features/create_cmake.prf

Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
2013-06-27 13:06:38 +02:00
Sergio Ahumada
4fdf33a800 configure: Use $AWK instead of plain 'awk'
The $AWK variable already contains the best awk version
available. Possible values for this variable are: gawk, nawk or
awk.

Using just awk fails on Solaris with:

  user@localhost:~/qtbase$ ./configure -platform solaris-g++
  awk: syntax error near line 4
  awk: bailing out near line 4

  This is the Qt Open Source Edition.

Change-Id: I02a17915e8b27a5ce7e831a1225872cf460b3a6b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-26 16:28:32 +02:00
Sergio Ahumada
f30a905ea4 configure: Don't use 'local' in report_support()
The 'local' keyword doesn't exist in Solaris' bourne shell as a
reserved word.

Change-Id: I3270c74f79842ee10481a40a9f82d9fb74aff2e5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-26 16:28:28 +02:00
Oswald Buddenhagen
e9d539623a introduce "secret" configure -top-level option
shifts the makefile generation one directory level up.
this allows the top-level configure to leave the makefile creation
entirely to the qtbase configure.
this is not very clean modularization-wise, but consistent with -skip.

Change-Id: I7ee2d2f29f2e6619d61fe9b55faa0bacdf3c44c1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-26 05:53:41 +02:00
Frederik Gladhorn
6213b81457 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
	src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp
	tools/configure/configureapp.cpp

Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
2013-06-20 16:45:12 +02:00
Oswald Buddenhagen
77d903ae1a catch accidental use of -no-make
the option the user most likely meant is called -nomake.

Task-number: QTBUG-21778
Change-Id: I6d8c4d5a984c929804f49ffc2ac75f6945f76e81
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-19 20:02:21 +02:00
Oswald Buddenhagen
1aaeb9538b complain about bad arguments to -make/-nomake
Task-number: QTBUG-5366
Change-Id: I461a6c85fcee4a0216571d294171652b05ee6a34
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-19 20:01:45 +02:00
Oswald Buddenhagen
7f709861ec don't claim that "make install" is needed for non-prefix shadow builds
Change-Id: I3a72fa8f5f849fba1a4bc79788b090c1a23b0198
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:58 +02:00
Oswald Buddenhagen
d0c9fb8585 normalize file list assignments
not quoting the variable references allows the shell to word-split the
contents and thus convert the embedded linebreaks into spaces.

Change-Id: Id834f02d7a501fb6fe48b45f409f599a8b70b7ed
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:52 +02:00
Oswald Buddenhagen
864b3b9918 don't write unused QT_INSTALL_* to qmake Makefiles
the installation has been moved to the qtbase top-level project a long
time ago.

Change-Id: I25f1658d1a6544da4bdaa5be6b19f9076c19b7f9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:44 +02:00
Oswald Buddenhagen
70805d852a wrap the horrendeous monster switch case
Change-Id: Ia8619a9e75006d9a95ae325de7aa326b5dd928a6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:34 +02:00
Frederik Gladhorn
9b102e953f Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-06-13 10:05:49 +02:00
Frederik Gladhorn
e2776b44a0 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/cocoa/qcocoamenubar.mm

Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
2013-06-12 19:17:07 +02:00
Oswald Buddenhagen
23d8a7fb23 don't copy/symlink doc/global to build dir
instead, use the files directly from the source dir.

Change-Id: I03b728c66de6e03cade6dc153dcc78cea8e3f606
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:28 +02:00
Oswald Buddenhagen
0d463c05fc don't copy mkspecs to build directory
instead, teach qmake to use the mkspecs dir from the source dir as well.

Change-Id: I9edac11f8997fcb0594d0a67419d4733dd4ed86b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:24 +02:00
Oswald Buddenhagen
49bee21d57 don't make qconfig.h read-only
not much point in it, really.

Change-Id: If984aa137993ae6b95cb3591fceac729ae3aa819
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 13:02:55 +02:00
Thiago Macieira
8fbf959bee Update the code detecting the default include and library paths
Make it be one big AWK script instead of a ton of smaller
processes. Also handle the defaults inside the AWK script for
simplicity.

Since the output is a qmake variable, we do not need to surround with
quotes strings that don't contain spaces.

Also, use a tee trick to print the verbose output: we get the actual
output from awk.

Change-Id: I4a48a917c988a6b03d2c3b6990765301287713ef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-07 05:27:15 +02:00
Oswald Buddenhagen
930dc240d1 remove pointless symlink fallback for qconfig.h
syncqt does that nowadays.

Change-Id: Iffc465cce86a7c6370afaa543ba9b9ed8d478eea
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-05 12:36:58 +02:00
Frederik Gladhorn
80604a0786 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/plugins/platforms/cocoa/qnsview.mm

Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
2013-06-04 19:34:36 +02:00
Oswald Buddenhagen
0a1b89bff5 run syncqt only for builds from git
the logic in the configures was even trying to express that, only that
nowadays we always ship syncqt, so the tests were kinda pointless.

this frees us from the perl dependency for non-developer builds of
packaged modules (except for webkit, which needs almost every scripting
language on earth anyway).

obviously, this requires that the packaging scripts run syncqt in the
source dir before tarring up the sources. note that for repositories
other than qtbase, the -version argument needs to be passed to syncqt.

Task-number: QTBUG-29465
Change-Id: Ic929ab17a5de4b30fbf48b3aa9bfa3b4d2ef37d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:47 +02:00
Oswald Buddenhagen
8d69232b28 let configure create the forwarding qconfig.h again
this avoids that syncqt needs to forward to a yet unexisting file (which
will have a yet unknown location, when syncqt is run at packaging time
already).

the %inject_headers syncqt config variable remains, so it can be told
not to purge "foreign" files.

Change-Id: I127ff6e0b7d5702fb0acaee9a5b7940b482d3608
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:31 +02:00
Oswald Buddenhagen
c3bec846ac remove bizarre perl detection magic
the code makes no sense, and was added with the QNX port without comment.
there is already a detection a few lines up.

Change-Id: I18ec18604c37c7c42f2649a658dd22324d481dd3
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-05-30 09:56:03 +02:00
Oswald Buddenhagen
8ea19caacf add -compile-examples configure option
this overrides the magic that makes examples only install their sources
in production builds.

packagers may want to force the build of the examples, so they can
package them up for demo purposes.
this is actually why we formerly had the split between demos and
examples ...

Task-number: QTBUG-30788
Change-Id: I5633f69404c5aa6846f5496e8f161a273a7a7da3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-26 10:09:58 +02:00
Paul Olav Tvete
07b34d934e Android: detect Linux 64 bit host architecture
This is the easy fix: looking at what is supported by the NDK. If people
have weird setups, then they have to specify -android-ndk-host. We do
actually detect the host architecture later, but using that would be
a much bigger (and riskier) change.

Task-number: QTBUG-31275

Change-Id: I18db878031baa2e1ee2fa4beff364d58d8bd3c7a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-24 21:40:24 +02:00
Frederik Gladhorn
d3a8bc803c Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/io/qdatastream.cpp
	src/corelib/io/qdatastream.h
	src/corelib/json/qjsonwriter.cpp
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/xcb/qxcbkeyboard.cpp

Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
2013-05-23 21:27:07 +02:00
Ray Donnelly
c3488be438 Android: Remove libgnustl_shared.so copy hack.
It's not needed, and when $outpath/lib doesn't already exist
(when shadow-building for example), $outpath/lib ends up being
a copy of libgnustl_shared.so, when it really must be a folder.

Change-Id: Iaf3af6f4183090137043549cb8d9899c2bc92f24
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-05-23 12:49:39 +02:00
Friedemann Kleint
0feb1aadfd configure/Mac: Handle errors by xcrun.
xcrun occasionally prompts for a license or outputs errors which
results in:

configure: line 2488: [: : integer expression expected

Check the output and bail out on error.

Change-Id: Ic1ae62b5f19cf87365c38901e98d6b385cdb39a4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-20 15:20:26 +02:00
Oswald Buddenhagen
6b38524bba get rid of syncqt wrapper scripts
instead, rename it to syncqt.pl and rely on qtPrepareTool()'s new
ability to correctly invoke it as a perl script even under windows.
the wrappers themselves have been trivial at this point, so there is no
added value in keeping them, either.

Change-Id: I77cf65edbcfaa48ed1900defe940d4eb4b82d5b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-13 21:54:48 +02:00
Oswald Buddenhagen
7db165d9e0 don't try to shadow scripts which are not even there
Change-Id: Ia8517ebc43488b8b92b142fa6b9f483b8fbe8a32
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-13 21:54:43 +02:00
Oswald Buddenhagen
8739487b1c install host libraries into -hostprefix
... and introduce -hostlibdir configure option for symmetry.

the libraries built for the host have no business in the target prefix.

in principle this code would even support dynamically linked host
libraries, but that's currently unused.

Task-number: QTBUG-30591
Change-Id: I8e600fa4911a020fb0e87fbf7ef2f35647c7c4d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Ivan Romanov <drizt@land.ru>
2013-05-13 21:54:40 +02:00
Ray Donnelly
a9952689c7 MSYS: Force relpath and outpath into same pathing namespace.
MSYS bash (and other msys-compiled executables) perform path
transformation much like Cygwin. This causes syncqt path
substitution to not work correctly, so use 'pwd -W' to get
the Windows version (though with forward slashes) of both
relpath and outpath.

Change-Id: I808e3ef9206ed5f5bd8b6879d12afe664e589e0c
Reviewed-by: Alvaro Burnett <alvaroburnett@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-13 15:39:35 +02:00
Tor Arne Vestbø
1b2d3be446 Sanitize QT_COMPILER_SUPPORTS_xxx in qcompilerdetection.h
... instead of scoping the defines in qconfig.h, which relied on the
Q_PROCESSOR_xxx defines and meant that we had to include qconfig.h
after qprocessordetection.h, which added a whole bunch of other
dependency issues.

We now let configure write QT_COMPILER_SUPPORTS_xxx to qconfig.h as
before, without any scoping, and then undefine the ones that don't
apply for the given processor. This means we need to include
qprocessordetection.h before qcompilerdetection.h in qglobal.h,
but the former does not depend on the latter, so this should be
fine.

Change-Id: If00c00d405463e9626fa0f7f5e6b17f68778904f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-10 01:12:40 +02:00
Thiago Macieira
3e37e3c3e9 Make the configure summary even prettier
Change-Id: Ie040fe142a5ee74c7f38a3fd2e6806b41aec4976
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-08 12:01:29 +02:00
Gatis Paeglis
a2a8a9ea01 Make access to xkbcommon_workaround.h more generic
It makes more sense to keep this workaround header together with the other
libxkbcommon files for a better access point since it's used by several *.pro
files.

Change-Id: I63d4eb58f6e7f3852834e41c4b6e058a2c962233
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-05-07 22:43:14 +02:00
Gatis Paeglis
9c1d62cc95 Add xcb-xkb to 3rd party libs
1) -qt-xcb

a) Use xkb from the 3rd party libs. As it is done for the other xcb
dependencies when qt configure with -qt-xcb.

2) -system-xcb (default)

a) If xkb found then use xkb from the system. (Currenly xkb is not
enabled by default when configuring libxcb library).

b) If xkb can't be found on the system then keyboard state will be
updated from X11 core events.

Change-Id: I7c3dbce6daa2cec52067cd5af80f19040233a0db
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-05-07 22:43:14 +02:00
Gatis Paeglis
2122e731ab Add libxkbcommon to 3rd party libs
This library is required by the XCB platform plugin. As we depend on
very recent version of this library and it might not be available
in base repositories of distributions, users can use -qt-xkbcommom
switch to build Qt with the bundled version.

Change-Id: I0ed2a5cc2f1df98b0e7cc926cabfa69818674e08
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-05-07 22:43:14 +02:00
Gatis Paeglis
9953393593 Make the configure script to accept "-no-harfbuzz" switch
./configure -h lists "-no-harfbuzz" as a valid option, configuring with this
switch gives an error message:

"-no-harfbuzz: invalid command-line switch"

Change-Id: I77aa68d17805170189150198dc9abea5f8cfa5c2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-07 20:40:41 +02:00
Frederik Gladhorn
85e3c53e5c Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2a54058b64ac69c78b4120fdaf09b96e025a4c6c
2013-04-29 14:17:09 +02:00
Jan Kundrát
adec3f4eaf Do not talk about make confclean in the top-level directory
The configure script does not actually produce a "confclean" make target.

Task-number: QTBUG-27735
Change-Id: Ia0f9e33e50c35cc6bb2941853e518a40fc9edaee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-23 18:57:45 +02:00
Frederik Gladhorn
4c231d5df3 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I059725e3b7d7ffd5a16a0931e6c17200917172b5
2013-04-22 16:35:43 +02:00
Frederik Gladhorn
94758589fe Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-04-17 10:28:21 +02:00
Thiago Macieira
0e9b0fc1d4 Move the reporting of xkbcommon's warning closer to the bottom
The warning is more likely to be seen if it's closer to the end of the
output.

Also report whether we found xkbcommon in the main output. Note that
xkbcommon is used by Wayland too, so it's not dependent on QPA or on
the XCB backend.

Change-Id: I143327eea4e17fa06bc7c24c677ae0bd00e65711
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-15 15:32:40 +02:00