Commit Graph

288 Commits

Author SHA1 Message Date
Oswald Buddenhagen
c451a1087e fix lookup of libraries with a full path but without extension
given that nobody noticed so far how broken this was, this doesn't
appear to be a particularly common path. but anyway ...

Change-Id: Ic17b239d724a4d69ff414a24be2e8588732bc8dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-28 00:09:45 +02:00
Oswald Buddenhagen
ad5e583956 don't actually resolve frameworks in findLibraries()
the code wouldn't actually *do* anything with them, because it was
completely broken. didn't seem to hurt, so just remove it.
we still need to parse -framework, though, so we don't do funny things
with its possible argument.

Change-Id: Ia3266538612d3314a72f4965ee9c1ea2d3046ac9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-28 00:09:45 +02:00
Oswald Buddenhagen
022f8ebd13 merge QMAKE_LIBDIR into QMAKE_LIBS early
dealing with the directories separately doesn't buy us anything. it's
easier to mix them into the libs, as that contains some paths, too, both
in projects and in prl files.

this brings the windows generators in line with the unix ones.

Change-Id: I1f58f7edd8e21d28bfabf04384bac2e315aaf446
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-27 16:29:38 +02:00
Oswald Buddenhagen
10fba42d71 unifiy initialization of QMAKE_LIBS{,_PRIVATE} among windows generators
Change-Id: Ib24ec6e290bfb277232c2483768c1b863f961462
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-27 16:29:34 +02:00
Oswald Buddenhagen
b053aaa9ef clean up fixTargetExt()
there doesn't appear to be a point in having the function virtual; the
part in the mingw generator can be inlined somewhere else just fine.

Change-Id: I50d66d505095b43fce601928c6240a684389a4b7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-27 16:29:29 +02:00
Oswald Buddenhagen
a102f1abf2 de-virtualize some more functions
they are not re-implemented anywhere

Change-Id: I444a967bb39ec6b5994747c9fa3f605b4c53ce4f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-27 16:29:23 +02:00
Oswald Buddenhagen
e38af23470 dispose of QMAKE_LIBDIR_FLAGS, "demote" QMAKE_FRAMEWORKPATH_FLAGS
merge their content as early as possible into QMAKE_LIBS. that's where
they ultimately end up anyway, and this approach is way simpler.
QMAKE_FRAMEWORKPATH_FLAGS is also used for the compiler flags, so it
remains as such in this second function.

Change-Id: Idc3ba4a9b2569fce3252d5f5ddc3f6ebf93650cf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-27 16:29:18 +02:00
Oswald Buddenhagen
14bdff32e2 remove duplicate -L flags in findLibraries()
unlike duplicated -l options, duplicated -L options are really redundant.

Change-Id: I4fa42d8ee2f10c6e6263457d9bb97291e13685ef
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-27 16:29:12 +02:00
Oswald Buddenhagen
a699fa520f unify handling of non-standard linker -L flags
findLibraries() now consistently expands to the linker-specific syntax,
and processPrlFiles() expects that syntax.

Change-Id: Ifd7b51d01378c91d6f2b132aca33629f21ca72f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-27 16:29:08 +02:00
Rafael Roquetto
3a27d4b480 Fix qmake hash function to use XOR
Use XOR instead of OR in order to avoid saturating all bits when computing the
hash value.

Change-Id: I50b1a044eb827239dae1c04732ca6a065f6233b4
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-25 13:31:05 +02:00
Oswald Buddenhagen
1a470256e1 remove support for rvct_linker config from MinGW generator again
yet another symbian remnant (building windows arm executables for the
simulator).
This reverts commit 5c88141ed0b25d8ab9318bf4cb5dda54b90b2ce1.

Change-Id: I6eb147c0e2710eba09a4339fa4a08a5b08f8dab3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-24 12:45:02 +02:00
Oswald Buddenhagen
8fa9249acc $$QMAKE_LIBDIR contents belong into $(LIBS), not $(LFLAGS)
unlike for the unix linker, this does not matter for the windows linker,
but keeping it consistent has advantages.

Change-Id: Ib9b9efa18c31d87c026d3cac5a8737f4612ad1c0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-24 12:45:02 +02:00
Oswald Buddenhagen
2184b27462 do not run findLibraries() over QMAKE_LFLAGS
libraries and related flags have no business in that variable, by
definition.

Change-Id: Ic958a3e082a498945ab56bc12ec05d4083ee43a5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-24 12:45:02 +02:00
Oswald Buddenhagen
e5b203dbc7 dispose of MSVCPROJ_LIBS
this way QMAKE_LIBS{,_PRIVATE} can be treated the same as in all other
generators, which allows us to:
- make the windows generators' findLibraries() be more like the unix
  version
- dispose of QMAKE_INTERNAL_PRL_LIBS handling while reading prl files
  (because the output always goes to QMAKE_LIBS)
- as a side effect, QMAKE_LIBS_PRIVATE are not subjected to prl file
  resolution any more, which is again consistent with unix - the
  correctness of that needs to be assessed separately.

Change-Id: Ie9bc04d117eff6a7cde846677f98acf3c64aa6ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-24 12:45:02 +02:00
Oswald Buddenhagen
c1056c80fb remove apparently pointless call to findLibraries()
the function was already called long before. if it really needs to be
called again, it's a) probably affecting the other windows generators as
well and b) the actual problem should be fixed instead.

This reverts commit d50c3c6624b2343e42d0df4b72212d9ced8f3682.

Change-Id: Iaa2007640fbc9acdc50ba3b0681efeb0d184f224
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-24 12:45:02 +02:00
Oswald Buddenhagen
80749d946b use QT_INSTALL_LIBS directly instead of messing with QMAKE_LIBDIR
this is what this code assumes anyway

Change-Id: I667412b101c18325321a568cc22d25ef07418ffb
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-18 22:35:10 +02:00
Oswald Buddenhagen
a89bd2d2fb remove QTDLL_POSTFIX stuff
the libinfix provides a way cleaner solution to that. i don't expect it
to be still actually used anyway.

Change-Id: I051522ec3abb3d92c529b5462b8514a706aa2ba1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
2012-07-18 22:34:49 +02:00
Oswald Buddenhagen
9651738f2d automatically fix separators in QMAKE_{DIST,}CLEAN
it's a tad insane to expect the user to do that

Change-Id: I75c68f2a28656c9ba2e3fabcc79718b899b29ce7
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-16 01:06:51 +02:00
Oswald Buddenhagen
c5195bcb49 remove another symbian remnant: QMAKE_RVCT_LINKSTYLE
Change-Id: Ibac060ecae061c72d4c7076b2d61a5cdd6247420
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-12 17:19:13 +02:00
Oswald Buddenhagen
079a87fec1 make the prl lookup search in standard locations
qtAddModule() skips adding standard library paths to LIBS. however, as
processPrlFiles() didn't know anything about that, it would not find the
prl files of qt libraries in these paths.
so centralize the definition of these default paths (we should actually
ask the linker for them) and use it in both places.
do the same for the include paths for symmetry.

Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-12 10:40:50 +02:00
Bjoern Breitmeyer
e7b28bce3b fixed ce makefileenvironment
XQMakeSpec is not available after configure
but the QMakeSpec contains the correct value

