Commit Graph

162 Commits

Author SHA1 Message Date
Lars Knoll
64255ef650 Merge remote-tracking branch 'origin/api_changes'
Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
2012-04-17 12:58:52 +02:00
Donald Carr
f0c36dd03c Introduce fallback for general cross compilation
The current approach of forcing people to pass the fully qualified prefix
of their toolchain to the configure script is verbose and something of a
chore for people who use the same toolchain to target several devices.

This allows you to set a single toolchain for use with all Qt targets via:

qmake -set CROSS_COMPILE foo

You can still explicitly override this toolchain, as originally mandated,
with the configure time device-option arguments.

Change-Id: Ibd3d940bb08fa09499533f9c661557e337a8421a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-16 19:00:04 +02:00
Thiago Macieira
e6a1675da5 Make plugin linking fail if some references aren't present
It's better to fail at linking time than to try and figure out later why
QPluginLoader refuses to load the plugin.

Change-Id: I439bad9dcdbfff9f76efe40381fd7ccfffe738bc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-10 18:22:51 +02:00
Oswald Buddenhagen
143c4d3e13 Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
	configure
	src/widgets/styles/qwindowsxpstyle.cpp
	tests/auto/gui/kernel/qwindow/qwindow.pro
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp

Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
2012-04-10 15:31:45 +02:00
Kai Koehne
0556540b41 Rename the 'declarative debug support' to 'qml debug support'
Since the library and almost everything got renamed to qml, we
should do so for the debugging support, too.

(CONFIG+=declarative_debug will continue to work for some time
being, but prints a deprecated warning).

Change-Id: I295155dce873e2585c1452d2bf0625ea6ce219c4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-31 16:33:04 +02:00
Holger Hans Peter Freyther
dbb9d96bdb device: Introduce a qmake test function
A common issue for our users is that they do not provide the path
to their cross compiler or don't have it in their $PATH. Introduce
a qmake testFunction to sanity check the presence of the compiler.

Change-Id: I7d41db139d2a9c67334908b96e9f5e8f996426f6
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-29 21:21:01 +02:00
Stephen Kelly
df43b9a06a Don't use the pri depends line for link dependencies.
That is not what depends is for.

Change-Id: Iabf93e890f009bd6c8fcc18dde1891bf20a493f1
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-28 00:51:32 +02:00
Stephen Kelly
4a6bf9d941 Prefix the variables for debug and release types properly.
Change-Id: I346992effa997f60a4fd20055f0af81d6a084095
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-28 00:51:32 +02:00
Stephen Kelly
878a661e31 Only create the cmake files if DESTDIR is non-empty.
This is the case for the winmain library.

Change-Id: I8f416e81ad8de4a1fb2f70a4ebc31c8351c81605
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-28 00:51:32 +02:00
Kent Hansen
d236fe2214 Merge master into api_changes
Conflicts:
	src/corelib/global/qisenum.h
	src/dbus/qdbusconnection_p.h
	src/widgets/kernel/qwidget.cpp
	tests/auto/other/qaccessibility/tst_qaccessibility.cpp

Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
2012-03-27 19:22:48 +02:00
Girish Ramakrishnan
84e98fd9d2 device: Add -device and -device-option to configure
For some reference platforms and SDKs we will need to pass in
extra paths. Currently users have to modify the mkspec to adjust
paths or set environment variables that will be picked up.

This change introduces the -device <name> and -device-option
<key=value> option. The key value pairs will be written to a
qdevice.pri and can be used by the qmake.conf of the device spec.

The reason to not save the key value pairs in qconfig.pri is
becase of the fact that the device spec loads the qdevice.pri
earlier than the qconfig.pri. qdevice.pri allows the mkspec
to set the compiler flags and qconfig.pri allows configure to
add to those compiler flags.

Done-with: Holger Freyther

Change-Id: I931a197b8be72397e1eedfee09502eefc01c9d4f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
2012-03-27 05:35:57 +02:00
Bai Jing
de37821c56 let qtPrepareTool give right path for app_bundle
Change-Id: Ieb4979244d741c9d9d0c11a035c18ced87ea28f5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-26 14:06:51 +02:00
Thiago Macieira
1882cf1c9d Add detection of AVX and AVX2 support in the compiler.
Intel CC 12.1 supports AVX2 but only with -march=core-avx2. The -mavx2
option produces a warning.

GCC 4.6 does not recognise any option.

GCC 4.7 recognises both -mavx2 and -march=core-avx2 so let's use the
latter for now. We may need to change to -mavx2 when there's an AMD
processor that supports AVX2 too.

