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>
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>
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>
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>
This is the latest version, released on Mar 27 2014. It includes:
https://bugs.freedesktop.org/show_bug.cgi?id=75798https://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>
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>
This should've been removed in commit 24f1025663
Task-number: QTBUG-37832
Change-Id: I3404f17c904dbb462773f40371d09b0e58a0930d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
less platform-specific code. the qfeatures.h generation is already here.
Change-Id: Ied69fb431eed5816fbff63b33be431ee913c2bc8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
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>
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>
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>
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>
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>
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>
Allows us to sanity check the iOS build in the CI.
Change-Id: I16f9bfafef3988dcab6efd3155503ca0d0b4d1d8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
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>
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>
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>
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>
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>
... 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>
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>
We already require iOS 5.0 for deployment.
Change-Id: Idc175892297aacc904888b7f213318e5df69f975
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
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>
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>
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>
This got messed up in merge 4a8273a6fc
thanks to automatic conflict resolution.
Change-Id: Idbe1545c7d3ee0580bf2c1381dd3e8b2191dc3e8
Reviewed-by: Michael Brasser <michael.brasser@live.com>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
... 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>
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>
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>
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>
minimizing the amount of code executed before platform detection.
Change-Id: Ib2c0d97ce5040ced8c4c41d74f428fe7d0f75664
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
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>
moving dead code out of the way of further refactoring.
Change-Id: If558406cdf13d61478634dd7eff644dc67b0e53d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
have this option independent code out of the way before starting option
processing.
Change-Id: I5a08caeb25689b155c256ef82505c000112f5039
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
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>
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>
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>
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>
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>
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>
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>
Status for LIBUDEV printed again in the configure output under 'udev ....'
Change-Id: I3e0beca4c6de315dc2dfbdc24d83f4d9cd2b8856
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Nothing in qtbase uses gstreamer, so this is just a red herring.
Change-Id: I93fb20a70928d84fed8f33ca4c5df38779928f1a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
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>
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>
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>