Change-Id: I6cd4da8b0d6c95565f31842c17611ffd361bc010
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-06 13:58:21 +02:00
Oswald Buddenhagen
2b4ae9651f don't use a different de-duplication algo for the library list in mingw prl files
i have no idea why that was done (the commit message says "not sure why
it works elsewhere"), but it makes no sense whatsoever, specifically
doing it only on mingw. probably some workaround, as usual. the
de-duplication is broken by design anyway.

This reverts commit 7a6302c2baf6861fdaf65992b71a7676859860c2.

Change-Id: I6edecaa062570e59eccd24d50919ba132e65a403
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-07-05 21:10:40 +02:00
Stephen Kelly
6bd4be9436 Uppercase the CONFIG for verbatim mode.
Change-Id: Iec883e0218af80fc329d866affb2b95db72c54d3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-04 15:52:00 +02:00
Konstantin Ritt
d53f5db953 qmake: improve the .pc files generator
Don't hardcode the "qt_config" EXTRA variable and use QMAKE_PKGCONFIG_VARIABLES instead.
This allows qmake create the .pc files that are unrelated to Qt.

Change-Id: Ic72005e8819a15f6c50f3aaf79424a247fba20af
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-03 01:08:44 +02:00
Joerg Bornemann
ee4f32acfa qmake: remove support for X.sources in DEPLOYMENT variables
This has been deprecated in Qt 4.8.0. Use X.files instead.

Task-number: QTBUG-3216
Task-number: QTBUG-25106

Change-Id: I581321591291118a13403e92da5997497e12c3fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-03 00:44:55 +02:00
Oswald Buddenhagen
61c775684f remove abuses of warn_msg()
this function is not meant to be used for debug statements

Change-Id: I84575e64814e2c9fd2e09c33fc680d0e6648f4ea
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-27 14:35:33 +02:00
Oswald Buddenhagen
b6b6e85f6b remove possibility to request project recursion from within a pro file again
the feature was implemented for the abld/sbs2 generators only, and is
of course undocumented.

this reverts most of commit e795e61ef93f8080f9938ac49f2fca306644af85.

Change-Id: Ibd1726b036ce6c45f8e678ea996218f774f8aed2
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 14:35:32 +02:00
Oswald Buddenhagen
a47c6e5ea0 dispose of Option::shellPath
use isWindowsShell() in the one remaining case.

Change-Id: I25eab398ef50df5a7f4ec808279b83ca900e3c58
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 14:35:32 +02:00
Oswald Buddenhagen
e18ceca47e assume windows shell iff dir separator is backslash
Change-Id: I411a4d6691e18b818ee7d1ced7f126f97af0902f
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 14:35:31 +02:00
Oswald Buddenhagen
104ee69216 purge "dumping all variables" debug loops
the as-we-go dump is sufficient (and usually necessary to actually find
the problem). if only the summary is interesting, the -E option can be
used now.

Change-Id: I9e34c6db9dcb99b38013c4d0cb80b8cb88ca36b5
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 14:35:31 +02:00
Oswald Buddenhagen
aac040b188 const correctness for variables()
Change-Id: Id11453ccbae3ffa32580badadada945d342d727a
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 14:35:30 +02:00
Oswald Buddenhagen
6957cb26b3 don't overuse variables()
Change-Id: Ib2da88e5e29c0bfecc39a9c06e82a34a4bd0b1e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-27 14:35:29 +02:00
Oswald Buddenhagen
f85292ab20 const correctness for values() calls
Change-Id: I1476ae8d3fb7364686398c5650729dee94a8e933
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 14:35:29 +02:00
Oswald Buddenhagen
4b637bf1f0 fix specdir()
get the actual spec path directly from the project - the specs in Option
are not necessarily resolved.

Change-Id: Ia2bf2199c5269aa5b5a9d4c38de36171f25d448b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-27 14:35:23 +02:00
Oswald Buddenhagen
4753958db7 revamp handling of qmake target mode
the project evaluator becomes oblivious of the target mode.
the mode is set up in spec_post.prf according to the spec.
$$QMAKE_TARGET contains the feature suffixes to search, and is also
contained in $$CONFIG.
the target_mode variable itself becomes private to the Makefile class.

Change-Id: I3c06d9dab536b753343cec6c5c491d3203e50bd8
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 09:39:50 +02:00
Oswald Buddenhagen
757cad45d7 purge the integrity target mode
it wasn't really wired, so the only effect it had was disabling the unix
scopes (despite an attempt to override that in the spec, which probably
worked before qt 4.6, and will start working again soon).

Change-Id: I95daff75b508edaf83a8a06fd327350acd62b124
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 09:39:50 +02:00
Oswald Buddenhagen
0ce1a6ba24 don't let the make spec determine the host mode any more
(some of) the generators are (moderately) x-platform, so it makes no
sense to nail the host platform to a generator (and thus a spec).
overriding the host platform is only a debugging mesasure anyway, so one
can use the (now undocumented) -unix/-macx/-win32 options for that.

Change-Id: If2a059f1feeb2c726e5838625ede1c7add829985
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-06-27 09:39:50 +02:00
Oswald Buddenhagen
fc1bca8608 repurpose -unix/-macx/-win32 options
they have been deprecated long enough, so we can mess with them now.
don't make them set the target mode any more; the makespec can do that
autoritatively. instead, they can be used to override the host mode for
debugging purposes.

Change-Id: Ife5fdcf4f1b6b926901a80896ac92b7d821278d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-27 09:39:49 +02:00
Oswald Buddenhagen
003d294cd6 clean up specdir()
the only callers which used non-default arguments are gone now, so remove
the arguments entirely. this also enables us to re-enable result caching.

Change-Id: I62f76e17e531a4eeafddb9b29716ca0a0eb3dbea
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-26 19:29:34 +02:00
Oswald Buddenhagen
851d666bcc fix -spec/-xspec argument re-assembly
the specs in Option are now only fixifiable absolute paths if an actual
path was passed on the command line - otherwise these are just names,
and we should pass them on verbatim.

Change-Id: I5b3535dadf2d6b2b3116331e6636f6e363a5361f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-26 19:29:23 +02:00
Bjoern Breitmeyer
00f9ac93c2 Fixed Wince Makefile environment
Integrated the checksdk tool into qmake and made
the makefiles selfcontained, so configure make, is now
enough to build qt for wince

Change-Id: I29076702eca2ec23d4d06bb3d5c5cef9d4f95161
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-19 16:46:09 +02:00
Oswald Buddenhagen
575a516630 revamp automatic makefile generation for sub-projects
instead of making the "real" targets depend on the makefiles, add
conditional makefile generation to the targets themselves.
this causes makefile generation to follow the recursion order determined
by the project, which is important when dealing with prl and module pri
files.
a side effect of this is that qmake and make calls are interleaved now,
which is entirely different from a 'qmake -r' run.

on the downside, calling make with multiple targets which operate on the
same subprojects without prior makefile generation will make a mess, as
the qmake calls will be racing. this should be no problem, as qmake does
not generate recursive targets where this would be useful - at least by
default.

it is not sufficient to just order the creation of the makefiles
non-recursively (e.g., by using gnu-specific order-only-prerequisites),
as an interrupted and subsequently resumed build would happily skip the
nested makefiles.
workable alternative approaches would be walking the entire tree in a
pre-pass to ensure makefile presence (which is incredibly slow) or
creating additional stamp files only after recursing and having the
makefiles depend on them (which is ugly).

Task-number: QTBUG-23376
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Change-Id: I88d3e7610215677d362026de316513d3bea04b06
2012-06-19 16:46:08 +02:00
Oswald Buddenhagen
5290f6df89 introduce $$QMAKE_CHK_EXISTS_GLUE
instead of hard-coding platform differences, use a variable.

Change-Id: I20e98811ad5f07429148c6f88aedbabc3ba58fff
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:07 +02:00
Oswald Buddenhagen
3c144b54cf normalize $$QMAKE_QMAKE
everything in the projects should be normalized. only the makefile
generators need to adjust it to the native form.

Change-Id: I06a4e997f32134d13949ec4a9dd1b44367aab7cb
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-19 16:46:07 +02:00
Oswald Buddenhagen
46d35cc566 fix in-/out-dir mixup
no point in entering the outdir and leaving the indir.
this doesn't really matter except for the obsolete borland generator,
but whatever.

Change-Id: Ieb4e4c549ebd65f99e4d00819c52822968b060a4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:06 +02:00
Oswald Buddenhagen
4fdd663208 remove unnecessary conditional
the code above already deals with the differences

Change-Id: Ifb799e46f5187e7bd3d0f0169e868ad267bcfe23
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:06 +02:00
Oswald Buddenhagen
d83619f65f remove duplicate assignments of MKDIR & CHK_DIR_EXISTS
Change-Id: I314659a1ba25227380176dc65a9c81e3c6df28c1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:06 +02:00
Oswald Buddenhagen
a40469ce57 unobfuscate makefiles re $(CHK_DIR_EXISTS)
no need to define an obscure variable for it. just inline it.
the assignments are left in for compatibility with hand-written commands.

Change-Id: I9bc3914e2c4116f3b8fe00a421ca0f036bb7e214
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:06 +02:00
Oswald Buddenhagen
76f0ce06e2 make 'qmake_all' targets respect .depends and CONFIG+=ordered
Change-Id: I010a9886ee0d40e4319cb6bd873b038336a42111
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-19 16:46:05 +02:00
Oswald Buddenhagen
2bbd50c6e4 make 'qmake_all' target of SUBDIRS projects properly recursive
so far it would rebuild the makefiles one level down only, which is
somewhat arbitrary and not really helpful.

Change-Id: I5fe01f379ecc4b210610a674d7df7dfc18131eef
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-19 16:46:05 +02:00
Oswald Buddenhagen
76ed07168d make 'qmake' target of SUBDIRS projects non-recursive
that's consistent with other projects. 'qmake_all' can be used for
recursion.

Change-Id: Ie6d620f7a3e0e28d3f2f82f01ca94c2f46137c68
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-19 16:46:05 +02:00
Oswald Buddenhagen
0e6ddb71cc don't use $(MAKEFILE) to refer to SUBDIRS' makefiles
$(MAKEFILE) is our own file, and using it would wreak havoc if it was
named anything but Makefile.

Change-Id: I51cae2014a85399b409f18788f864ff2a82e493e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:05 +02:00
Oswald Buddenhagen
91cf67c85d do not add "/." to _PRO_FILE_PWD_
if a "subdir" project added a project file from the same directory as
itself, "/." would be appended to the path, which is obviously not useful.

Change-Id: Ia733dedb57e568c5cf9a3d5eb29727176a5142c5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:04 +02:00
Oswald Buddenhagen
426d1ef0c1 allow projects to suppress qmake recursion
webkit does some unholy tricks with the ordering of qmake and make
invocations, so it does not work with qmake -r. to make it still
possible to integrate it into the qt5 aggregator project, give it a
chance to "break out" from the recursion.

Change-Id: I926836e44c0e0790cdd90e6b0c8f766dccc33c4d
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-19 16:46:04 +02:00
Oswald Buddenhagen
16d5b6911f look for .qmake.conf files
this is the source dir equivalent of .qmake.cache and can be checked
into the repository. it can be used to make project-wide settings, or
just to signal the presence of an mkspecs/ directory.

Change-Id: I5f1cebad2aa2a89e78089341b2051613b6b7a613
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:02 +02:00
Oswald Buddenhagen
f86f3613a5 find .qmake.cache for subprojects independently
this allows the creation of aggregator projects, like, say, qt5.
this is not expected to have a negative impact, as no project could
reasonably expect a nested .qmake.cache to *not* take effect - in fact,
if the project was processed stand-alone, it would already use it.

Change-Id: I33f2935d309baba7e95465f2fefb8231c4f03eda
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:02 +02:00
Oswald Buddenhagen
a07d4f8fb3 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>
2012-06-19 16:40:02 +02:00
Oswald Buddenhagen
6a8f64136e 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>
2012-06-19 16:39:58 +02:00
Oswald Buddenhagen
ab0d55e361 purge unused VcprojGenerator::findTemplate()
it looked fishy for years. now i know why. ;)