Change-Id: I529240e6e6c2c0e3942d357e0320212d954fe4de
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-23 19:43:00 +01:00
Thiago Macieira
a1b30b49ef Remove detection for MMX support and related technology
This also removes the check for SSE, but the check for SSE2 and
further technologies is kept. If SSE2 is present, then SSE is too. We
don't have any code that uses the original SSE instructions only.

Remove the CMOV detection, since we don't use that anywhere and we're
not likely to ever use them..

Change-Id: I3faf2c555ad1c007c52a54644138902f716c1fe1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-23 19:43:00 +01:00
Stephen Kelly
b78e355fe5 Only create cmake files if MODULE is set.
WinMain does not set MODULE, though it uses qt_module_config and
generates incomplete cmake files in the wrong locations as a result.

Change-Id: I5081a13a19469ab8cd01970a55684b8451bc79d7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-23 11:45:25 +01:00
Kurt Korbatits
c7093ba874 Changed installTestHelperApp() to use relative paths to build
- Changed installTestHelperApp() to use OUT_PWD path to find files.
  (was looking in source tree instead of build)

Change-Id: If795c17a76aebcfbbe0d4f84c5df784a255ddb19
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-22 06:49:06 +01:00
Bradley T. Hughes
497f4fffa2 Remove QT += uilib from designer.prf
No Qt module named uilib exists.

Change-Id: Icb5916c27440257696e5103f0d61dc05e4d7bb9f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-20 11:44:09 +01:00
Girish Ramakrishnan
b84ff8525c Install fonts when not using fontconfig
When built without fontconfig support, the basic unix font database
relies on fonts installed in libs/fonts to populate the database.

Change-Id: Id1e54c5b032095470049210bb831cfe4c79b3569
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-16 21:30:59 +01:00
Johannes Zellner
8a79e8b645 Remove unmaintained and broken VNC platform plugin
Change-Id: Ie0a07c3a6822870b095a20d997b63fb1635f20be
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Robert Griebl <robert.griebl@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-03-15 02:45:31 +01:00
Sean Harmer
75218e08ab Do not add -rpath-link directives with no library path
Doing so works fine on Linux as g++ version there silently ignores
this. However, the qcc toolchain for QNX barfs.

Change-Id: Ia236910adc09dc1653e4169e20476b69c2de62ab
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-12 17:33:15 +01:00
Oswald Buddenhagen
12c8909883 sanitize install target names
qmake uses the variable name verbatim, which makes the generated
makefile look "interesting" without this cleanup.

Change-Id: If6c4f12563a0ee6429513fbfac534f40bb7c0b97
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-12 11:16:34 +01:00
Oswald Buddenhagen
aed6eaa5b2 QT_RAW_INSTALL_FOO => QT_INSTALL_FOO/raw
this makes the "sysrootable" properties more magic, with the raw
versions being omitted from the qmake -query output and automatically
falling back to the "cooked" variant if there is no sysroot set.

this makes the "normal" qmake -query less noisy. this will become even
more obvious when i add more "overloads" of the properties.

Change-Id: I08000986427264ec6238c8fe0a77f5cecdbf1201
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-12 11:01:02 +01:00
Oswald Buddenhagen
f744b82344 fix the check for libraries having themselves as dependencies
Change-Id: I6dc56228a068fe9158e989afd1c545a3d69848e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-09 22:37:18 +01:00
Oswald Buddenhagen
d4db23eb4d another attempt at solving the popping up of .qmake.cache problem
syncqt may generate that file also as a result of configure tests. so
just check for the file's existence instead of trying to reproduce under
which circumstances it should appear.

Change-Id: Ia24f96b05fc70e104f7be19d08cea614ffb505be
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-09 20:43:00 +01:00
Oswald Buddenhagen
adfcd98922 replace uses of QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT with module-specific variables
Change-Id: Id410887fa97f345a229e0cbf395633ccf303fa2f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-08 18:57:56 +01:00
Oswald Buddenhagen
d6206075be remove automatic building of moc from moc.prf
the problem this (probably) tried to solve has been solved via ordered
builds a *long* time ago.

Change-Id: I84c58076c864735eea4210ec60aa060fe3e5d97e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-08 18:55:53 +01:00
Oswald Buddenhagen
63511b60a1 delete dumpcpp.prf
it seems to be a no-op. presumably it was meant to be an auto-rebuild
hack like in moc.prf, but it wasn't really "wired".

Change-Id: I914456f5f5a63a06c2004b16edcf2e2ade448270
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-08 18:55:01 +01:00
Oswald Buddenhagen
1fc0e27b17 transitively resolve module dependencies
otherwise we need the nasty hack for includes, and CONFIGs and DEFINES
from dependencies are not included at all.

