Oswald Buddenhagen [Wed, 11 Apr 2012 10:48:43 +0000 (12:48 +0200)]
automatically add the version header to HEADERS
Change-Id: I7c2e1d852ebdbc5cca7a3a31ab2b4c9ab9faffd9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 25 Apr 2012 09:41:09 +0000 (11:41 +0200)]
factor out qt_module_headers.prf
this doesn't make too much sense as such, but the file will grow.
Change-Id: Iceaecdc24f83b3dafb40c8d2f1b6cddafa2d70a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 11 Apr 2012 13:40:37 +0000 (15:40 +0200)]
make sure that forwards for injected headers are not garbage-collected
qmake-generated version headers don't exist yet at the time syncqt runs,
so the forwarding headers would be deleted - just to be re-created a
moment later, thus changing the timestamp for no good reason.
Change-Id: I1b4c2f05f57c2315adf4b8dd726ea413ede1be5b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 11 Apr 2012 12:34:39 +0000 (14:34 +0200)]
fix status output for generated headers
Change-Id: I92c250037eb1b1838998cddbaea6ca065153e86e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 10 Apr 2012 17:46:12 +0000 (19:46 +0200)]
make headers.pri locality determination less convoluted
the location is determined by syncqt rather precisely. no need to
reverse-engineer config files.
$$HEADERS_PRI doesn't seem used anywhere, so don't set it as a side
effect.
Change-Id: I54a63356c350c0ddae4c880bf374fcd127282429
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 16 Apr 2012 12:13:12 +0000 (14:13 +0200)]
generate fwd-pris in qt_module_config, not in syncqt
the forwarding pri is loaded even if it was still created by syncqt, so a
top-level qmake -r will still catch it even in the future.
Change-Id: I2e4b556cd06eb88be9ee378662a2e6e1bff67ad7
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 16 Apr 2012 12:11:23 +0000 (14:11 +0200)]
bring statements into a somewhat logical order
Change-Id: I7bfbcd414bd2c8ff82e210c075b88f1ca00d3b73
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 3 Apr 2012 17:27:55 +0000 (19:27 +0200)]
remove qt from CONFIG for non-artifact templates
there is no point in adding Qt modules to SUBDIRS projects.
as QT contains core and gui by default, the operations are relatively
expensive, so skip them when they are unneeded.
Change-Id: Ibe6447ff452e403cb040fabe245d248edbda0eaa
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 10 Apr 2012 12:18:20 +0000 (14:18 +0200)]
define have_target CONFIG flag
the check whether we are building a lib or an app (and thus have a target)
is done by quite some feature files (and generally wrongly, as they do not
account for the new aux target), so centralize it in default_post.prf.
Change-Id: I868edbc4185be8a6c23ecd4a2c126024d73cdeb4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Fri, 30 Mar 2012 12:11:59 +0000 (14:11 +0200)]
add possibility to install a module with no library
the declarative module is a fake, so there is no library to install.
Change-Id: I0dcd39f3304e38adce9ea34e2268905525abd3d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Fri, 30 Mar 2012 12:09:34 +0000 (14:09 +0200)]
make version fallback code sane
the qt version is always set.
otoh, we need to allow the module to override the own version.
Change-Id: Ic3eb7dae59a5fb011cede09151553b652a0a1d78
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Fri, 20 Apr 2012 18:10:38 +0000 (20:10 +0200)]
remove some symbian cruft
- Option::mmp_ext
- references to dead QMAKE_INTERNAL_ET_PARSED_* variables
Change-Id: I863605b23798cbca3f6c8ab5a154fd432f1f4dcc
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 18 Apr 2012 10:09:48 +0000 (12:09 +0200)]
remove last traces of js support
don't even complain about trying to use js-based feature files. we have
been doing that for long enough.
Change-Id: Ib58ec204322442c488e8d780989f26b1e32595ed
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 10 Apr 2012 17:30:20 +0000 (19:30 +0200)]
remove explicit RCC_DIR addition to INCLUDEPATH
qrc_ files are generally not meant to be included, so there is not much
point in doing this.
qprintsupport was a notable exception - which broke on mac and thus
needed a hack. just remove the qrc_ inclusion.
Change-Id: If5115665f331a280869e800673bf7b81d3ab559a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 14 May 2012 13:24:25 +0000 (15:24 +0200)]
make qmake module path configurable separately
this is needed by webkit's creative directory layout.
Change-Id: I2317162c11696d2820423d63563b10d3024a6cb6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 2 Apr 2012 15:04:01 +0000 (17:04 +0200)]
write forwarding pris to $outpath/mkspecs/modules
this makes qmake find them automatically now.
consequently, also do not write QMAKE_EXTRA_MODULE_FORWARDS to
.qmake.cache. still write the cache file, though, as otherwise a
top-level cache would mess up the module root detection.
Change-Id: I998b94fcc73ca3f8bf1af09a394ff8d40cf1fb76
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 3 Apr 2012 12:19:32 +0000 (14:19 +0200)]
remove useless variable assignment
Change-Id: I3552305473cd0150d83c1e2a3c9fb0c4097244cc
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 15 May 2012 10:36:33 +0000 (12:36 +0200)]
rename QMAKE_SYNCQT_OUTDIR => MODULE_BASE_OUTDIR
a variable name should not reflect the tool which uses it, but its
purpose - especially, as the scope will be extended soon.
this variable is used by webkit, which has a somewhat creative directory
layout.
Change-Id: Id3d3fad6ed9395cb967aeabc79e47a0ba17f5423
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 12 Mar 2012 16:24:47 +0000 (17:24 +0100)]
make splitPathList() return an empty list for an empty string
this makes the user code a bit cleaner
Change-Id: I3713c73c5c19cf69341be65480917eda0b967b77
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 13 Mar 2012 14:53:10 +0000 (15:53 +0100)]
make qt_module_config.prf install the module pri file
absorb module.prf into qt_installs.prf, as that's where it belongs.
add qt_install_module option and automatically set it in
qt_module_config. make qt_installs use that option.
Change-Id: I860616f3a29a456f7b88ddaffa09375400c8911e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 1 Mar 2012 17:49:29 +0000 (18:49 +0100)]
make qtAddLibrary() a noisy compat wrapper for qtAddModule()
it's used by people (in particular, qt creator), so it would be not nice
to just delete it entirely.
Change-Id: I6bd849d00ebfe3b9b126e01a6d1c6e7c6584d8ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 26 Mar 2012 12:58:59 +0000 (14:58 +0200)]
purge QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT
they are equivalent to QT_INSTALL_(HEADERS|LIBS)/get.
Change-Id: Ic4b47f3ca7db55785b96f19020a2fa020a8d25bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 28 Mar 2012 14:06:43 +0000 (16:06 +0200)]
simplify code which determines how/where to create forwarding pris
the qtbase install dir being a build dir is a necessary and sufficient
condition for detecting a developer build.
Change-Id: I3d98c789ac6fbe570980459edabb9a941bf1e5d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 3 Apr 2012 10:11:48 +0000 (12:11 +0200)]
move $QTDIR handling out of syncqt
instead, always pass -qtdir (which, btw, is a slight misnomer - it
should be -qtdatadir) with the correct path. this centralizes the
relevant logic in default_pre.prf.
Change-Id: Icc788d3f3e5f7b68b444e63e181efdea3b4ef160
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Thu, 22 Mar 2012 11:40:00 +0000 (12:40 +0100)]
make use of $$[FOO/get] properties
this cleans up a lot of hacks supporting the build of qt, including the
last bits of $QTDIR.
Change-Id: Id119886ed8097967dad6cf86ebd4e71d90c42841
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 3 May 2012 13:36:03 +0000 (15:36 +0200)]
introduce /get property variants
properties are now split into a write location $$[FOO] and a read
location $$[FOO/get]. the write locations are hard-coded and configurable
via qt.conf/Paths as before, while the read locations are configured via
qt.conf/EffectivePaths.
this finally provides a clean solution to the problem that during the qt
build itself tools and libraries need to be taken from somewhere else
than they are installed to.
Change-Id: I956c43bd082afd465e690fe75d0bee3c2c0f7c25
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Oswald Buddenhagen [Fri, 1 Jun 2012 09:26:34 +0000 (11:26 +0200)]
purge unused VcprojGenerator::findTemplate()
it looked fishy for years. now i know why. ;)
Change-Id: I822cadecaf8d914f383f9f907b92507852e434b4
Oswald Buddenhagen [Mon, 1 Feb 2010 17:16:39 +0000 (18:16 +0100)]
don't generate make_default targets
make_first really means the same, as the default target is 'first'
which immediately invokes make_first.
as a nice side effect, this fixes ALL_DEPS not being used by the subdirs
template's default target - make_default wasn't special-cased in the
right place, while make_first is.
Change-Id: I946cea3b2dae198eda61d31dbd19c6ccd15deac7
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 27 Apr 2012 09:51:55 +0000 (11:51 +0200)]
add $$reverse() function
returns the list with the order of the elements reversed.
one can easily implement this with existing functions, but this is way
faster and more readable.
Change-Id: I12d306eb9fe58fc332622274ea6b658192529491
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Fri, 20 Apr 2012 13:40:11 +0000 (15:40 +0200)]
add $$shell_quote() function
to be used in system() calls and when assembling EXTRA_COMPILER and
INSTALLS .commands by hand.
Change-Id: Id706cd56aa267a9fb4b14e3416692b4716fafa5b
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Thu, 26 Apr 2012 11:19:53 +0000 (13:19 +0200)]
add $$absolute_path() and $$relative_path()
just exposes QDir::fooFilePath() wrapped into QDir::cleanPath()
Change-Id: I7a7644084825fd8092a9910ac20f695c4d9351f6
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 20 Apr 2012 13:38:43 +0000 (15:38 +0200)]
add $$native_path() function
more or less QDir::toNativeSeparators(QDir::cleanPath())
Change-Id: I52deee1e8086559eda5833b387a0cf64d21cbcd9
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 20 Apr 2012 13:37:25 +0000 (15:37 +0200)]
add $$clean_path() function
just QDir::cleanPath()
Change-Id: I2d51e2385939d8926c00f296537ab7f6757d9a79
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Tue, 3 Apr 2012 11:35:53 +0000 (13:35 +0200)]
add $$format_number() function
Change-Id: I04266c1f5fb72af94073f3f508cee59085e365b6
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Wed, 9 May 2012 13:29:25 +0000 (15:29 +0200)]
add $$shadowed() function
return the build directory corresponding to a given source directory.
this is the identity function if not shadow-building. if input lies
outside the source directory, return empty value.
Change-Id: I2d2a6b1112bd19989fe29cfe19a12d39a0d208c1
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Tue, 13 Mar 2012 16:15:27 +0000 (17:15 +0100)]
add $$val_escape() function
this quotes the elements of a variable in a way suitable for re-parsing
as qmake code.
Change-Id: I0e6ea2478c43b5aeff45f485a48ac8c86705dd4a
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Thu, 1 Mar 2012 17:49:20 +0000 (18:49 +0100)]
add $$enumerate_vars() function
this simply returns the keys of all variables in the context.
Change-Id: I0092f827744fcd257dfb9e7ca664c87c6f1cc763
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 2 Apr 2012 13:41:15 +0000 (15:41 +0200)]
make defined() support testing definedness of variables
Change-Id: I58d2dd402d72ee5a19012a6b5a4ba111717d40cc
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Thu, 5 Apr 2012 10:45:23 +0000 (12:45 +0200)]
add mkpath() function
Change-Id: I8809b9ee4e85fbe8cec95641d659f237c5f51a26
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Thu, 5 Apr 2012 10:26:15 +0000 (12:26 +0200)]
add log() function
this is a literal print to stderr.
Change-Id: Ib0a2f53373ebbc4e0bda07a38d656bce145b31cf
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Mon, 2 Apr 2012 16:08:49 +0000 (18:08 +0200)]
add touch() function
this is equivalent to unix "touch --no-create --reference <ref> <file>".
QFile has no setLastModified() (even though QFileInfo has
lastModified()), so the implementation is low-level.
Change-Id: I6783e8f2613e168ad0c24e79e7384d5b2e4901ee
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 27 Apr 2012 12:01:08 +0000 (14:01 +0200)]
add write_file() function
this dumps the contents of a variable into a file. each element of the
variable is considered a line; line terminators are added. all missing
directories are automatically created.
Change-Id: Idafeb873cea64e6705c894b3ab0ef21df69e7170
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 27 Apr 2012 16:34:09 +0000 (18:34 +0200)]
add cache() function
this function adds the current contents of the named variable to the
cache. this comprises populating base_vars and appending an assignment
to .qmake.cache. if no cache file exists yet, it will be created in the
current output directory (and inherited by subdirs projects). if called
without a variable name, only create the cache file if missing.
Change-Id: I1e81c2238aa6a5817a6ebbfb022e2b995c349363
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Tue, 3 Apr 2012 13:55:45 +0000 (15:55 +0200)]
add "blob" and "lines" modes to $$cat() and $$system()
this bypasses the otherwise done insane word splitting
Change-Id: Ia9b8980bc0770de3999544a06d239f55fb34f801
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Wed, 25 Apr 2012 12:29:58 +0000 (14:29 +0200)]
rewrite fixPaths()
now the phonon paths are actually normalized.
just relying on File::Spec for the path relativization, so the code is
much shorter.
Change-Id: I69d6bac73e366ed0f754e1282a375871ce5559c4
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Wed, 25 Apr 2012 09:54:57 +0000 (11:54 +0200)]
remove dead variable
Change-Id: Ic37c2a0da6346f044df10c7d8b5ee1a95efcc29c
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 20 Apr 2012 15:00:30 +0000 (17:00 +0200)]
don't use abs_path on input arguments
for one, the input paths are already absolute.
second, if a path does not exists, abs_path will fail, which makes the
fallback code which tries to create them rather pointless.
Change-Id: Ie56ff09313e48e82e8bc8e8f06eca384644de464
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 24 Feb 2012 18:21:51 +0000 (19:21 +0100)]
move moc, rcc and uic CONFIG additions to the respective qt modules
they don't belong into the global scope
Change-Id: I27a3de5f706392b3c4a84035521bc3b4e4055740
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 13 Mar 2012 13:25:07 +0000 (14:25 +0100)]
remove last traces of qbase.pri, qt_targets.pri and qt_installs.pri
qt_module_config.prf, qt_targets.prf and qt_installs.prf replace them
Change-Id: I6fc670ce8540dbd9ddaec1632d486e43a7ebf14b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 13 Mar 2012 14:42:21 +0000 (15:42 +0100)]
remove some DEPENDPATH nonsense
qt is built with depend_includepath anyway
Change-Id: I3967ad0bb52f5a3d88fceaf102c79f6711aaa83a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 12 Apr 2012 10:03:01 +0000 (12:03 +0200)]
remove some qmake -project boilerplate from project files
Change-Id: I5e6103db42b4fcca4ed4c2ffaec71e71e73d5b95
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 1 Mar 2012 17:10:22 +0000 (18:10 +0100)]
dispose of library-bound feature files
specifically, qtestlib.prf, qdbus.prf, help.prf, designer.prf and
quitools.prf - they have been obsoleted by modularization.
add noisy backwards compat hack to qt.prf.
Change-Id: I26f84fdd51798265471e20dd1f40efec59b1087e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Mon, 2 Apr 2012 17:20:11 +0000 (19:20 +0200)]
-qconfig needs no own switch case any more
Change-Id: I56c14cb7a2bf9e6641c48574d2b13436c1b7f714
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 2 Apr 2012 17:14:19 +0000 (19:14 +0200)]
remove the insane switch case for qt-style yes options
it only serves to create merge conflicts. the treatment is the same as
for "unclassified" options anyway (they ignore the value, so it can be
"yes" just as well).
Change-Id: I9a75769338b4dc1f58493f1a1f1dd2c2e895290a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 13 Jun 2012 13:19:46 +0000 (15:19 +0200)]
don't overquote make command
$(MAKE) is apparently already quoted when the path contains spaces
Change-Id: Ie09a0f43083f9eae95fc135c3a74364eaa356934
Oswald Buddenhagen [Wed, 28 Mar 2012 14:00:06 +0000 (16:00 +0200)]
clean up path normalization in configure.exe and QLibraryInfo
always use normalized path separators, except when running native
commands or printing (note however that the qmake -query output will now
be consistently normalized).
Change-Id: I6ae920c3bc656cb517d1f4e4e5518cf79e002169
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Fri, 1 Jun 2012 14:43:46 +0000 (16:43 +0200)]
rewrite SUBDIRS construction logic
clearer and gets the conditional dependencies right
Change-Id: Ifb24a4a84caffb0e3b45af7eb8cb21f5c5861d54
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Fri, 1 Jun 2012 14:37:42 +0000 (16:37 +0200)]
detach src/src.pro and src/tools/tools.pro from qtbase.pro
they were included instead of being proper subdirs. this doesn't appear
to be necessary for anything at this point.
Change-Id: Ie57285df8e5ea7bd8883bcd42fa6ed62b8e1d54d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 3 Apr 2012 14:50:04 +0000 (16:50 +0200)]
remove convoluted recursive debug/release target magic
this has been a) dysfunct and b) unnecessary for *quite* a while.
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Change-Id: I5d658a15d0c1dc923002f8d773eecb8382cd213d
Oswald Buddenhagen [Fri, 24 Feb 2012 13:35:56 +0000 (14:35 +0100)]
make makefile generation under unix sane
we now simply call qmake -r, which is also what we do under windows.
-fast mode is retained for examples and tests, though with moderately
modified semantics (i couldn't be bothered to decipher what the old ones
were supposed to be).
Change-Id: Id2c2d2bed9c8d52ac42f31b388bffc34f4649650
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Fri, 3 Feb 2012 21:13:12 +0000 (22:13 +0100)]
properly declare the host tools as such in the project files
don't mess with the qmake cmdline args any more.
Change-Id: I399d87145d31d25e29951b6acd96387a3c7282f0
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 31 Jan 2012 17:36:18 +0000 (18:36 +0100)]
introduce ability to build projects for the host system
when qmake runs into the new option(host_build) command, it will restart
the project evaluation with a host spec.
the new default host spec is called default-host (gasp!). it is
overridden with the pre-exising -spec / -platform option, while the new
-xspec / -xplatform option overrides the pre-existing default spec.
specifying -spec but not -xspec will set the xspec, too, so the behavior
is backwards-compatible. same for the XQMAKESPEC override read from
.qmake.cache and the environment variable.
the cleaner solution would be adding -hostspec, to be symmetrical with
the override semantics, but that would deviate from configure in turn.
Change-Id: I4297c873780af16ab7928421b434ce0f1d3820da
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 9 May 2012 16:39:05 +0000 (18:39 +0200)]
Revert "make default_pro.prf advertize dynamically created .qmake.cache"
... and followup fixes.
this is not needed any more due to the breaking patch being reverted.
Change-Id: Ia3416fcc16ddece680efbd0322286a601879fa0a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 9 May 2012 13:14:37 +0000 (15:14 +0200)]
Revert "move .qmake.cache search to Option"
We are now moving in the exact opposite direction.
This logically reverts commit
059200a44ba7177d0c9ec6bb5e6ee0b7e0c3f017.
Some adjustments were necessary to maintain the project root stuff.
Conflicts:
qmake/main.cpp
qmake/option.cpp
qmake/option.h
qmake/project.cpp
Change-Id: Ic14fa571cbbfe9ac159f92493e49741d70a87eff
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 9 May 2012 10:47:02 +0000 (12:47 +0200)]
Revert "move finding the makespec to Option"
Needed for an upcoming revert.
This reverts commit
74a6669fa7c0d6e2cb7d34d56332d620d2a07755.
Conflicts:
qmake/option.cpp
qmake/project.cpp
qmake/property.cpp
Change-Id: I56088506d27bf1f095f9261c75224f4bee17ec60
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Bradley T. Hughes [Mon, 18 Jun 2012 10:08:16 +0000 (12:08 +0200)]
QEvent: Don't give DeferredDelete special treatment
After commit
9b07fd0d5cae6846f0eaccf3dc51bc9e78559a05, Qt no longer
keeps the loop-level in QEvent's d-pointer. This means we no longer need
to special case this event type in the QEvent copy constructor,
assignment operator, and destructor.
Change-Id: Iff71713d38303674f4517fdfa169cc448ed41dd4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Bradley T. Hughes [Wed, 13 Jun 2012 11:23:53 +0000 (13:23 +0200)]
clang: Do not use libstdc++ when C++11 is enabled
We expect that the C++ library also supports C++11 when the compiler
says it does as well. When using clang with libstdc++, the library has
no C++11 support or headers, so we cannot use, for example, #include
<initializer_lists>.
Change-Id: I844877107256f15ab314e8f82fe54434dbb07638
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Johannes Zellner [Mon, 18 Jun 2012 22:36:34 +0000 (15:36 -0700)]
raspberry: remove unused screen size detection code
The fbdev fallback code now resides in the default implemenatation of
the hooks.
Change-Id: Id3d2cd23ab826b90c0e6d442bfb222aa8c291646
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Johannes Zellner [Mon, 18 Jun 2012 22:18:43 +0000 (15:18 -0700)]
platform hooks: provide defaults for screen size and depth hooks
Default hooks for querying screen size and color depth based on linux
fbdev API.
Change-Id: I7fc75c0df5e0f507cf679439416fe68c8f62f91d
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Samuel Rødal [Tue, 12 Jun 2012 08:21:37 +0000 (10:21 +0200)]
Fixed QOpenGLFunctions API.
We don't use the GL short term in the new API.
Change-Id: I73a51f65f5f4216c1763b95dcddf68fe8fc229d1
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Samuel Rødal [Wed, 13 Jun 2012 15:05:52 +0000 (17:05 +0200)]
Prevent ending up in a state where focus is perpetually grabbed.
Mouse / enter / leave / key events etc are all blocked when a window has
the blockedByModalWindow flag set. The problem appears if a QWindow is
created and only later directly or indirectly parented to a modal window
that's currently showing. Since the decision on whether a window should
be blocked or not is based on its parent / transient parent chain, we
need to reevaluate the blocked status each time the parent or transient
parent of a window changes.
Task-number: QTBUG-26112
Change-Id: Ida6b118b556fe26d17fa86335a0fe7baddc7eaf8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Girish Ramakrishnan [Tue, 12 Jun 2012 19:53:31 +0000 (12:53 -0700)]
xcb: ensure the primary screen is added first
Currently, Qt windows without an explicit screen parameter always appear
on screen 0 despite the DISPLAY being set to :0.1. With this change,
the xcb backend adds the primary display at the beginning of the
screen list. QGuiApplication::primaryScreen() will then return that
display for all windows without an explicit screen.
Change-Id: I657c4ed92b9e0f0ed379e91c732dad9d69c4f5e0
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jeremy Katz [Mon, 18 Jun 2012 15:06:13 +0000 (17:06 +0200)]
Make QUuid compile with QT_NO_QUUID_STRING
Task-number: QTBUG-24816
Change-Id: I0cbb0581a1c3abefdde75b7cd45fdafd31640f0d
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Miikka Heikkinen [Thu, 14 Jun 2012 10:05:34 +0000 (13:05 +0300)]
Clean up a partially scrolled QRollEffect widget
If the associated widget pointer got zeroed while QRollEffect was
scrolling, the partially scrolled QRollEffect widget remained on
screen indefinitely as 'done' was never set to true.
Change-Id: If1567ea740e81b5501137d10db471ca97d295ed8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Thiago Macieira [Mon, 18 Jun 2012 10:15:58 +0000 (12:15 +0200)]
Fix tst_qfile opening of stdin/out/err: don't assume
The standard streams can be redirected to a file, so don't assume
anything, but try to get the actual size and position from the OS and
from the C library (stdout is usually buffered, so the result of lseek
might be different from ftell).
Change-Id: Ice4a0aa21726671928f56a13cc07cc0e4b52091d
Reviewed-by: Richard J. Moore <rich@kde.org>
Janne Anttila [Wed, 13 Jun 2012 10:59:54 +0000 (13:59 +0300)]
Fix building of qtbase examples when printsupport module is disabled.
Printsupport module is not that interesting in embedded environments,
and it also does not compile at the moment for WEC7. Fixed qtbase
examples to obey the availability of printsupport module.
Change-Id: I960d1b628b9ca82450aa3b0df8dd101b2544ee12
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Konstantin Ritt [Thu, 14 Jun 2012 02:01:23 +0000 (05:01 +0300)]
tst_QChar: drop outdated testcase
Change-Id: I0c06643165b299c552c697f400608e29ae4e7f7a
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Konstantin Ritt [Mon, 11 Jun 2012 18:51:33 +0000 (21:51 +0300)]
Improve the code generation by using Q_LIKELY/Q_UNLIKELY
+ reorder conditions in getWordBreaks() to make further updates more clear
Change-Id: I1ca9adde066c3a48830f310202f7181585fac194
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Konstantin Ritt [Mon, 11 Jun 2012 18:45:59 +0000 (21:45 +0300)]
Make QTBF autotest support SMP code points in the test data
I didn't do this earlier since the current test data doesn't contain any SMP code points,
the Unicode 6.2 test data does - so, I can confirm this code really works.
Change-Id: Ieae35e8480a89e22d846fd038e79592fefbbf2ee
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Berthold Krevert [Wed, 6 Jun 2012 11:52:29 +0000 (13:52 +0200)]
Fix: Widgets that become top-level widgets may crash the application
You can reproduce the bug with the QMainWindow demo application: Just
dock the toolbar on the left side, then try to drag the bar back to
the top and observe that the application crashes.
This happens, because the toolbar becomes a top-level widget during the
dragging action and therefore some data structures like a window are
created. After the toolbar has been docked, it loses its top-level state
and the window object is destroyed. The same is not true for the backing
store structure, which still keeps a pointer to the destroyed window.
When the toolbar is dragged the next time, a new window object is created,
but the backing store tries to access the deleted one. Crash occurs.
Change-Id: I0d1ffc04c19ec14654ceb62a0d3cf7cf65cb952d
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Stephen Kelly [Fri, 8 Jun 2012 11:58:16 +0000 (13:58 +0200)]
Add automatic metatype declaration for QPointer and QWeakPointer.
Change-Id: Ic9a04fa68d0bb14ef07455a6559e59f4b887f38b
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Jonathan Liu [Thu, 14 Jun 2012 12:31:38 +0000 (22:31 +1000)]
Do not redefine NIN_KEYSELECT if already defined
NIN_KEYSELECT is already defined for MinGW-w64.
Change-Id: Ieab9f883cf1680f792d085e254916d51602ce701
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jonas M. Gastal [Wed, 13 Jun 2012 00:27:21 +0000 (21:27 -0300)]
Fix double error setting, which overrode correct value.
Change-Id: I3bc992b8b41f305a01b80bca16346e18ac4d7833
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Thiago Macieira [Thu, 14 Jun 2012 13:04:22 +0000 (15:04 +0200)]
Forward-declare QLatin1String too
qhash.h doesn't include qstring.h and was depending on an indirect
inclusion (probably via qpair.h -> qdatastream.h -> qiodevice.h ->
qobject.h -> qstring.h, which I've broken).
Since it forward-declares QString and QStringRef, let's add
QLatin1String too.
Change-Id: I179ebb22f761b88423ef13643afa2e5ce91ef6a2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Johannes Zellner [Thu, 14 Jun 2012 01:21:35 +0000 (18:21 -0700)]
eglfs: Pass QSurfaceFormat to createNativeWindow() hook
Change-Id: Ib352d8591360a224359ef218b95cd27cdfaf81aa
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Wed, 13 Jun 2012 23:38:27 +0000 (16:38 -0700)]
eglfs: Make QEglFSWindow respect the window format
Prior to this change, eglfs code used to override the window format
with it's own format. With this change, eglfs will respect the window
format. This is useful when the application requires a surface with
alpha (for example, so that the video layer below is visible)
QEglFSHooks::surfaceFormatFor() allows the hook author to override
the context and window surface format.
Change-Id: I97f03a8b0871dfebfca73004fa0188b33d0d0367
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
ABBAPOH [Thu, 14 Jun 2012 08:49:51 +0000 (12:49 +0400)]
Speedup for QAbstractItemViewPrivate::delegateForIndex
This fix prevents copying of a QPointer on a stack and adding/removing
QMetaObject guards
Change-Id: I844c10cede1536a14ad7cd9f007470966619d6d6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Thiago Macieira [Thu, 14 Jun 2012 13:03:33 +0000 (15:03 +0200)]
Use QPointer, not QWeakPointer.
QWeakPointer tracking of QObjects is deprecated.
Change-Id: I1a81a0f9bbe02a6a38a50ab4a50e7c65212fa591
Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com>
Reviewed-by: Michael Hasselmann <michaelh@openismus.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
David Faure [Thu, 24 May 2012 08:36:01 +0000 (10:36 +0200)]
Make qurlinfo private, now that QFtp is private.
Change-Id: I0bb641b397b7087c89009f92d9973e0922dce653
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Jeremy Katz [Thu, 17 May 2012 14:37:43 +0000 (16:37 +0200)]
Extend JSON QStandardPaths to support multiple paths per location
Allow a location to be specified as an array of paths.
LOCATION: ["first", "second"]
The first value is selected for writableLocation().
Define the first entry as an empty string for no writable path.
LOCATION: ["", "second"]
A single path may be expressed as a string.
LOCATION: "only"
Change-Id: I897cf40a039ad7cb680bdf643bfa78020e8eb1cb
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Reviewed-by: David Faure <faure@kde.org>
Jani Honkonen [Thu, 7 Jun 2012 14:39:21 +0000 (16:39 +0200)]
Fix QListView::scrollTo() when there are hidden rows
This is a cherry-pick of
b0601630dd0ddabfaa3b97d042ee02b981d95988
from February
QListView does not consider hidden rows when scrolling to an item.
If there are hidden rows (or columns) before the selected item then
the visual index of an item is not the same as the row index
from the model. So scrolling will be off by the number of hidden
rows before the selected item.
Added a autotest for this also.
Task-number: QTBUG-21115
Change-Id: I01b097bce7f163cdb480a71b763c060cc006fdc7
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Wed, 13 Jun 2012 17:31:18 +0000 (19:31 +0200)]
It should be a moc error for the specified file to not exist.
Currently the missing file is ignored and plugin data is created anyway.
Change-Id: I118fd57b7d05a135e3ff58c0298b25e67cd12587
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Jiang Jiang [Mon, 11 Jun 2012 10:46:17 +0000 (12:46 +0200)]
Disable hinting for scaled glyphs in FreeType
Scaling hinted glyphs looks ugly, and it makes smooth scaling
animation not possible. Since nothing will work as intended
in hinted mode, we should disable hinting automatically when
glyphs are loaded with scaling transformation.
Task-number: QTBUG-24846
Change-Id: Id7fb5f5bdc2d00be157b0c5d55c316473571473c
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Girish Ramakrishnan [Wed, 13 Jun 2012 22:15:12 +0000 (15:15 -0700)]
egl: return EGL config when r/g/b sizes are not set
The check is already done for alpha. Do a similar check for
r/g/b sizes.
The problem was discovered because the default scenegraph context
in QSGContext::defaultSurfaceFormat does not have r/g/b set.
Change-Id: I2f529c9d5cc7dbc61a27722336e8099e7be08965
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Albert Astals Cid [Wed, 13 Jun 2012 09:50:31 +0000 (11:50 +0200)]
Add since 5.0 markers to new QCryptographicHash enums/functions
Change-Id: If367d365510cc7f6bf8f87808f5843c4a41d13e1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Thiago Macieira [Tue, 12 Jun 2012 11:08:43 +0000 (13:08 +0200)]
Fix encoding of non-ASCII strings
tr() only takes UTF-8 as input, so we must recode to UTF-8. But we can
use QLatin1String elsewhere.
Task-number: QTBUG-26086
Change-Id: I5932ddc96fb817dbe01106e5f6f2b10f58472d6b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Shane Kearns [Thu, 31 May 2012 17:27:23 +0000 (18:27 +0100)]
Rewrite QNetworkReply downloadProgress autotest
The existing autotest was made invalid by the downloadProgress
signal choking patch.
Rewrote the autotest to download files from the test server
with some rate limiting applied to ensure more than one signal
is emitted.
Change-Id: I6026bacdf356b4e1796b80f6983e5bdce0d1bfce
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
Shane Kearns [Mon, 28 May 2012 15:27:58 +0000 (16:27 +0100)]
choke uploadProgress signals
The QNetworkReply::uploadProgress signal is intended for updating UI
elements such as a progress bar.
Limit the signal emissions to 10 per second to prevent overloading
the UI with updates.
As with the downloadProgress choke, this is implemented by dropping
signals that occur within 100ms of the previous emission.
The 100% signal is always emitted (bytesSent == bytesTotal)
When the upload size is initially unknown, this behaviour is still
provided by the upload device emitting a suitable readProgress
signal when EOF is reached.
Task-number: QTBUG-20449
Change-Id: I77e03c8a49109106e1c375ee00380293fd326b63
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
Shane Kearns [Thu, 24 May 2012 15:14:28 +0000 (16:14 +0100)]
choke downloadProgress signals
The QNetworkReply::downloadProgress signal is intended for updating
user interface components (e.g. a progress bar).
Limit signal emissions to 10 times per second, with an additional
signal just before the finished() signal to provide the 100% progress.
For the size of download where a progress bar is necessary, this
update frequency seems sufficient.
The implementation is done by dropping signals which would be emitted
less than 100ms after the previous signal emission.
Task-number: QTBUG-20449
Change-Id: I9c2dbe16c70f3270cbf98f3c74cf9d9a3f0ab900
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
Tasuku Suzuki [Fri, 1 Jun 2012 03:42:50 +0000 (12:42 +0900)]
disable codecs for asian language when QT_NO_BIG_CODECS defined
Change-Id: I45025b13bacc5f63946b02a87c742beff1946c0b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>