Change-Id: I822cadecaf8d914f383f9f907b92507852e434b4
2012-06-19 16:39:58 +02:00
Oswald Buddenhagen
b35d8e651b 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>
2012-06-19 16:39:58 +02:00
Oswald Buddenhagen
14bbab09c1 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>
2012-06-19 16:37:49 +02:00
Andy Shaw
4524187129 Remove unnecessary code from the XCode generator
Since we only support XCode 3 and later, then all of the legacy code can
be safely removed.

Change-Id: I9be8555aaa62c716b2277c2b97f41aa02d27ef13
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-12 17:40:21 +02:00
Thiago Macieira
28aa3324de Port away from QString::{to,from}Ascii in qmake
Properly use from/toLocal8Bit when referring to user data, even file
names.

Change-Id: I8fc7afa2ea570f8b1b1eecf354f01d6dfe0883cb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-14 17:33:04 +02:00
Mark Brand
8e053a5dfc fix static library names when generating .pc files for pkgconfig
219a688ac1 added the version extension
which only occurs on the DLL import library.

Change-Id: Ie913adf039d7f3a9aadf43f4af014289a8aeacbe
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Hib Eris <hib@hiberis.nl>
2012-04-19 19:46:07 +02:00
Lars Knoll
64255ef650 Merge remote-tracking branch 'origin/api_changes'
Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
2012-04-17 12:58:52 +02:00
Joerg Bornemann
ac7dd2782f qmake vc(x)proj generator: don't create bogus directories
When creating the temporary project object,
Option::output_dir must be adjusted temporarily.

Task-number: QTBUG-22788
Change-Id: Ibf8897a46b63f48b9e33d7e2168b09e559cecec7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-17 03:26:32 +02:00
Joerg Bornemann
8987e5d2cb qmake/Win: fix incomplete generated version resource
Since Windows Vista the resource language must be included to
make the version information visible in Windows Explorer.

Two new variables have been introduced:
RC_LANG (default: 1033) - resource language
RC_CODEPAGE (default: 1200) - resource codepage

Task-number: QTBUG-23218
Change-Id: I29e102d19501e3b7a43d5096fc4806bc38a4d846
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-04-17 03:26:32 +02:00
Joerg Bornemann
31cfe5ca1b qmake vcxproj generator: fix handling of /MANIFEST:NO linker option
Task-number: QTBUG-23513

Change-Id: I5dd6fb6fd7910e43acd28057133a3ad6613cfc1a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-04-17 03:26:32 +02:00
Joerg Bornemann
65425be8fe qmake vcproj generator: unused variable removed
Change-Id: Iaf8bb1772846001297e1a421c3860f5e4d090a35
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-17 03:26:32 +02:00
Lars Knoll
9bd0323551 Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
	configure
	src/corelib/io/qurl.cpp
	src/gui/kernel/qwindow.cpp
	src/tools/moc/generator.cpp
	src/widgets/kernel/qwidget_qpa.cpp
	src/widgets/styles/qstyle.h
	src/widgets/widgets/qtabbar.cpp
	tests/auto/corelib/codecs/utf8/tst_utf8.cpp

Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
2012-04-16 12:04:34 +02:00
Joerg Bornemann
99a2074369 qmake vc(x)project generator: fix VC++ Express detection
If VC++ 2010 Express and VC# 2010 Express are installed, then the
installation path is written in two places into the registry.
We're now filtering detected installations with the same installation
path.

Task-number: QTBUG-24956

Change-Id: I401430e7aa81d96c523d8172d2a2e9d40ebdb3ce
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-12 04:15:05 +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
Joerg Bornemann
0174c966f7 qmake vcxproj generator: properly escape XML attributes
Task-number: QTBUG-24954

Change-Id: I21299440ba3f268c2fa1e14d37003cdc3e6a35ad
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-05 17:48:15 +02:00
Yuchen Deng
c7f8f459bd Fix build all failed for 'TEMPLATE = aux'
NMAKE : fatal error U1073: don't know how to make 'all'
Stop.

Change-Id: I387a417d37e38811706a1ff460df8ee581c6a33f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-02 12:41:32 +02:00
Kent Hansen
95d6f8a4cf Merge master into api_changes
Conflicts:
	src/corelib/tools/qvector.h
	tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp

Change-Id: I877256e95f3788e617437f4e9661a88047f38cd6
2012-03-19 10:03:48 +01:00
Olivier Goffart
3abc6be685 Build qmake with QStringBuilder.
QStringBuilder will be enabled by default so qmake should build with it.

qstringbuiler.cpp has to be compiled in just for the convertFromAscii
(The alternative was to build with QT_NO_CAST_FROM_ASCII, but that would
be too much work)

Change-Id: I1fbeed7ed8a9d3bc38ef591a687c50644980e2fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-16 23:02:15 +01:00
Oswald Buddenhagen
c0791b86ab allow the unix generator to run in windows host mode
this is a complete bastardization of the concept and breaks the (unused)
debugging feature to create proper unix makefiles under windows, but
apparently it permits cross-compiling unix targets under windows.

Change-Id: I4ee95a20e7d6a6b2063ec7aa22f52c1a97d78a77
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-16 18:12:41 +01:00
Oswald Buddenhagen
2640b71be4 remove support for QMAKE_PLATFORM_DIR
this was a somewhat magic support for sysroots, automatically rewriting
a number of path-holding variables. this was (as usual) completely
undocumented, extremely fragile, and we are coming up with something
better now anyway.

Change-Id: I045910f532cb3efc839ea81c7a48f8db695e4092
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-08 23:52:34 +01:00
Oswald Buddenhagen
6c612c9338 move postProcessProject() call to sane location
there is totally no reason to call it unless the project is actually
used for makefile generation, and the excessive calls actually mess up
things.

Change-Id: Idb7912a5404f6054010d2f29cce820a167de4f6f
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-07 22:46:29 +01:00
Max Desyatov
9d5e721e96 escape *_script_file usages in MingwMakefileGenerator::writeObjectsPart
Task-number: QTBUG-24595
Change-Id: I1e78a6015247b9e41ae2b05b50fdedf0613f00f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-06 12:28:26 +01:00
Oswald Buddenhagen
703ef4f79e make QMakeProject's copy c'tor actually behave like one
instead of initializing base_vars with the original's vars, initialize
vars itself. this has two consequences:
- there is no need to call read(0) to initialize vars
- one cannot usefully call the complex read() anymore, as that would
  re-initialize vars from base_vars

this is much closer to an actual copy than the previous "seeding with
existing project".

Change-Id: Ib007bc5b779aedb680a27329aa578f7c604a4308
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-06 06:34:47 +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
c679b2f0a6 get rid of Option::user_configs
merge them into before_user_vars. they are evaluated right after another
anyway.

Change-Id: I11859284b363fee01233f6e20989444fef711d0d
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-02 21:33:08 +01:00
Oswald Buddenhagen
dce3821b8a make evaluation of spec+cache independent of build pass context
don't inject the build pass specific variables into the project even
before evaluating the .spec file and the .qmake.cache. they are not
supposed to base configuration on that - feature files should do that
later.

the immediate advantage of this is that base_vars is never manipulated
upfront any more, which allows for cleaner setup paths. also, we can do
more caching of the spec+cache contents.

Change-Id: I19d7f8bec1fb7c3b54121e26794340b287055ebf
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-02 21:33:08 +01:00
Oswald Buddenhagen
93ee903da7 clean up build pass project initialization
instead of messing with the Option singleton, add a way to inject
extra config values into QMakeProject.

Change-Id: Ia347dcc38af2c72913e30ebf5c2b4044f93b4f5f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-02 08:43:21 +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
Andy Shaw
221fe8776b Add support for XCode 4 into qmake
This adds support for XCode 4 into qmake and also indirectly fixes a
couple of problems that are relevant for XCode 3.2 too

Task-number: QTBUG-17247
Change-Id: I722470ad1854bd740cbbd28ff4956057a0e1906b
Reviewed-by: David Forstenlechner <dforsten@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
(cherry picked from commit b5871311457ca97816c0abbb8b935570bbfb657c)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-01 00:09:57 +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
78faefdbb1 Implement missing replacements when installing .pc files for win32
This implements replacements for win32 makefile generators similar
to the replacement functionality in unix makefile generators.

To enable Makefile code generation for replacements in win32 makefile
generators, you must set QMAKE_STREAM_EDITOR to e.g. sed.

When building for win32, sed is normally only available in the
mingw/msys build environment and when cross compiling on unix.
In these cases QMAKE_STREAM_EDITOR is set to sed in qmake.conf.

For other win32 build environments QMAKE_STREAM_EDITOR is not set
in qmake.conf and the replacements Makefile code is not generated.