Change-Id: I7eaee761161a6e8fbac8e9237d26559aa11a88a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-06 17:40:44 +01:00
Lars Knoll
96232be146 Merge remote-tracking branch 'origin/api_changes'
Conflicts:
	dist/changes-5.0.0
	mkspecs/features/qt_module_config.prf
	qmake/project.cpp
	qmake/property.cpp

Change-Id: I6e4af40743a9aeff8ed18533a48036e332acc296
2012-03-04 21:45:05 +01:00
Oswald Buddenhagen
ab05682564 don't announce a dynamic .qmake.cache if we don't actually create one
otherwise we are breaking the "less hacky" configurations. whoops.

Change-Id: Ibb037753fbaf30beae3d30173be77d48b978b60b
Reviewed-by: Caroline Chao <caroline.chao@nokia.com>
2012-03-02 15:56:44 +01:00
Oswald Buddenhagen
012f799254 revamp -sysroot and -hostprefix handling
instead of being a variable added to the makespec (via qconfig.pri),
QT_SYSROOT is now a property.

the QT_INSTALL_... properties are now automatically prefixed with the
sysroot; the raw values are available as QT_RAW_INSTALL_... - this is
expected to cause the least migration effort for existing projects.

-hostprefix and the new -hostbindir & -hostdatadir now feed the new
QT_HOST_... properties.

adapted the qmake feature files and the qtbase build system accordingly.

Change-Id: Iaa9b65bc10d9fe9c4988d620c70a8ce72177f8d4
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-01 23:18:23 +01:00
Oswald Buddenhagen
4494ddfec7 make default_pro.prf advertize dynamically created .qmake.cache
moving the detection of .qmake.cache to the qmake startup had the side
effect that a suddenly popping up cache would not be picked up by
nested projects any more.
this is not supposed to work in the first place, but the syncqt hack for
building against non-installed modules relies on it. until we have
cleaned that up properly, we need a way to notify qmake about the
appearance of the cache file.

Change-Id: I450646b936e3bb2ef2ed3aba05df58e521ccdc61
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-01 19:00:15 +01:00
Caroline Chao
8bf2c47080 CodeCoverage: Exclude all header files from intrumentation.
Currently only a small fraction of all the headers are included since only
the headers found in the pro file folder are included.

This is confusing and arbitrary. With this change all the headers are now
excluded from the instrumentation.

Change-Id: If4322421f3b3e5fcd45f006421690eaa6bf645e0
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-01 07:52:44 +01:00
Stephen Kelly
56612a555d Fix the include dir used by the CMake config files.
I missed this one in 018e78575c

Change-Id: I194b96d2b1a64025ddb17fe2ed81566838555e13
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-29 17:43:00 +01:00
Rohan McGovern
98dd1781d9 Merge master -> api_changes
Includes fixes for tst_qfiledialog2, tst_qtextedit autotests on mac.

Change-Id: I49cac26894d31291a8339ccc1eb80b6a940f0827
2012-02-29 09:23:14 +10:00
Hib Eris
1e3015d8f4 Activate replacements when installing .pc files for win32
Change-Id: Iaacbe8528bdbe1c1fca60ae8c94625e951f14554
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-29 00:05:38 +01:00
Hib Eris
525d98725b De-duplicate platform-dependent paths
Change-Id: Ifee9f05fc8d924877f24edfddb0dc5e324a29080
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-29 00:05:38 +01:00
Jason Barron
fa1b9070af Add a new qmake feature to support OpenGL ES 1 apps
This is a convenience to make it easy for applications to simply add:
    CONFIG += opengles1
To their .pro file to link against OpenGL ES 1.1 instead of OpenGL ES V2

Change-Id: I48605f5f69f83d99cfb2ad6dbb4b318d41e00128
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-28 22:35:24 +01:00
Stephen Kelly
018e78575c Make the CMake files work with directory overrides.
This allows us to create correct CMake config files when Qt is
configured with directories outside of the prefix (which Qt allows),
and also allows us to use correct values when a 'longer' relative
lib directory is used such as lib/x86_64-linux-gnu.

Change-Id: I6f88255a23752dc5b84cb20ce13fdeeee9d5ad51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-28 21:07:16 +01:00
Oswald Buddenhagen
151f17d7e6 simplify loop over modules
the earlier done topological sort already removes duplicates and only
works with lower-cased names anyway, so we can remove the overhead here.

