Commit Graph

151 Commits

Author SHA1 Message Date
Tor Arne Vestbø
561ee92ede qmake: Expose qmake arguments as QMAKE_ARGS
Allows project files or mkspecs to call qmake recursively using system()
with the right arguments, which we use to fix the ios default_post.prf.

Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/1cdbe4752bef972db5471e811e9a781749cd0380)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:37 +01:00
Tor Arne Vestbø
612bc8ef85 qmake: Update internal mkspec on changes to QMAKESPEC
Allows the macx-xcode mkspec to be a wrapper around other mkspecs.

Since QMAKESPEC can now be set in the spec, we have to ensure not
to append to QMAKESPEC.

Change-Id: Idf33ff38147f14c488f14b426c02d9a739fdaecf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/a9bad65b091d15b0446fa141e0a69ebb94b38b70)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:32 +01:00
Tor Arne Vestbø
e20b41cdf9 qmake: Evaluate extra configs before loading default_pre
Exclusive builds uses setExtraConfigs to apply the particular CONFIG
of each build pass. Unfortunately we were not applying these extra
configs early enough in QMakeEvaluator::visitProFile() for them to
be picked up/usable by default_pre, something that can be useful.

Change-Id: I423a4688250a15f0c1a2cc65a48f0bbc14ad4497
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/eea1c359c9663cec15e7373c065ee06cba151eed)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:27 +01:00
Tor Arne Vestbø
aa94bee7fd qmake: Load extra variables only if also loading pre-files
The extra variables only need to be applied once, when we
are loading the pro file (and hence are loding pre files),
not for every single pri/prf that's loaded as a result of that
(which do not load pre files themselves).

Change-Id: I3118694a8eeccf2dc32c4f62df754033fad13528
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/8e7dc25380dceebca094e092d9feb21ad167ba91)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:20 +01:00
Oswald Buddenhagen
dd2425eb02 make setting a bad $$[QMAKEFEATURES] not crash qmake
Task-number: QTBUG-29642
Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/50a90720be7d67dcdfe704a82fb3b1138edd2aab)
2013-10-29 12:26:14 +01:00
Tor Arne Vestbø
4d75cb93a3 qmake: Expose ARGC to qmake functions to be able to check argument count
ARGS already exists, but is a flattened list of the arguments, so both
foo(bar, baz) and foo(bar baz) will give count(ARGS, 2), making it
unreliable for validating arguments to qmake functions.

Change-Id: I0bcc16614c64000169431327da48fd1a26708e67
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/09205d573413da8a2ac3826198fe36bb2dc4349f)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-10-29 12:26:03 +01:00
Daniel Teske
99f15f1706 ProParser: Plug raw data leak
QProcessEnvironment caches keys, so we must not pass it QStrings created with
fromRawData()

Task-number: QTCREATORBUG-9142
Change-Id: I29fade02f3bc4110fafb1b04d44f2e653951a2ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-02 12:14:13 +02:00
Oswald Buddenhagen
2995768776 execute some loops even in cumulative mode
we execute foreach loops now. this is (mostly) safe nowadays, because
a previous change added precautions against exponential value list
growth, so it's unlikely that two nested loops would keep the cpu busy
for a day as before.

we continue to exclude forever loops and loops with excessive integer
counts.

Task-number: QTCREATORBUG-6840
Change-Id: Iaa116086986cc7fd5023834753f791dd205102e5
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qttools/dd4d594c787a62fa8aa12695c5d115c71b59bacd)
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-26 14:36:58 +02:00
Oswald Buddenhagen
8b6c53733e make split_value_list() even less sane again
contrary to what one may expect, it's actually *not* supposed to remove
the meta-characters it interprets.

luckily, this function is not used much any more ...

Change-Id: I2b60f9b173140da78db2b07b596cc2e5f6e6d555
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/783181cfc11e995ad678237ebc0025a2a023c88c)
2013-08-26 14:36:03 +02:00
Oswald Buddenhagen
eff4a5dcee change reporting of missing files
use the new parser flags to report all i/o errors directly.

as a notable side effect, the "WARNING" prefix is gone (even though
it is still treated like that, which is mildly insane to start with).

Change-Id: I084375d5e7a3314ae763795f7c318804a9fb84b6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/b4c0d9166e7a8f5dfa5ca052002a5ab318787aa2)
2013-08-26 14:35:00 +02:00
Oswald Buddenhagen
41b1684a6d avoid boolean argument trap: introduce QMakeParser::ParseFlag
Change-Id: I26ce032a1aa044e9a4da0c8708a4490b07374992
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/0a1faaa9eb7807bf11d796c2eca624e2f3b378a7)
2013-08-26 14:33:52 +02:00
Oswald Buddenhagen
d022a2d19c lock baseEnv in cache()
as we modify the environment, it must be properly locked.
this implies that initFrom() also needs to be called with a lock.