Change-Id: Ie5de5d517eafaeaa2544f1e972aec3fe11d0a6f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-29 00:05:38 +01:00
Oswald Buddenhagen
e76d72aec5 don't generate bogus TARGETs
Change-Id: Ia99cd8862157e5630506d02b3c7e9b35d4bc3302
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-27 20:52:45 +01:00
Marc Mutz
8397a44bed QByteArray: deprecate QT_NO_CAST_FROM_BYTEARRAY-protected operators
The QByteArray::operator const {char,void}*() implicit
conversions are a source of subtle bugs, so they right-
fully can be disabled with QT_NO_CAST_FROM_BYTEARRAY.

  const char *d = qstring.toLatin1(); // implicit conversion
  while ( d ) // oops: d points to freed memory
     // ...

But almost no-one ever enabled this macros in the wild
and many were bitten by these implicit conversions, so
this patch deprecates them.

I would have liked to remove them completely, but there
are just too many occurrences even in Qt itself to hope
to find all conditionally-compiled code that uses these.

Also fixes all code that needs to compile under
QT_NO_DEPRECATED (in qmake/, src/tools/).

I984706452db7d0841620a0f64e179906123f3849 separately
deals with the bulk of changes in src/ and examples/.

Depends on I5ea1ad3c96d9e64167be53c0c418c7b7dba51f68.

Change-Id: I8d47e6c293c80f61c6288c9f8d42fda41afe2267
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-26 09:14:11 +01:00
Hib Eris
219a688ac1 Add TARGET_VERSION_EXT to pkgConfiglibName
The libName that is used in pkgConfig files should include the
TARGET_VERSION_EXT.

This is needed because in Win32MakefileGenerator::fixTargetExt(),
the TARGET_VERSION_EXT is added to the library name.

In Win32MakefileGenerator::processVars(), if TARGET_VERSION_EXT is empty,
it is set to VER_MAJ.

On platforms != Windows, TARGET_VERSION_EXT does not seem to be used.

We probably got away with this so far because pkgconfig files generation
for win32 was just added in 4.8 and nobody uses them yet, and because on
platforms != windows the TARGET_VERSION_EXT is not used.

Change-Id: I56f239e389f0ef926030e4c2376cadd92c4f673c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-24 16:21:37 +01:00
Hib Eris
cbf8f03cf4 Create target pkgconfig dir in qmake generated Windows Makefiles
Change-Id: Icea70987ee3c6040ca3ba278a578849cb74156f4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-24 11:29:43 +01:00
Andreas Hartmetz
553ffa0118 Revert "Escape project file name in makefile rebuild rules."
It was the result of miscoordination between Andreas Holzammer and me,
duplicating the functional change of commit
ea2c9f764f.
This reverts commit 8b7a9b4898.

Change-Id: I9a47746c1c12ca00b2dc5c5d50e99f9bf990e3f7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-23 16:38:45 +01:00
Stephen Kelly
7a7d82ffd9 Implement QMAKE_SUBSTITUTES.config = verbatim.
Change-Id: Ie0b333fa7fae2283e99e42f9cd7bab4e84991f40
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-11 13:30:31 +01:00
Andreas Holzammer
8b7a9b4898 Escape project file name in makefile rebuild rules.
Change-Id: I5407c2477613119b5aea2d00eb88cc24d35788ad
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-11 13:30:31 +01:00
Andreas Holzammer
e5830479d6 Escape Dependencies of precompiled header right.
Change-Id: I847c85250b78a934bd29e09250d209d9ef412f7f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-10 11:24:48 +01:00
Friedemann Kleint
9f54846d95 qmake: Work around MSVC compiler bug.
Disable optimization for getProjectUUID() as it triggers
ASSERT: "&other != this" at qstring.h:720 with -O2.

Change-Id: I51b31d4318ba9be187c186623099171d8f48235b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 19:03:18 +01:00
Andreas Hartmetz
ea2c9f764f Escape path names in qmake-generated Makefiles.
qmake-generated Makefiles since 4.6 (according to bug report) contain
recursive qmake invocations with absolute paths to .pro files, where the
absolute paths are not escaped.

Task-number: QTBUG-11776
Change-Id: I49772c7d9147efea3bb7b9623c61d92aa0bb6857
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-01-31 11:47:11 +01:00
Jason McDonald
5635823e17 Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.

Change-Id: I311e001373776812699d6efc045b5f742890c689
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-30 03:54:59 +01:00
Jason McDonald
629d6eda5c Update contact information in license headers.
Replace Nokia contact email address with Qt Project website.

Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:04:33 +01:00
Kurt Korbatits
0d128aded5 qmake wasn't handling spaces in names when dealing with extra installs.
When installing extra binaries the paths where not being escaped,
causing stripping and deleting to fail when dealing with filenames
that contained one or more spaces.

Change-Id: Iba4517b1110f6af30f7e2662cb86024a8b7b81f7
Reviewed-by: Kurt Korbatits  <kurt.korbatits@nokia.com>
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-01-14 05:36:54 +01:00
Oswald Buddenhagen
3e4f7ed5ed QMap => QHash
this should make the evaluator quite a lot faster. the total win for
qtbase/src is only 6%, though.

i made some effort to avoid that output files get randomized. however, i
didn't bother to keep debug output sorted.

Change-Id: Id9cef4674c0153c11ebbb65cb63bf8c229eb56e3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-01-10 16:16:34 +01:00
Joerg Bornemann
ece75a8adf qmake: fix default value for C++ optimization in vcxproj files
For the debug configuration the optimization should be turned off.

Task-number: QTBUG-23421

Change-Id: Ib63e0c51f9ab31180ff8ee01a1f6c57ab77e390e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-01-08 18:21:00 +01:00
Joerg Bornemann
c85121989f qmake: fix /MP option for VS 2010
Setting QMAKE_CFLAGS+=/MP in a project file did not work for VS 2010.

Task-number: QTBUG-23490

Change-Id: I39c349bf8dc2a4add2f32a430a245a20cc54147e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-01-08 18:20:54 +01:00
Friedemann Kleint
1ff1288c04 Make QUuid a class.
Silence MSVC warnings about forward-declarations as class
in the metatype system.

Change-Id: I676662e5919585e98c87413fd8360d6f41f73631
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
2012-01-06 19:24:23 +01:00
Jason McDonald
1fdfc2abfe Update copyright year in license headers.
Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-05 06:36:56 +01:00
Tor Arne Vestbø
47df122259 qmake: Add object_parallel_to_source config option
This solves the problem of two source files in the same project
having the same name, which ends up with colliding object files.
It also solves issues with moving files around in the source tree
when the GNUmake option is used together with gcc_MD_depends,
where the dependency file would end up with a dependency to the
old source location.

We already have object_with_source option, but that does not play
nicely with shadow-builds. The new option tries to keep the same
hirarcy in the output dir (while still respecting OBJECTS_DIR),
as the sources. Any source with a path outside of the root project
directory (absolute or relative, ../../foo.cpp), will be put inside
the objects directory with the full path appended.

Change-Id: I0c96291974f4801f4c55a26485d512b15c144c00
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-12-07 12:55:28 +01:00
Tor Arne Vestbø
f9d5d23508 qmake: Don't assume that GNUmake is able to resolve arbitrary dependencies
Extra compilers may define a depend_command that's used to generate
dependencies for each input. When GNUmake was enabled we failed to
run this command, which was affecting resource files, as resource
dependencies are handled by an extra compiler defined in resources.prf.

The result was that changes to resources included in a resources-file
did not trigger a re-run of qrc and subsequent recompile of the
resource object file.

We must always run these custom dependency commands, even when GNUmake
(and the extended gcc_MD_depends option) is enabled, as GCC is only able
to handle regular #include-type dependencies. Hence, the check for the
'include_deps' flag was removed from doDepends(), and the check for
GNUmake was moved to the one place where it still made sense -- when
deciding whether or not to do recursive dependency checking.

Change-Id: I5ddb75c873120c90f798808efc52e81500786301
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-11-28 15:08:01 +01:00
Tor Arne Vestbø
ca572a6144 qmake: Allow extra compilers to have the makefile depend on its inputs
And enable this configuration option for the resource compiler. This
results in a re-run of qmake whenever you touch a qrc file, which is
needed to keep the dependencies up to date. Otherwise you might end
up in the situation where you add a file to a qrc, edit the file some
time later, but a rebuild does not regenerate a cpp file and compile
that, so the final binary is stale.

Technically this dependency problem is present for all source files,
and qrc files are no different than any cpp file that you add a new
header #include to, or adding a Q_OBJECT macro to a header. To pick
up these changes we have to re-run qmake, so that qmake can run its
internal dependency checking, and any extra compiler dependency
commands.

The reason we're making this change for rcc files it that conceptually
people treat them as a "project" files, and expect them to behave similarly
to .pro or .pri files, in that editing the file will invalidate the
makefile. In practice this is often what happens when adding new
headers, as you touch the project file when changing the HEADERS
variable.

Task-number: QTBUG-13334
Change-Id: If69149678e7fba6d812d31dcc17877427f9a6122
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-28 13:35:42 +01:00
Rolland Dudemaine
6c0033f8e6 Add -nn for .cpp MOC preprocessing for INTEGRITY
qmake generates .gpj project files for INTEGRITY.
Calls to moc on headers or code that do not produce actual output cause
a Note to be generated. This is considered as an error during build by
the Green Hills gbuild build tool.
-nn can be added to not generate that note when no output is generated.
This was already done for headers in util/integrity/qt.bod, but it was
not there yet for .cpp files.