Change-Id: I44fc39af9e94662717e1c8cfb0ddb87d2f597935
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-28 12:39:16 +01:00
Oswald Buddenhagen
f4f97555a2 avoid using infile() needlessly
it's rather pointless to first query the variable's presence in the
file. instead, just fetch it and see what is in there.

for this to work cleanly we defer the concatenation of the filename.

Change-Id: I322db8ae897272fae049074d8b7676787286aedd
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-27 20:52:45 +01:00
Oswald Buddenhagen
a62dfb7a72 bump version of QMAKE_TARGET_PRODUCT
... whatever that may be good for

Change-Id: I06695a06aae52386236a7a31fe7865cc8389d3b9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-27 20:52:45 +01:00
Matthew Vogt
6225e3ba01 Add workaround for projects using 'QT += declarative'
The code previously exported by the declarative library has been
migrated to the qml and quick libraries, and the symbol names have been
changed accordingly.  To allow existing projects to continue to build,
the declarative module now contains a set of definitions redefining the
deprecated class names to their replacement names.

To make this work, a dependency on the declarative module now
automatically adds a dependency on the qml module in order to make the
new library available for linking.

This is a temporary change to prevent breaking existing projects
that depend on the declarative module. After clients have had an
opportunity to update their code to the use the new interfaces,
it can be removed.

Task-number: QTBUG-23737
Change-Id: Idee6ac627858856802bb1be29e9a4a079da73688
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2012-02-27 01:55:39 +01:00
Stephen Kelly
c470999329 Fix the library names on MinGW.
Change-Id: I6c2008a0e7a07ca0603b8aa9362d31fa4ef7310a
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-24 13:19:44 +01:00
Stephen Kelly
bd5096d012 Add the QtMain windows library to the CMake files.
Change-Id: Iff8b9bdd4b069721103e1cd5854e56b6116d7549
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-23 23:46:01 +01:00
Miikka Heikkinen
a61f754c92 Fix "check" target when load(testcase) is used in .pro file.
The "check" target always depended on debug-check on projects that
explicitly loaded the testcase.prf, even if Qt was configured with
-release parameter. This obviously caused build failure. Changed the
testcase.prf to check which configuration is preferred using
CONFIG(debug, debug|release) like is done with similar cases in other
.prf files.

Task-number: QTBUG-24332
Change-Id: Ib5140b106e99efe51932bdd5a48914786de23230
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-17 11:44:29 +01:00
Bradley T. Hughes
f0f78eb0a9 Remove usages of QT_ARCH and QT_ARCH_* from qtbase
The architecture is detected at compile time based on the predefined
macros from the compiler. Don't use QT_ARCH in .pro, .pri, or .prf
files.  The PNG_NO_ASSEMBLER_CODE define from libpng.pri is not present
in the current copy of src/3rdparty/libpng, so no change in
functionality is expected.

The conditional for the SUPPORT_JIT define in pcre.pri is moved to
src/3rdparty/pcre/config.h, again so that we can use the compiler's
predefined macros to detect the architecture at compile time.

Replace QT_ARCH_ARM, QT_ARCH_MIPS, and QT_ARCH_SPARC with their
Q_PROCESSOR_* equivalents.

Replace QT_ARCH_INTEGRITY, QT_ARCH_VXWORKS, and QT_ARCH_WINDOWSCE with
their Q_OS_* equivalents.

Note that this commit also effectively disables the SPARC atomic
implementation. An inline implementation for SPARC needs to be added,
or we remove the current code and instead rely on the GCC intrinsic or
C++11 std::atomic support on SPARC.

Note also that this commit does not remove QT_ARCH from configure or
qconfig.h. This will continue to be set until all Qt 5 projects can be
moved away from using QT_ARCH.

Change-Id: I5de747cc4436d21941329974cff3016970f497b8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-17 08:22:43 +01:00
Stephen Kelly
46a4a0e8c9 Fix warnings about existing directories during cmake file creation.
Use the new QMAKE_SUBSTITUTES.config = vebatim feature.

Change-Id: I4c08bd4694c11d48434eb225fc6902e69a4cdec2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-11 13:30:31 +01:00
Stephen Kelly
1406659948 Add -fPIE to the Qt5Core_COMPILE_FLAGS with reduce-relocations.
Qt requires this since 482d96a0c5

Change-Id: Iba783e283b17654abf46f11b81cc1641c3ce7d83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 19:21:24 +01:00
Stephen Kelly
8aeb70ed36 Add special casing for static modules.
QtUITools is a static library, so we need to mark that in its
CMakeConfig.cmake file.

Change-Id: I4e3684f7c62f4af28956a6e8f58edce7724f50dd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 17:55:33 +01:00