Task-number: QTCREATORBUG-9835
Change-Id: I48bae9af9adaa0518e5a9db0ba08ff057ae14f9f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-29 16:30:24 +02:00
Oswald Buddenhagen
759d0a69dd always check for baseEnv init failure
creator's file watcher can trigger many parallel, entirely
non-hierarchical project reloads. if there is enough of them to exceed
the thread pool size, some will be serialized already by qtconcurrent,
not by our wait condition. these should notice a faulty spec, too.

Change-Id: I8ce40cb90fbc28045127881d57ec94e125df79af
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-29 16:30:15 +02:00
Chris Stylianou
af9978fd5c Fix incorrect uname usage.
The POSIX function uname() can return any non-negative value for success.
- Example: Solaris 10 returns 1 on success.
See: http://pubs.opengroup.org/onlinepubs/009695399/functions/uname.html

Change-Id: Ic3d51f94a31d8b562b28a2d09df3d31b04c77dc8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/e97c37a37ac27f9ab901e974f0a882e81ffd571d)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-07-02 15:37:18 +02:00
Oswald Buddenhagen
958672e460 find qmakespecs in source directory of shadow built qt
qt 5.2 does not copy the qmakespecs to the build directory any more.
a fallback to the /get property variant ensures that other build types
continue to work. consequently, this has no effect whatsoever on
installed qt versions.

(based on qtbase/214b55d5d4c8fdf975b3c36f69bac4b07d8d39d0)

Task-number: QTCREATORBUG-9572
Change-Id: I9edac11f8997fcb0594d0a67419d4733dd4ed86b
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:13:30 +02:00
Oswald Buddenhagen
890c10b60f remove pointless string conversion
Change-Id: I1640083007ed0c428dfb8ab5ce8b68a7d7e2a749
(cherry picked from qtbase/d1b1b31c9237e0bd11c61fc54ad45551b7d862da)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:08:49 +02:00
Oswald Buddenhagen
880c699c12 make .qmake.{super,cache,conf} find "anchored" features
these files function as "anchors" for mkspecs/ and features/ directories
used by projects which load these files. ironically, these files didn't
see these feature files themselves.

Change-Id: I590855eb4a9d2c72b9abfcaa431d2f85a719c6e2
(cherry picked from qtbase/7456dfb4552c4e4f900af9fa8923828a23737280)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:08:41 +02:00
Oswald Buddenhagen
80b672defd find features/ under mkspecs/ of source & build root
we were finding features/ directly in the source & build root, and we
were finding features/ under mkspecs/ from $QMAKEPATH and other mkspecs
locations, but we omitted the "transitive hull". this was
counterintuitive.

Change-Id: I9823e6606467c98f264c81385250da92311f51ca
(cherry picked from qtbase/0bf65180b8710e4516496d0bc53a265ff0dd6a01)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:08:15 +02:00
Oswald Buddenhagen
83818a9dae make Makefiles not depend on .qmake.super
sync with qmake. this is a no-op in qtc.

Change-Id: Id5158d7e272fdee4f4a041fb7c828295a0a86684
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/d135a311a34e693d761a3607663b0879be9bbf65)
2013-06-24 13:08:01 +02:00
Oswald Buddenhagen
28df27d924 update m_featureRoots less aggressively
it's not necessary to immediately re-calculate the roots after assigning
QMAKE_PLATFORM - it's sufficient to do it on-demand, so merely
invalidate them. this avoids that we re-calculate them multiple times
without ever using them in between while processing specs with
distributed platform assignments.

Change-Id: If508594764811b96a577fc81c5ded34ab0453148
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-04 15:43:00 +02:00
Oswald Buddenhagen
fa27cd79e0 cache results of feature search
looking up the same files in the same locations over and over again
is a rather significant waste. in particular, looking up the CONFIG
flags that don't correspond with features has a measurable impact on qt
creator's project loading time.

Task-number: QTCREATORBUG-9154
Change-Id: Ibae3d8b7797e706a6416a7d45c77734ab1281b51
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-04 15:42:46 +02:00
Oswald Buddenhagen
12652c2071 minor optimization: don't concatenate strings needlessly
Change-Id: Iddec1a818ff9f3ad8b12491100883e433e4b8246
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-04 15:42:22 +02:00
Oswald Buddenhagen
66802ef8bf implement simple VFS to support caching during project parsing
this tremendously speeds up loading of qt 5.1 based projects (including
qt itself) under mac os, as these look up the sdk dynamically, and use
caching to avoid doing that in every subproject.