Merge-request: 2693
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit 480b2f4c79160afaac7934936d3ae6ea382ae2bb)
Change-Id: I480b2f4c79160afaac7934936d3ae6ea382ae2bb
2011-11-18 20:25:53 +01:00
Rolland Dudemaine
a69446d4e9 Remove commented out code.
Merge-request: 2693
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit c37ba1319c5789b82e14b84e9bc85ceff7cc6b5e)
Change-Id: Ic37ba1319c5789b82e14b84e9bc85ceff7cc6b5e
2011-11-18 20:25:53 +01:00
Oswald Buddenhagen
76beb4bbb2 support the obj-c #import statement in the dependency generator
Task-number: QTBUG-21965
Reviewed-by: joerg
(cherry picked from commit d2c7193107a170e2884db52272f4d0ee0da62856)
Change-Id: I8a5eb47bfd2c2ee9d064f054565915e64e4902f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-09 20:35:13 +01:00
Bradley T. Hughes
7ae1e39455 Silence warnings from clang
Many enumerator values were not handled in msbuild_objectmodel.cpp. For
each unhandled value, add a case statement that simply breaks.

Change-Id: I018fc5e641200568c88ccc6acb3f5b6ee6b3fd6f
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2011-11-09 09:42:20 +01:00
Joerg Bornemann
981dd3b314 qmake: remove symbian support
Change-Id: I1db834500921681676a6f46e7750bdd81bf0093d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-07 13:26:41 +01:00
Friedemann Kleint
456236b8c8 qmake: vcproj ignores subdirs that do "no_default_target".
It's nicer to do:
    SUBDIRS += foo
    foo.CONFIG = no_default_target no_default_install
then to omit foo from SUBDIRS because a Makefile is still produced
but "make" and "make install" don't descend automatically.

The vcproj generator doesn't know about this. This patch gets it to
check for no_default_target and then it simply ignores the directory.

Change-Id: I127bea79143c101612afb0e9c6603d3b065c7c56
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2011-11-04 17:46:49 +01:00
Tor Arne Vestbø
9f14f92398 Add CONFIG flag to use the compiler to generate makefile dependencies
Using CONFIG+=GNUmake will enable dependency tracking using included
dependency files, but will use an implicit makefile rule to generate
each .d file.

We now support an additional CONFIG option, gcc_MD_depends, that
instead passes the -MD flag to a GCC (compatible) compiler. This
will generate a .d file as a side-effect of the normal compile
step.

