Qt doesn't use iconv on Windows, but configuring it will appear to
work and the build will complete. The result is that character
set conversions do not work.
Configure.exe already disables iconv for Windows.
Change-Id: I449a00860c2e77e6cdd8cdcf7108621c684207bf
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Qt 5 will support single-arch builds only, for two
reasons:
1) PPC is very deprecated at this point, x86_64
is becoming standard.
2) V8 only supports single arch builds.
As a workaround, build twice and use lipo to
create universal binaries.
This commit also removes the -cocoa and -carbon
options.
Change-Id: I428f096a02f59ec2b3e693150e0e08358198de83
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
It's only used by Maemo and Harmattan, thus not needed in Qt5.
Change-Id: I8638f4fc63637be88d1aa584cde7e3a4116f2de6
Reviewed-by: Alex <alex.blasche@nokia.com>
At the moment users of Qt must detect if it was compiled with SSL
support by testing for QT_NO_OPENSSL. This means that any code that is
conditionally compiled this way is tied to the presence of the openssl
backend. This commit makes it possible to implement new SSL backends
during the Qt5 lifetime without breaking this code. People can still
test for QT_NO_OPENSSL if they really need openssl, but if they simply
want to know if there's SSL support at all they should use this define
instead.
In addition, this commit changes the public API headers to use the new
define.
Change-Id: Ib57a71aa65836ac9351f120a487bfeb8009d9515
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Prevents build errors when xrender is not present.
Change-Id: Ib80d52109dd0bcd63ba865c5f6e143961f3c20e6
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
There's no good reason to still differentiate between 'Nokia' developers,
and Qt developers outside of Nokia, inside configure. Just use
-developer-build -opensource -confirm-license.
Change-Id: I8726947dae0c70412eb52bf9d88eda4aa061ef26
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Remove the (-no)-qt3support options from configure, and remove the last
remaining references to Qt3Support, QT3_SUPPORT, and
QEvent::ChildInserted.
The compatibilityChildInsertEvents() tests in tst_QObject and
tst_QWidget have been renamed to childEvents(), which is a more
appropriate name.
Change-Id: Id0b45e9b177efcc8dceee8c9ed8afafedeeace2f
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
These should go into qmodule.pri, rather than .qmake.cache, as they
make sense for all Qt modules - not only qtbase.
Fixes link failure when building qtdeclarative with jom on Windows.
Change-Id: I3e8b207e1808cb23af58b865a160c2fafa906288
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
In a Qt 5 world, these have no relevance, so remove them.
Task-number: QTBUG-23022
Change-Id: I2f52c7aa1fcb8234046dd95b4d702791d20514fa
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This malloc-replacement library is marked experimental and disabled by
default. It is also Unix-only.
On linux (GNU C library, actually) ptmalloc graduated to become the
native allocator, according to its webpage (http://www.malloc.de/en/),
making the need to have a copy here significantly lower.
Anyway, there is nothing preventing interested parties from adding this
library to their own setup and very little value in keeping it around in
qtbase.
Change-Id: I2b1c798ca38b59bb767b44d6e5190080ec6ecdf4
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
reduce-relocations will enable the -bsymbolic-functions
linker option when supported by the linker. This
reduces the amount of relocations required within
a shared library, by binding symbols locally where
possible.
Change-Id: I00ddc408df79097857d6b36f7fc1b0f510362fcc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Add mips to the list in configure and the v8.pri, build the existing
MIPS files. The result has not been verified to work.
Change-Id: I0f4fd29cd9752d32b6d87e0df0e888822f40ac0a
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Tests will install under $$[QT_INSTALL_TESTS].
TESTDATA may be used to install additional testdata required by the
test.
The default install rule may be disabled by
CONFIG+=no_testcase_installs.
Change-Id: I204de60c8e844775906ffd016ca50bffbb414142
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
A V8 snapshot is a serialized representation of the JavaScript heap.
Using a snapshot can vastly speed up V8 initialization.
This commit introduces a new tool, mkv8snapshot. mkv8snapshot is
automatically invoked as part of building QtV8, and generates a .cpp
file which is compiled into the QtV8 library.
Because mkv8snapshot itself needs to initialize the V8 environment
the non-snapshot way (i.e., by evaluating thousands of lines of
JavaScript), it needs to build all of V8. This means that V8 is
effectively built twice when snapshots are enabled.
When cross-compiling, only host=i386 and target=arm is supported,
since that's the only relevant case for which V8 currently
supports a simulator. mkv8snapshot is built and run as a host tool
(using the simulator), and generates a snapshot that will be used
on the target.
Task-number: QTBUG-21152
Change-Id: I9270652f129505508f78db8b0a39fbf57dc8b86d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Make the indentation sensible.
Remove comments which merely repeat the name of a variable on the next
line.
Change-Id: Ic3ecaaaba61795aeee10299ee44523eb725ecad9
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
To instrument a Qt application or library with the TestCocoon coverage
tool, do `CONFIG+=testcocoon' in the application .pro file.
To instrument Qt itself with testcocoon, use the `-testcocoon' configure
option.
Change-Id: Ie77109a078d11ea51f7a073621e0df9c752c44ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
We have the following scenario: Either you build a release package
without asserts, or a debug package with asserts. However, in embedded
development, we need asserts also in release packages. This flag allows
you to build a release package, but Q_ASSERTs still fire.
Change-Id: Icd1dd4dd63c3cafecf515b40741263d902ad42d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
... instead of adding them to all C*FLAGS. This makes it
possible to pass -Wno-warning-name to configure to disable
certain warnings enabled by default (which didn't work
previously). This also has the added benefit that only projects
that have CONFIG+=warn_on will get the extra warning flags.
Change-Id: I7bbc100155e02e7ccb9ac3be14bd8f585b7bc39b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
These will be passed on as extra C*FLAGS to the Qt build. Useful for
adding -Werror or -Wno-something-or-other.
Change-Id: Ifbbf63261573edd024de951082d99658eb443a3f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Remove Trolltech from the default install path.
Since QPA is the default now, so we don't need to treat it
specially from regular Qt versions. It is the regular
Qt version.
Change-Id: I0bde75c90d2d5944be192e1249bc1a9371c70fcb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Proper multipoint touch support was only introduced in XInput2.1, but Harmattan uses
a tweaked version of XInput2.0 that transfers touch data through mouse events.
This patch applies on the xcb plugin a subset of the changes that were applied on the
Qt 4.7 that was shipped to Harmattan to get similar multipoint touch support.
Change-Id: Ifda7ad40de29d7ded1443d4f78b3ec3807303a9f
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Using the first pkg-config in PATH is prone to errors when
cross compiling. This is a known issue, and `configure' already
avoids using pkg-config for cross compiling (unless -force-pkg-config is
used). However, there was previously no way for a .pro file to test
whether or not the user had passed -force-pkg-config.
Let !contains(QT_CONFIG, no-pkg-config) be used to test whether or not it
is safe to run pkg-config.
(cherry picked from commit 53794d94994cb3149581b1a91762dfa2d6defac0)
Change-Id: I53794d94994cb3149581b1a91762dfa2d6defac0
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-on: http://codereview.qt-project.org/6488
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
If Qt is built without QtConcurrent, the relevant autotests should be
excluded from the build, rather than building empty tests that appear
to pass and thus produce confusing test results.
Change-Id: I43bafcb0ffa42e8981bec4e27bf6a23a28d86df9
Reviewed-on: http://codereview.qt-project.org/6395
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Passing -no-xcb or -no-wayland was enough to get a build with neither
but the error message says you need to pass both. Fix the logic.
Change-Id: I2d554d371b603e7df7bc07e1b4d5271ba31243f0
Reviewed-on: http://codereview.qt-project.org/6099
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Require the user to pass -no-xcb and -no-wayland in order to produce
a build that has only the minimal plugin available.
This prevents "useless" builds from being accidentally created.
Change-Id: If2f7f516a52b75998f3ae7bf802f89f93f6e8218
Reviewed-on: http://codereview.qt-project.org/6005
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The * was not appearing against the default for the -xcb switch because
of a spelling mistake.
Change-Id: I3491cc9772d02179711b0d474db7ab2ef2398e88
Reviewed-on: http://codereview.qt-project.org/6003
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
The only place that now still knows about it is moc,
so it can still parse old headers.
Change-Id: Iafec080f99c67560974e9ebc0cbfb27d9a4b2d6f
Reviewed-on: http://codereview.qt-project.org/5755
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
If qtbase was configured to build both debug and release versions of
libraries, it makes sense for any modules we are building to do the
same by default.
Change-Id: Idb5f78a7414b6ed2bacf295ad01f259fca435410
Reviewed-on: http://codereview.qt-project.org/4702
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
configure is currently whitelisting a set of architectures which are
known to be capable of building V8. macosx was omitted from this list.
Note that we don't attempt to differentiate between different macosx
architectures; we expect any mac which is capable of building Qt5 at all
is also capable of building V8.
Change-Id: I345f2a446d650cbeb1e2ad81656cdbeea6fa0d9a
Reviewed-on: http://codereview.qt.nokia.com/4293
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
QPA mkspecs are of the same form as the rest, we don't want to parse
this in a different way.
This was resulting in the COMPILER variable being wrong and in turn
QT_GCC_*_VERSION and the like not being set.
Change-Id: Ia703be95dbe586e1a8e897c3e244202363fb8c6a
Reviewed-on: http://codereview.qt.nokia.com/4195
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
First of all, the -v8 option was missing from the set
of "Qt style yes options", so it wasn't even recognized.
Second, when the value is "auto" (the default), v8
should only be enabled if we are building for a supported
architecture. Currently that's i386, x86_64, and arm.
(When cross-compiling, CFG_ARCH will contain the target
architecture, which is what we want to check.)
Third, if -v8 is passed but the architecture isn't
supported, configure should issue an error.
Change-Id: I579597bc0d81c3097ee96a29493f5f8112be7edd
Reviewed-on: http://codereview.qt.nokia.com/4193
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
The build-key is an old mechanism to work around binary
incompatibilities in GCC 3.x versions. Modern GCC has not broken binary
compatibility since 3.4, making this mechanism obsolete.
The cache value stored now only includes Qt version, the debug/release
boolean, and the last modified time for the plugin. Old 4-value keys
will be replaced with new keys as the plugins are reloaded the first
time.
This also removes QLibraryInfo::buildKey(), which is a source-incompatible
change.
The UNIX and Windows configure tools have been updated to stop
outputting the QT_BUILD_KEY preprocessor directive.
See also:
http://lists.qt.nokia.com/pipermail/qt5-feedback/2011-August/000892.html
Change-Id: I7d06969a370d3d2c6de413c1230d9d6789cbf195
Reviewed-on: http://codereview.qt.nokia.com/3977
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Declarative no longer used QtScript, it uses V8.
This check in the configure script was stale.
Change-Id: I3c598c0343fc421fdd191a256e07eaa6f4e80058
Reviewed-on: http://codereview.qt.nokia.com/4077
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This adds Aaron's copy of V8 to src/3rdparty/v8 (as a
git submodule), and builds it as a "normal" Qt library
(without any dependencies on Qt itself).
The library can be added to a project with
QT += v8-private
V8 API headers are available as private includes, e.g.
#include <private/v8.h>
The API is private because we're exposing a third-party
API directly, and we don't want to (and cannot) make
source or binary compatibility guarantees for it.
Since we want the V8 public API headers to be private
headers in Qt, syncqt and sync.profile were extended to
understand a new configuration option, the
@allmoduleheadersprivate array, that tells syncqt whether
all the library headers should be treated as private even
though they don't follow the _p.h Qt convention.
The V8 project files, patches and autotests are copied
from the QtDeclarative repository. The next step after
this commit is to remove QtDeclarative's copy of V8 and
link with QtV8 instead.
Task-number: QTBUG-20963
Change-Id: Ib8820362cdbc8fa662a5e97db841656cf38d1b62
Reviewed-on: http://codereview.qt.nokia.com/3092
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Work-around for bug in XCB which causes a xcb_wait_for_reply to block
if xcb_poll_for_events() is called simultaneously from a different
thread. If the XCB version is too old this work-around causes even
more problems, so we kill two birds with one stone by only using the
work-around if the XCB version has the recent
xcb_poll_for_queue_event() function, which we also need to read
events from a separate thread with reasonable efficiency.
Change-Id: I8a899dad6ded381ce42cba0112e77da3c8aa6887
Reviewed-on: http://codereview.qt.nokia.com/3612
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>