Change-Id: I833253f81c3159056fab2ff888f293b36cc2ef56
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-04 15:42:13 +02:00
Marc Mutz
28d358b016 Use ProStringList::join(QChar) overload where applicable
Change-Id: I9c9964703dedfdab6e7bfac80be22bd5570e2e49
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/f4d47945ba17db276e94046473816014ed0342e9)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-17 14:53:09 +02:00
Oswald Buddenhagen
2c660bd5b5 make error() abort the qmake run, not just the current file
Change-Id: I82fc55680f9ffb227e25acb39c797596225ba89e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/0da7f097249f71726140a38647bb4824b09fad7b)
2013-05-17 14:52:40 +02:00
Oswald Buddenhagen
fd74944d9e don't allow overloading of built-in functions
the functions are not versioned or scoped, so user-defined overloads would
mess up qmake's own feature files. it seems safer to break user projects
than to allow the user to break qmake.

Change-Id: I020a2e6416bbb6e2fd2ece339629d848c00c8398
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/849f1f9efda601bcfd3760256205a2014e0bc936)
2013-05-17 14:52:28 +02:00
Oswald Buddenhagen
bb64e06a05 clean paths of found files in prepareProject()
any of the directories may be the root, which would lead to double slashes
in the constructed filenames.

Change-Id: I053e167a19b795b40e780fc29db356c7f24d286a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/97be79012cd39d1d0e7748d5c500d86c3becc258)
2013-05-17 14:51:11 +02:00
Oswald Buddenhagen
9e17199e68 make split_value_list() mostly sane
don't count parentheses, don't nest quotes, don't create empty elements.
the backslash still escapes only quotes (and itself) - $$list() (one of
the main users of this function) is commonly used with (windows) path
lists, so letting it escape anything would make a royal mess.

Change-Id: I29252fbe14fd6d28217450ec41cf8acfb2e30681
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/6c22b9b3e86d1617665f7b81b105c032f43c6d72)
(cherry picked from qtbase/a5c2ab47867a558d6f8f62126fb8e4f2777cfe06)
2013-05-17 14:51:03 +02:00
Tor Arne Vestbø
ee052e66c8 Update feature paths on assignment to QMAKE_PLATFORM
Instead of after parsing the makespecs, were we assumed QMAKE_PLATFORM
had been set by the makespec and did an explicit update.

Allows loading platform specific features from within a makespec after
updating QMAKE_PLATFORM.

Change-Id: I0eb3b7fb88ce48b00a384850c5d87223c06234d7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
(cherry picked from qtbase/4dd29248cd43ff730f7432b51a443b72fad3523d)
2013-05-17 14:50:21 +02:00
Oswald Buddenhagen
4a3012dd3f remove automatic splitting from $$() expansions
$$(FOO) would automatically split the contents of the environment
variable at whitespace (and interpret quoting inside it). the way to
prevent the splitting (but not the quote interpretation) would be using
"$$(FOO)".

this behavior is entirely unexpected and thus an incredibly effective
source of quoting problems - according to a grep over the whole qt
sources, there isn't a single case where things were done right. in qt
creator, well over half the cases are wrong.

also, the "feature" seems entirely pointless: nobody uses spaces as
separators in environment variables.

consequently, simply remove it, even in a patch release. i'm postulating
that nobody will complain.

Change-Id: I9ed3df1b0d1ef602acd78ceb118611d294561da6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/566d28316dd73bfe4a8ea34839989ee9df7e3895)
2013-05-17 14:49:59 +02:00
Friedemann Kleint
80011dde39 Fix Krazy warnings about includes/header guards in proparser.
Change-Id: Ie0067544492a207255a3ff3f43d95d2976c73c5e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-12 15:26:28 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Eike Ziller
fe74a9a722 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/fakevim/fakevimhandler.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	tests/auto/cplusplus/cxx11/cxx11.pro
	tests/auto/cplusplus/cxx11/tst_cxx11.cpp
	tests/auto/icheckbuild/icheckbuild.pro

Change-Id: I3c8351ad35617f56d15b788c8a46d8a6f453ef70
2012-11-09 11:20:10 +01:00
Oswald Buddenhagen
074daa41ff rewrite default spec handling
instead of symlinking (on unix) or creating a forwarding spec (on
windows), just put the default specs into (the bootstrapped)
QLibraryInfo.