Change-Id: Ib6ce1d93e7f07e316a345bf12aa6f2b4e9a6415d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-10-24 15:39:33 +02:00
Tor Arne Vestbø
d74bb06079 Generate dependencies for moc_ style includes when using CONFIG+=GNUmake
Sometimes you will include "moc_foo.cpp" from a a cpp file, not to tell
qmake to run moc on it (that's handled by having foo.h in HEADERS), but
so that the moc'ed sources are compiled as part of foo.cpp instead of a
separate compilation unit, or if the moc'ed sources need defintions from
the cpp file.

The dependency logic for CONFIG+=GNUmake failed to take this case into
account, resulting in failures to find files when generating dependency
information for those files.

Change-Id: Iac00424e2d196b518b1ef576d7567335b8ff24f0
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-10-20 16:49:24 +02:00
Joerg Bornemann
d1ff829072 qmake: fix incrementalLinker option writing for vcxproj
Change-Id: I7d3b33a3a2e2f7c89ea956cd1304e7d2e365151f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-10-14 19:42:32 +02:00
Tor Arne Vestbø
eba17baaed Make CONFIG+=GNUmake respect shadow builds
Previously we were generating include lines based on the relative path of
the source file, which resulted in the .d files being placed in the source
dir as well. We now expect the .d files to live in the output dir, but keep
the dependency from the .d file to the original source file.

Before:

   .deps/%.d: %.cpp
   -include .deps/../../src/foo.d

After:

   .deps/%.d: ../../src/%.cpp
   -include .deps/foo.d

Change-Id: I749adeb671cf8424f0849521c5bb1489eb3e76d5
Reviewed-on: http://codereview.qt-project.org/6455
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-10-11 21:00:07 +02:00
Gunnar Sletta
b62bd0584a Merge branch 'refactor'
Conflicts:
	mkspecs/qws/linux-lsb-g++/qmake.conf
	src/gui/image/qpixmap_mac.cpp
	src/gui/painting/qpaintengine_x11.cpp
	src/gui/painting/qtessellator.cpp
	src/gui/text/qfontengine_qws.cpp
	src/gui/text/qfontengine_x11.cpp
	src/gui/widgets/qlinecontrol.cpp
	src/opengl/qgl.h
	src/opengl/qgl_x11egl.cpp
	src/plugins/plugins.pro

Change-Id: If52dcd55cd55f2983a756c2f843967702b60a310
2011-09-13 08:54:45 +02:00
Styopa Semenukha
c4c8bd26bd Added missing no_include_pwd check
Merge-request: 2619
Reviewed-by: ossi

(cherry picked from commit 9db6959f8893a64146124db0cfafbcb154a9e105)

Change-Id: I096013754bd78f5fcf8afcc3ae8734abc959c107
Reviewed-on: http://codereview.qt-project.org/4582
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-12 16:03:47 +02:00
suzuki toshiya
5dd78ba08f Replace 'i < len-1 && func(i+1)' by 'i+1 < len && func(i+1)'
Merge-request: 1299
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

(cherry picked from commit 81f0c44f6a4fd4cfa41af5d5b292008185bf3981)

Conflicts:
	src/qt3support/itemviews/q3listbox.cpp
	src/qt3support/sql/q3datatable.cpp
	src/qt3support/text/q3richtext.cpp
	src/scripttools/debugging/qscriptcompletiontask.cpp
	src/scripttools/debugging/qscriptdebuggercodeview.cpp

Change-Id: Ie70590e77e69fbb9b2322c48c3963fd9cbba19e6
Reviewed-on: http://codereview.qt-project.org/4581
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-12 16:03:47 +02:00
Gunnar Sletta
a9ac6da893 Merge branch 'master' into refactor
Conflicts:
	src/3rdparty/v8
	src/gui/text/qfont_qpa.cpp
	src/gui/widgets/qlinecontrol.cpp
	src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.cpp
	tests/auto/gui.pro
	tests/auto/network.pro
	tests/auto/qstring/tst_qstring.cpp

Change-Id: Id118c172645303ccf06a207050d5bf1462ff57fe
2011-09-12 07:49:03 +02:00
Joerg Bornemann
13908a560b qmake vcxproj generator: fix XML conversion for build events
Task-number: QTBUG-20419

Change-Id: I52069e0beb2b39ec4a67e83de583efd2926c6611
Reviewed-on: http://codereview.qt-project.org/4484
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2011-09-08 19:50:28 +02:00
Paul Olav Tvete
43b9a99983 Merge remote branch 'staging/master' into refactor
Conflicts:
	examples/animation/animatedtiles/animatedtiles.pro
	examples/animation/appchooser/appchooser.pro
	examples/animation/easing/easing.pro
	examples/animation/easing/window.h
	examples/animation/moveblocks/moveblocks.pro
	examples/animation/states/states.pro
	examples/animation/stickman/stickman.pro
	examples/dbus/dbus-chat/dbus-chat.pro
	examples/dbus/dbus.pro
	examples/dbus/remotecontrolledcar/car/car.pro
	examples/dbus/remotecontrolledcar/controller/controller.pro
	examples/dbus/remotecontrolledcar/remotecontrolledcar.pro
	examples/desktop/desktop.pro
	examples/desktop/screenshot/screenshot.pro
	examples/dialogs/classwizard/classwizard.pro
	examples/dialogs/configdialog/configdialog.pro
	examples/dialogs/dialogs.pro
	examples/dialogs/extension/extension.pro
	examples/dialogs/findfiles/findfiles.pro
	examples/dialogs/licensewizard/licensewizard.pro
	examples/dialogs/sipdialog/sipdialog.pro
	examples/dialogs/standarddialogs/standarddialogs.pro
	examples/dialogs/tabdialog/tabdialog.pro
	examples/dialogs/trivialwizard/trivialwizard.pro
	examples/draganddrop/draggableicons/draggableicons.pro
	examples/draganddrop/draggabletext/draggabletext.pro
	examples/draganddrop/dropsite/dropsite.pro
	examples/draganddrop/fridgemagnets/fridgemagnets.pro
	examples/draganddrop/puzzle/puzzle.pro
	examples/effects/blurpicker/blurpicker.pro
	examples/effects/fademessage/fademessage.pro
	examples/effects/lighting/lighting.pro
	examples/examples.pro
	examples/gestures/imagegestures/imagegestures.pro
	examples/graphicsview/anchorlayout/anchorlayout.pro
	examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.pro
	examples/graphicsview/collidingmice/collidingmice.pro
	examples/graphicsview/diagramscene/diagramscene.pro
	examples/graphicsview/dragdroprobot/dragdroprobot.pro
	examples/graphicsview/elasticnodes/elasticnodes.pro
	examples/graphicsview/flowlayout/flowlayout.pro
	examples/graphicsview/graphicsview.pro
	examples/graphicsview/simpleanchorlayout/simpleanchorlayout.pro
	examples/graphicsview/weatheranchorlayout/weatheranchorlayout.pro
	examples/ipc/ipc.pro
	examples/ipc/sharedmemory/sharedmemory.pro
	examples/itemviews/addressbook/addressbook.pro
	examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.pro
	examples/itemviews/chart/chart.pro
	examples/itemviews/coloreditorfactory/coloreditorfactory.pro
	examples/itemviews/combowidgetmapper/combowidgetmapper.pro
	examples/itemviews/customsortfiltermodel/customsortfiltermodel.pro
	examples/itemviews/dirview/dirview.pro
	examples/itemviews/editabletreemodel/editabletreemodel.pro
	examples/itemviews/fetchmore/fetchmore.pro
	examples/itemviews/frozencolumn/frozencolumn.pro
	examples/itemviews/itemviews.pro
	examples/itemviews/pixelator/pixelator.pro
	examples/itemviews/puzzle/puzzle.pro
	examples/itemviews/simpletreemodel/simpletreemodel.pro
	examples/itemviews/simplewidgetmapper/simplewidgetmapper.pro
	examples/itemviews/spinboxdelegate/spinboxdelegate.pro
	examples/itemviews/stardelegate/stardelegate.pro
	examples/ja_JP/linguist/hellotr/hellotr.pro
	examples/layouts/basiclayouts/basiclayouts.pro
	examples/layouts/borderlayout/borderlayout.pro
	examples/layouts/dynamiclayouts/dynamiclayouts.pro
	examples/layouts/flowlayout/flowlayout.pro
	examples/layouts/layouts.pro
	examples/linguist/arrowpad/arrowpad.pro
	examples/linguist/hellotr/hellotr.pro
	examples/linguist/linguist.pro
	examples/linguist/trollprint/trollprint.pro
	examples/mainwindows/application/application.pro
	examples/mainwindows/dockwidgets/dockwidgets.pro
	examples/mainwindows/mainwindows.pro
	examples/mainwindows/mdi/mdi.pro
	examples/mainwindows/menus/menus.pro
	examples/mainwindows/recentfiles/recentfiles.pro
	examples/mainwindows/sdi/sdi.pro
	examples/network/network.pro
	examples/opengl/opengl.pro
	examples/openvg/openvg.pro
	examples/painting/basicdrawing/basicdrawing.pro
	examples/painting/concentriccircles/concentriccircles.pro
	examples/painting/fontsampler/fontsampler.pro
	examples/painting/imagecomposition/imagecomposition.pro
	examples/painting/painterpaths/painterpaths.pro
	examples/painting/painting.pro
	examples/painting/transformations/transformations.pro
	examples/qtconcurrent/imagescaling/imagescaling.pro
	examples/qtconcurrent/map/map.pro
	examples/qtconcurrent/progressdialog/progressdialog.pro
	examples/qtconcurrent/qtconcurrent.pro
	examples/qtconcurrent/runfunction/runfunction.pro
	examples/qtconcurrent/wordcount/wordcount.pro
	examples/qtestlib/qtestlib.pro
	examples/qtestlib/tutorial1/tutorial1.pro
	examples/qtestlib/tutorial2/tutorial2.pro
	examples/qtestlib/tutorial3/tutorial3.pro
	examples/qtestlib/tutorial4/tutorial4.pro
	examples/qtestlib/tutorial5/tutorial5.pro
	examples/qws/dbscreen/dbscreen.pro
	examples/qws/framebuffer/framebuffer.pro
	examples/qws/mousecalibration/mousecalibration.pro
	examples/qws/simpledecoration/simpledecoration.pro
	examples/qws/svgalib/svgalib.pro
	examples/richtext/calendar/calendar.pro
	examples/richtext/orderform/orderform.pro
	examples/richtext/richtext.pro
	examples/richtext/syntaxhighlighter/syntaxhighlighter.pro
	examples/sql/sql.pro
	examples/statemachine/eventtransitions/eventtransitions.pro
	examples/statemachine/rogue/rogue.pro
	examples/statemachine/trafficlight/trafficlight.pro
	examples/statemachine/twowaybutton/twowaybutton.pro
	examples/threads/mandelbrot/mandelbrot.pro
	examples/threads/queuedcustomtype/queuedcustomtype.pro
	examples/threads/threads.pro
	examples/tools/codecs/codecs.pro
	examples/tools/completer/completer.pro
	examples/tools/contiguouscache/contiguouscache.pro
	examples/tools/customcompleter/customcompleter.pro
	examples/tools/customtype/customtype.pro
	examples/tools/customtypesending/customtypesending.pro
	examples/tools/echoplugin/echoplugin.pro
	examples/tools/echoplugin/echowindow/echowindow.pro
	examples/tools/echoplugin/plugin/plugin.pro
	examples/tools/i18n/i18n.pro
	examples/tools/inputpanel/inputpanel.pro
	examples/tools/plugandpaint/plugandpaint.pro
	examples/tools/plugandpaintplugins/basictools/basictools.pro
	examples/tools/plugandpaintplugins/extrafilters/extrafilters.pro
	examples/tools/plugandpaintplugins/plugandpaintplugins.pro
	examples/tools/regexp/regexp.pro
	examples/tools/settingseditor/settingseditor.pro
	examples/tools/styleplugin/plugin/plugin.pro
	examples/tools/styleplugin/styleplugin.pro
	examples/tools/styleplugin/stylewindow/stylewindow.pro
	examples/tools/tools.pro
	examples/tools/treemodelcompleter/treemodelcompleter.pro
	examples/tools/undoframework/undoframework.pro
	examples/touch/dials/dials.pro
	examples/touch/fingerpaint/fingerpaint.pro
	examples/touch/knobs/knobs.pro
	examples/touch/pinchzoom/pinchzoom.pro
	examples/tutorials/addressbook-fr/addressbook-fr.pro
	examples/tutorials/addressbook-fr/part1/part1.pro
	examples/tutorials/addressbook-fr/part2/part2.pro
	examples/tutorials/addressbook-fr/part3/part3.pro
	examples/tutorials/addressbook-fr/part4/part4.pro
	examples/tutorials/addressbook-fr/part5/part5.pro
	examples/tutorials/addressbook-fr/part6/part6.pro
	examples/tutorials/addressbook-fr/part7/part7.pro
	examples/tutorials/addressbook/addressbook.pro
	examples/tutorials/addressbook/part1/part1.pro
	examples/tutorials/addressbook/part2/part2.pro
	examples/tutorials/addressbook/part3/part3.pro
	examples/tutorials/addressbook/part4/part4.pro
	examples/tutorials/addressbook/part5/part5.pro
	examples/tutorials/addressbook/part6/part6.pro
	examples/tutorials/addressbook/part7/part7.pro
	examples/tutorials/modelview/1_readonly/1_readonly.pro
	examples/tutorials/modelview/2_formatting/2_formatting.pro
	examples/tutorials/modelview/3_changingmodel/3_changingmodel.pro
	examples/tutorials/modelview/4_headers/4_headers.pro
	examples/tutorials/modelview/5_edit/5_edit.pro
	examples/tutorials/modelview/6_treeview/6_treeview.pro
	examples/tutorials/modelview/7_selections/7_selections.pro
	examples/tutorials/modelview/modelview.pro
	examples/tutorials/widgets/childwidget/childwidget.pro
	examples/tutorials/widgets/nestedlayouts/nestedlayouts.pro
	examples/tutorials/widgets/toplevel/toplevel.pro
	examples/tutorials/widgets/windowlayout/windowlayout.pro
	examples/uitools/multipleinheritance/multipleinheritance.pro
	examples/uitools/textfinder/textfinder.pro
	examples/uitools/uitools.pro
	examples/widgets/analogclock/analogclock.pro
	examples/widgets/calculator/calculator.pro
	examples/widgets/calendarwidget/calendarwidget.pro
	examples/widgets/charactermap/charactermap.pro
	examples/widgets/codeeditor/codeeditor.pro
	examples/widgets/digitalclock/digitalclock.pro
	examples/widgets/groupbox/groupbox.pro
	examples/widgets/icons/icons.pro
	examples/widgets/imageviewer/imageviewer.pro
	examples/widgets/lineedits/lineedits.pro
	examples/widgets/movie/movie.pro
	examples/widgets/scribble/scribble.pro
	examples/widgets/shapedclock/shapedclock.pro
	examples/widgets/sliders/sliders.pro
	examples/widgets/softkeys/softkeys.pro
	examples/widgets/spinboxes/spinboxes.pro
	examples/widgets/styles/styles.pro
	examples/widgets/stylesheet/stylesheet.pro
	examples/widgets/tablet/tablet.pro
	examples/widgets/tetrix/tetrix.pro
	examples/widgets/tooltips/tooltips.pro
	examples/widgets/validators/validators.pro
	examples/widgets/widgets.pro
	examples/widgets/windowflags/windowflags.pro
	examples/xml/xml.pro
	mkspecs/qws/freebsd-generic-g++/qplatformdefs.h
	mkspecs/qws/linux-arm-g++/qplatformdefs.h
	mkspecs/qws/linux-arm-gnueabi-g++/qplatformdefs.h
	mkspecs/qws/linux-armv6-g++/qplatformdefs.h
	mkspecs/qws/linux-avr32-g++/qplatformdefs.h
	mkspecs/qws/linux-cellon-g++/qplatformdefs.h
	mkspecs/qws/linux-dm7000-g++/qplatformdefs.h
	mkspecs/qws/linux-dm800-g++/qplatformdefs.h
	mkspecs/qws/linux-generic-g++-32/qplatformdefs.h
	mkspecs/qws/linux-generic-g++/qplatformdefs.h
	mkspecs/qws/linux-ipaq-g++/qplatformdefs.h
	mkspecs/qws/linux-lsb-g++/qplatformdefs.h
	mkspecs/qws/linux-mips-g++/qplatformdefs.h
	mkspecs/qws/linux-nacl-g++/qplatformdefs.h
	mkspecs/qws/linux-powerpc-g++/qplatformdefs.h
	mkspecs/qws/linux-sh-g++/qplatformdefs.h
	mkspecs/qws/linux-sh4al-g++/qplatformdefs.h
	mkspecs/qws/linux-sharp-g++/qplatformdefs.h
	mkspecs/qws/linux-x86-g++/qplatformdefs.h
	mkspecs/qws/linux-x86_64-g++/qplatformdefs.h
	mkspecs/qws/linux-zylonite-g++/qplatformdefs.h
	mkspecs/qws/macx-generic-g++/qplatformdefs.h
	mkspecs/qws/macx-iphonedevice-g++/qplatformdefs.h
	mkspecs/qws/macx-iphonesimulator-g++/qplatformdefs.h
	mkspecs/qws/macx-nacl-g++/qplatformdefs.h
	mkspecs/qws/solaris-generic-g++/qplatformdefs.h
	src/gui/dialogs/qprintdialog_qws.cpp
	src/gui/egl/qegl_qws.cpp
	src/gui/embedded/qcopchannel_qws.cpp
	src/gui/embedded/qcopchannel_qws.h
	src/gui/embedded/qdecoration_qws.cpp
	src/gui/embedded/qdecoration_qws.h
	src/gui/embedded/qdecorationdefault_qws.cpp
	src/gui/embedded/qdecorationdefault_qws.h
	src/gui/embedded/qdecorationfactory_qws.cpp
	src/gui/embedded/qdecorationfactory_qws.h
	src/gui/embedded/qdecorationplugin_qws.cpp
	src/gui/embedded/qdecorationplugin_qws.h
	src/gui/embedded/qdecorationstyled_qws.cpp
	src/gui/embedded/qdecorationstyled_qws.h
	src/gui/embedded/qdecorationwindows_qws.cpp
	src/gui/embedded/qdecorationwindows_qws.h
	src/gui/embedded/qdirectpainter_qws.cpp
	src/gui/embedded/qdirectpainter_qws.h
	src/gui/embedded/qkbd_defaultmap_qws_p.h
	src/gui/embedded/qkbd_qws.cpp
	src/gui/embedded/qkbd_qws.h
	src/gui/embedded/qkbd_qws_p.h
	src/gui/embedded/qkbddriverfactory_qws.cpp
	src/gui/embedded/qkbddriverfactory_qws.h
	src/gui/embedded/qkbddriverplugin_qws.cpp
	src/gui/embedded/qkbddriverplugin_qws.h
	src/gui/embedded/qkbdintegrity_qws.cpp
	src/gui/embedded/qkbdintegrity_qws.h
	src/gui/embedded/qkbdlinuxinput_qws.cpp
	src/gui/embedded/qkbdlinuxinput_qws.h
	src/gui/embedded/qkbdqnx_qws.cpp
	src/gui/embedded/qkbdqnx_qws.h
	src/gui/embedded/qkbdtty_qws.cpp
	src/gui/embedded/qkbdtty_qws.h
	src/gui/embedded/qkbdum_qws.cpp
	src/gui/embedded/qkbdum_qws.h
	src/gui/embedded/qkbdvfb_qws.cpp
	src/gui/embedded/qkbdvfb_qws.h
	src/gui/embedded/qlock.cpp
	src/gui/embedded/qlock_p.h
	src/gui/embedded/qmouse_qws.cpp
	src/gui/embedded/qmouse_qws.h
	src/gui/embedded/qmousedriverfactory_qws.cpp
	src/gui/embedded/qmousedriverfactory_qws.h
	src/gui/embedded/qmousedriverplugin_qws.cpp
	src/gui/embedded/qmousedriverplugin_qws.h
	src/gui/embedded/qmouseintegrity_qws.cpp
	src/gui/embedded/qmouseintegrity_qws.h
	src/gui/embedded/qmouselinuxinput_qws.cpp
	src/gui/embedded/qmouselinuxinput_qws.h
	src/gui/embedded/qmouselinuxtp_qws.cpp
	src/gui/embedded/qmouselinuxtp_qws.h
	src/gui/embedded/qmousepc_qws.cpp
	src/gui/embedded/qmousepc_qws.h
	src/gui/embedded/qmouseqnx_qws.cpp
	src/gui/embedded/qmouseqnx_qws.h
	src/gui/embedded/qmousetslib_qws.cpp
	src/gui/embedded/qmousetslib_qws.h
	src/gui/embedded/qmousevfb_qws.cpp
	src/gui/embedded/qmousevfb_qws.h
	src/gui/embedded/qscreen_qws.cpp
	src/gui/embedded/qscreen_qws.h
	src/gui/embedded/qscreendriverfactory_qws.cpp
	src/gui/embedded/qscreendriverfactory_qws.h
	src/gui/embedded/qscreendriverplugin_qws.cpp
	src/gui/embedded/qscreendriverplugin_qws.h
	src/gui/embedded/qscreenintegrityfb_qws.cpp
	src/gui/embedded/qscreenintegrityfb_qws.h
	src/gui/embedded/qscreenlinuxfb_qws.cpp
	src/gui/embedded/qscreenlinuxfb_qws.h
	src/gui/embedded/qscreenmulti_qws.cpp
	src/gui/embedded/qscreenmulti_qws_p.h
	src/gui/embedded/qscreenproxy_qws.cpp
	src/gui/embedded/qscreenproxy_qws.h
	src/gui/embedded/qscreenqnx_qws.cpp
	src/gui/embedded/qscreenqnx_qws.h
	src/gui/embedded/qscreentransformed_qws.cpp
	src/gui/embedded/qscreentransformed_qws.h
	src/gui/embedded/qscreenvfb_qws.cpp
	src/gui/embedded/qscreenvfb_qws.h
	src/gui/embedded/qsoundqss_qws.cpp
	src/gui/embedded/qsoundqss_qws.h
	src/gui/embedded/qtransportauth_qws.cpp
	src/gui/embedded/qtransportauth_qws.h
	src/gui/embedded/qtransportauth_qws_p.h
	src/gui/embedded/qtransportauthdefs_qws.h
	src/gui/embedded/qunixsocket.cpp
	src/gui/embedded/qunixsocket_p.h
	src/gui/embedded/qunixsocketserver.cpp
	src/gui/embedded/qunixsocketserver_p.h
	src/gui/embedded/qvfbhdr.h
	src/gui/embedded/qwindowsystem_p.h
	src/gui/embedded/qwindowsystem_qws.cpp
	src/gui/embedded/qwindowsystem_qws.h
	src/gui/embedded/qwscommand_qws.cpp
	src/gui/embedded/qwscommand_qws_p.h
	src/gui/embedded/qwscursor_qws.cpp
	src/gui/embedded/qwsdisplay_qws.h
	src/gui/embedded/qwsdisplay_qws_p.h
	src/gui/embedded/qwsembedwidget.cpp
	src/gui/embedded/qwsevent_qws.cpp
	src/gui/embedded/qwsevent_qws.h
	src/gui/embedded/qwslock.cpp
	src/gui/embedded/qwslock_p.h
	src/gui/embedded/qwsmanager_p.h
	src/gui/embedded/qwsmanager_qws.cpp
	src/gui/embedded/qwsmanager_qws.h
	src/gui/embedded/qwsproperty_qws.cpp
	src/gui/embedded/qwsproperty_qws.h
	src/gui/embedded/qwsprotocolitem_qws.h
	src/gui/embedded/qwssharedmemory.cpp
	src/gui/embedded/qwssharedmemory_p.h
	src/gui/embedded/qwssignalhandler.cpp
	src/gui/embedded/qwssignalhandler_p.h
	src/gui/embedded/qwssocket_qws.cpp
	src/gui/embedded/qwssocket_qws.h
	src/gui/embedded/qwsutils_qws.h
	src/gui/image/qpixmap_qws.cpp
	src/gui/inputmethod/qwsinputcontext_p.h
	src/gui/inputmethod/qwsinputcontext_qws.cpp
	src/gui/kernel/qapplication_qpa.cpp
	src/gui/kernel/qapplication_qws.cpp
	src/gui/kernel/qclipboard_qws.cpp
	src/gui/kernel/qcursor_qws.cpp
	src/gui/kernel/qdesktopwidget_qws.cpp
	src/gui/kernel/qeventdispatcher_glib_qws.cpp
	src/gui/kernel/qeventdispatcher_glib_qws_p.h
	src/gui/kernel/qeventdispatcher_qws.cpp
	src/gui/kernel/qeventdispatcher_qws_p.h
	src/gui/kernel/qplatformintegration_qpa.cpp
	src/gui/kernel/qplatformwindowformat_qpa.cpp
	src/gui/kernel/qplatformwindowformat_qpa.h
	src/gui/kernel/qsessionmanager_qws.cpp
	src/gui/kernel/qsound_qws.cpp
	src/gui/kernel/qwidget_qws.cpp
	src/gui/painting/qcolormap_qws.cpp
	src/gui/painting/qgraphicssystem.cpp
	src/gui/painting/qgraphicssystem_mac.cpp
	src/gui/painting/qgraphicssystem_mac_p.h
	src/gui/painting/qgraphicssystem_p.h
	src/gui/painting/qgraphicssystem_qws.cpp
	src/gui/painting/qgraphicssystem_qws_p.h
	src/gui/painting/qgraphicssystem_raster.cpp
	src/gui/painting/qgraphicssystem_raster_p.h
	src/gui/painting/qgraphicssystem_runtime.cpp
	src/gui/painting/qgraphicssystem_runtime_p.h
	src/gui/painting/qgraphicssystemfactory.cpp
	src/gui/painting/qgraphicssystemfactory_p.h
	src/gui/painting/qgraphicssystemplugin.cpp
	src/gui/painting/qgraphicssystemplugin_p.h
	src/gui/painting/qpaintdevice_x11.cpp
	src/gui/painting/qprintengine_ps.cpp
	src/gui/painting/qprintengine_ps_p.h
	src/gui/painting/qprintengine_qws.cpp
	src/gui/painting/qprintengine_qws_p.h
	src/gui/painting/qregion_qws.cpp
	src/gui/painting/qunifiedtoolbarsurface_mac.cpp
	src/gui/painting/qunifiedtoolbarsurface_mac_p.h
	src/gui/painting/qwindowsurface_mac.cpp
	src/gui/painting/qwindowsurface_qws.cpp
	src/gui/painting/qwindowsurface_qws_p.h
	src/gui/painting/qwindowsurface_raster.cpp
	src/gui/painting/qwindowsurface_raster_p.h
	src/gui/painting/qwindowsurface_s60.cpp
	src/gui/painting/qwindowsurface_s60_p.h
	src/gui/painting/qwindowsurface_x11.cpp
	src/gui/painting/qwindowsurface_x11_p.h
	src/gui/painting/qwmatrix.h
	src/gui/text/qabstractfontengine_qws.cpp
	src/gui/text/qabstractfontengine_qws.h
	src/gui/text/qfont_qws.cpp
	src/gui/text/qfontdatabase_qws.cpp
	src/gui/text/qfontengine_qws.cpp
	src/opengl/qgl_qpa.cpp
	src/opengl/qgl_qws.cpp
	src/opengl/qglscreen_qws.cpp
	src/opengl/qglscreen_qws.h
	src/opengl/qglwindowsurface_qws.cpp
	src/opengl/qgraphicssystem_gl.cpp
	src/opengl/qgraphicssystem_gl_p.h
	src/openvg/qpaintengine_vg.cpp
	src/openvg/qpaintengine_vg_p.h
	src/openvg/qpixmapdata_vg.cpp
	src/openvg/qpixmapdata_vg_p.h
	src/openvg/qpixmapfilter_vg.cpp
	src/openvg/qpixmapfilter_vg_p.h
	src/openvg/qvg.h
	src/openvg/qvg_p.h
	src/openvg/qvg_symbian.cpp
	src/openvg/qvgcompositionhelper_p.h
	src/openvg/qvgfontglyphcache_p.h
	src/openvg/qvgimagepool.cpp
	src/openvg/qvgimagepool_p.h
	src/openvg/qwindowsurface_vg.cpp
	src/openvg/qwindowsurface_vg_p.h
	src/openvg/qwindowsurface_vgegl.cpp
	src/openvg/qwindowsurface_vgegl_p.h
	src/plugins/decorations/default/main.cpp
	src/plugins/decorations/styled/main.cpp
	src/plugins/decorations/windows/main.cpp
	src/plugins/gfxdrivers/ahi/qscreenahi_qws.cpp
	src/plugins/gfxdrivers/ahi/qscreenahi_qws.h
	src/plugins/gfxdrivers/ahi/qscreenahiplugin.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.h
	src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
	src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
	src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
	src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
	src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
	src/plugins/gfxdrivers/directfb/qdirectfbscreenplugin.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.cpp
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.h
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.cpp
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.h
	src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.cpp
	src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.h
	src/plugins/gfxdrivers/linuxfb/main.cpp
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreenplugin.cpp
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h
	src/plugins/gfxdrivers/qvfb/main.cpp
	src/plugins/gfxdrivers/transformed/main.cpp
	src/plugins/gfxdrivers/vnc/main.cpp
	src/plugins/gfxdrivers/vnc/qscreenvnc_p.h
	src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp
	src/plugins/gfxdrivers/vnc/qscreenvnc_qws.h
	src/plugins/graphicssystems/meego/dithering.cpp
	src/plugins/graphicssystems/meego/qmeegoextensions.cpp
	src/plugins/graphicssystems/meego/qmeegoextensions.h
	src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
	src/plugins/graphicssystems/meego/qmeegographicssystem.h
	src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
	src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
	src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp
	src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h
	src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
	src/plugins/graphicssystems/meego/qmeegopixmapdata.h
	src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp
	src/plugins/graphicssystems/opengl/main.cpp
	src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp
	src/plugins/graphicssystems/openvg/qgraphicssystem_vg_p.h
	src/plugins/graphicssystems/shivavg/main.cpp
	src/plugins/graphicssystems/shivavg/shivavggraphicssystem.cpp
	src/plugins/graphicssystems/shivavg/shivavggraphicssystem.h
	src/plugins/graphicssystems/shivavg/shivavgwindowsurface.cpp
	src/plugins/graphicssystems/shivavg/shivavgwindowsurface.h
	src/plugins/graphicssystems/trace/main.cpp
	src/plugins/graphicssystems/trace/qgraphicssystem_trace.cpp
	src/plugins/graphicssystems/trace/qgraphicssystem_trace_p.h
	src/plugins/kbddrivers/linuxinput/main.cpp
	src/plugins/mousedrivers/linuxtp/main.cpp
	src/plugins/mousedrivers/pc/main.cpp
	src/plugins/mousedrivers/tslib/main.cpp
	src/widgets/kernel/qwidget_qpa.cpp
2011-05-24 15:22:06 +02:00
Jyri Tahtela
f9f395c28b Update licenseheader text in source files for qtbase Qt module
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.

Reviewed-by: Trust Me
2011-05-24 12:34:08 +03:00
David Boddie
0748751c9f Squashed commit of the changes from the mobile-examples repository
(4.7-generated-declarative branch).
2011-05-23 14:24:07 +02:00
Morten Sorvig
e0e696dd05 Remove QMAKE_MACOS_DEPLOYMENT_TARGET.
Not needed any more, 10.5 and up supports setting
the deployment target/minimum version on the
compiler command line.
2011-05-19 09:18:46 +02:00
Rohan McGovern
152a10012c Ensure that recursive QMAKE_EXTRA_TARGETS use the correct makefile
Recursive QMAKE_EXTRA_TARGETS were omitting the `-f' option to make.
This would break in the case where the correct makefile was not named
`Makefile'.  The included autotest demonstrates the problem.

Note that this was fixed for normal targets back in 2005
by faac7bd178654fd67a6f3f9cf4f6f2605071448d (p4 202370), but was not
fixed for extra targets.

Reviewed-by: ossi
(cherry picked from commit 96a3bf7a8bbc1e5361e16cbeeceb4be674b88c30)
2011-05-13 08:59:43 +10:00
Oswald Buddenhagen
c1077e9fb6 don't ignore create_prl for static plugins
Task-number: QTBUG-18436
Reviewed-by: joerg
(cherry picked from commit 2ca4ce848c63c9fa0a48c0f9f4e7fdbc90463bf1)
2011-05-11 16:39:47 +02:00
Christian Kandeler
bc88f528dc qmake: Introduce new template type
The template type "aux" is intended for projects that do not require building anything, but may need to install stuff (e.g. applications with QML entry point).

Reviewed-by: Joerg Bornemann
(cherry picked from commit 56443421cb5e537e60abd7ced42c9ebf587683fe)
2011-05-10 12:54:55 +02:00
Marius Storm-Olsen
9fe4482de1 Fix Makefile subtargets
Commit c04b7a55d1 broke subtargets
so every rule would just make 'first' (implicitly)
2011-05-07 03:19:51 +00:00
Joerg Bornemann
61e6639c82 qmake vc(x)proj generator: support x64 Qt builds
Task-number: QTBUG-17911
Reviewed-by: ossi
2011-05-06 11:50:15 +02:00
Joerg Bornemann
c6fc5395ad qmake: remove dead code from VcxprojGenerator
Reviewed-by: ossi
2011-05-06 11:50:03 +02:00
Joerg Bornemann
c04b7a55d1 qmake nmake generator: pass MAKEFLAGS to sub-make calls
Unlike other make tools nmake doesn't do this automatically.

Reviewed-by: ossi
2011-05-03 13:31:12 +02:00
Marius Storm-Olsen
bd06459179 Make qmake respect <subdir>.CONFIG = no_default_install
It already respects no_default_target
2011-04-27 12:05:58 +02:00
Qt by Nokia
38be0d1383 Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
Qt Git wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:

http://qt.gitorious.org/qt/pages/GitIntroductionWithQt

If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.

Branched from the monolithic repo, Qt master branch, at commit
896db169ea224deb96c59ce8af800d019de63f12
2011-04-27 12:05:43 +02:00