Change-Id: I595500ef7399f77cb8ec117c4303bc0a2ffe505f
(cherry picked from qttools/0e75115e557b4cf1c737e3e5524f876a6b85a39e)
(cherry picked from qttools/769fa282ac8a4b98698dada6969452363e0eb415)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-06 14:01:44 +01:00
Oswald Buddenhagen
7ab1f97419 resolve only one level of symlinks, and only for the default specs
otherwise we end up in the source tree, which is counterproductive.

Task-number: QTBUG-26869
Change-Id: Id44a94f827dc285c75b9b243c8ef6478e668e3ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/29bdcb6008a58203efc62ee58e57d266e60be095,
plus creator-specific amend)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-06 14:01:23 +01:00
Oswald Buddenhagen
7d4e3b7b4c fold m_qmakespecFull back into m_qmakespec
the original value is not used any more after the final resolution.

Change-Id: Icadc219f045a1bbfd20506c4c72c53d1fb352969
(cherry picked from qttools/74d548c89dae83b392953f505876d8d383a72ce5,
plus creator-specific amend)
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-06 14:00:55 +01:00
Daniel Teske
95169eb8e3 Qt4Project: Do a build_pass evaluation
Some projects set TARGET or DESTDIR only in the build_pass

Task-number: QTCREATORBUG-4273

Change-Id: I3673dd93b37b10102a0c1f1ce053e1aef8aaf53f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-10-24 12:48:50 +02:00
Eike Ziller
70b5e1f64d Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: Id870f70aa35c232dbbd455f83429bab80f266c2d
2012-10-16 17:42:10 +02:00
Orgad Shaneh
6e3af2bf2e QMakeEvaluator: Set pro file as source for internal variables
Task-number: QTCREATORBUG-7006

Change-Id: I3f599f92d03b6f9fdf65b12cf4090e28cc497fbd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-15 12:22:44 +02:00
Eike Ziller
6fd252b0a5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessageloghandler.h
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemodeployconfigurationwidget.h
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentinfo.h
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/ichecklib_global.h
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h
	tests/manual/ssh/tunnel/tunnel.h

Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Oswald Buddenhagen
f529e22ec3 add tracing functionality to Tok{Return,Break,Next} handling
amends f53ed6c4 after merge

Change-Id: Ib6b4881245b3d6dc160285954be3c3454291e4b4
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-12 17:42:01 +02:00
Oswald Buddenhagen
e730e2bb8a Merge remote-tracking branch 'gerrit/2.6'
Conflicts:
	src/libs/utils/environment.cpp
	src/plugins/android/androidtoolchain.cpp
	src/plugins/projectexplorer/gcctoolchain.cpp
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	src/shared/proparser/qmakeevaluator.cpp

Change-Id: I554e96445a4d2b9ba0cc173ecd766091ee921aa2
2012-09-12 17:27:37 +02:00
Oswald Buddenhagen
f53ed6c4b3 don't pretend that break()/next()/return() are functions
it's a pretty braindead thing to implement control flow statements as
(built-in) functions.

as a "side effect", this fixes return() value handling for lists.

Change-Id: I59c8efa0e4d65329327115f7f8ed20719e7f7546
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-12 17:05:20 +02:00
Oswald Buddenhagen
8f9f655a0c namespace ProFileEvaluatorInternal => QMakeInternal
Change-Id: I0ffa76e802c0cc00d1866e7fe09ae54a6f535a6f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-04 12:10:52 +02:00
Oswald Buddenhagen
98afdc9279 compile without CamelCase headers
for faster bootstrapping of qmake

Change-Id: I602a023f4acbac276219bfc125863749ad96f754
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 19:43:49 +02:00
Oswald Buddenhagen
da62508d78 raise priority of messages about include files & features not being found
they aren't actually a warnings, even if the one about includes says so.
in qmake it is possible to suppress it by disabling *all* warnings, but
that makes no sense.

Change-Id: I16121f7aff0836d516139927333bd2df1f599dda
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-03 19:43:32 +02:00
Oswald Buddenhagen
5c96be2b63 fix inverted condition for "include file not found" message
Change-Id: Ib4bc5b2a277b630a09b5151f632476a399db26a6
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 19:42:58 +02:00
Oswald Buddenhagen
e513ee1bb0 fix line number display
the line numbers are limited to unsigned short in the parser and
consequently the evaluator. as that's an internal detail that could
change any time, the display works with ints. so the special value ~0
needs to be converted to -1 in the right place.

Change-Id: Ia9437164b88ecf2077ffc4c01d7e16033970df1b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-03 19:42:14 +02:00