Commit Graph

29 Commits

Author SHA1 Message Date
Oswald Buddenhagen
bcd0653e10 fix exit paths when pkg-config is not found
while the previous code actually worked, it's probably more or less
coincidence that running "false" produces the correct result.

Change-Id: Ib332bd6789ac7188570ba1af4676494b4e2c9d8c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-10 15:42:57 +00:00
Oswald Buddenhagen
472332559a fix use_gold_linker not being used by compile tests
Change-Id: Ib43ddb5174fd2d9b45f3c1a3e6d90f2b8f0dddd1
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-10 15:42:50 +00:00
Oswald Buddenhagen
52b3a81865 don't distclean before every compile test run in non-clean build dir
due to gmake's Makefile auto-rebuild feature, the distclean would
typically invoke qmake. overall, the step would almost double the run
time of each compile test.

instead, just clean between the regular qmake and make steps. this
deletes the object file the test executable depends on, so this is
sufficient to trigger a full rebuild.

Change-Id: If8e254e172dd169e31fd606d9ef31d9a14f670d8
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-10 15:42:40 +00:00
Oswald Buddenhagen
a4e1bc5b13 fix 'test' field checking in qtConfOutput_library()
Change-Id: I7cfcc33e188713f32d31e023999f5059c0bd05b1
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-10 15:42:33 +00:00
Oswald Buddenhagen
62838f07d4 fix handling of multi-token fields in config test definitions
standardize on the fields in the json structure being single strings in
which separate elements are quoted and space-joined (because quoting
is unlikely to be necessary in the json file itself, and this format
avoids the visual noise of array handling).

the quoting itself is expected to be qmake-compatible, which is assumed
to be the case for the output of pkg-config (it's actually shell-quoted,
but that's the same except in some not-so-relevant corner cases).

Change-Id: Icc1d7abc02c449fa759d9714bc5e56e2b8809585
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-10 15:42:23 +00:00
Oswald Buddenhagen
53e06e68b6 fix passing arguments with spaces to configure -D/-I/-L/-F
Change-Id: Ic03e487e5988fa38246975b52d1494af58ccb22f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-10 15:42:17 +00:00
Oswald Buddenhagen
865d80fdb5 remove workarounds for spurious function argument inheritance
the qmake bug has been fixed recently.

Change-Id: I4a4226b3cd77d449980f73e41cd256ed43940a09
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-10 15:42:12 +00:00
Oswald Buddenhagen
815a41f714 make use of silent error() emission
get rid of the entirely superfluous stock "Aborting." messages -
the event triggering the exit has already reported the problem.

Change-Id: Ib9dfb9e4212f60eceb2ea432cdf56c5a8afe9d65
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-08 09:48:41 +00:00
Maurice Kalinowski
bbca3cb78d Change test's entry point only when actually building it for winrt
Change-Id: I14de901e8cf16d0172a4bd35611c17de753348be
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-22 17:07:50 +00:00
Oswald Buddenhagen
34173e9350 print an empty line after every report
otherwise we get an unintelligible mess if multiple messages are emitted
in the same category. also, there were already empty lines between
categories, so it was also inconsistent.

Change-Id: I5e6622bc8a5d2773bbd99124cedf4e3eb73b8a60
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:14 +00:00
Oswald Buddenhagen
f914870e31 permit wrapping expressions in the json file
the json parser passes line breaks verbatim, so we need to get rid of
them ourselves.

Change-Id: I3b71fe54dcaa8c3a2ff94e8ac4845f49dabe1663
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:07 +00:00
Oswald Buddenhagen
b451a6e514 make 'feature' report type always use the feature descriptions
they are really meant for pretty-printing the summary in the first
place, and were previously unused when this type was invoked explicitly
(because of using a condition).
adjust the neon/mips_dsp/mips_dspr2 descriptions to match the context
and remove the now redundant "message" fields.

Change-Id: I08558f342a0d9189a37145085e5470f91a9d0881
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:03 +00:00
Oswald Buddenhagen
2b78a49f22 make firstAvailableFeature report type use the feature descriptions
they are really meant for pretty-printing the summary in the first
place, and were previously unused for this type.
adjust the c++* descriptions to match the context.

Change-Id: I2a76b5651892bf9bd6fec315e446bfdb7c3aee97
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:28:00 +00:00
Oswald Buddenhagen
caf51ee0dd make featureList report type use the feature descriptions
they are really meant for pretty-printing the summary in the first
place, and were previously unused for this type.
adjust the sse/avx/avx512 descriptions to match the context.

Change-Id: Icf514718355c6ccd608d825b70296cc0383dbfe8
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:27:56 +00:00
Oswald Buddenhagen
62b0113c7b fix recognition of -no-verbose
while probably not too useful, the old configure does allow explicitly
disabling verbose mode.

Change-Id: If0585443c649a67f616b3668cc90b18fecde11ba
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:27:35 +00:00
Oswald Buddenhagen
70970ad981 don't mention config.log in error messages when not applicable
Change-Id: I127bc23c667d337bbe2518e7364ca99db9a3163a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:27:24 +00:00
Oswald Buddenhagen
09110cdbea don't error() out on user errors
use the proper error reporting mechanism instead.

Change-Id: I3afb0086e5cd672d3c0f441c429682850202024f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:27:21 +00:00
Oswald Buddenhagen
0c3f431769 make command line parsing error messages consistent
... by adding some quoting and punctuation.

Change-Id: I553171a0c001edc195fcf2e85f0f70bf2cfdd728
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-22 10:27:17 +00:00
Lars Knoll
c81f957457 Fix the linkerSupportsFlag configure test type
Change-Id: Iefc874958d1f6d2447f9774a9c3cdf6d7a3b885b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-07-15 06:52:25 +00:00
Lars Knoll
4cb3c3e15a Replace EXTRA_LIBS with EXTRA_LIBDIR and EXTRA_FRAMEWORKPATH
Now that -l and -fw options are gone, using a combined EXTRA_LIBS
makes no sense anymore and only complicates things.

Change-Id: Ic12bf482f3bed041aff7f0891f008b1f34ae2b4d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-13 19:51:34 +00:00
Lars Knoll
a64d1d5499 Fix log message
Change-Id: I0192d3a3073038d98e72ce7abd3bf1ecae002989
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-08 13:03:20 +00:00
Lars Knoll
27be7c764e Make more configure tests work on Windows
Change-Id: I87d775de7b6d790a44bbc3c9598d617ad57d9d4c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-05 15:48:53 +00:00
Lars Knoll
c167308c5d Fix handling of -v/-verbose command line flags to configure
This is not a feature that should get propagated to other
configure runs, so simply hardcode support for it.

Change-Id: Ieb1c33243154b3583e91061d3592d7e87c36f402
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-02 06:18:40 +00:00
Lars Knoll
3114237877 Call arch test through the new qmake based configure system
Detect host and target architecture from within qmake, and set
QT_ARCH accordingly.

Change-Id: I30255f88c7645d197bd07355a1dff02b377cbbe8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-02 06:18:32 +00:00
Frederik Gladhorn
5b66f4ba40 Allow passing configure opts with two dashes again
The regexp were capturing too greedy:
$$replace(c, "^--?(.*)", "\\1") changes --developer-build to
-developer-build. Do not accidentally capture the second dash.

Change-Id: I19586a1678fc3bf3f450ec31f5bd7e71e9514b34
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-01 21:17:53 +00:00
Oswald Buddenhagen
d0e4f28dea pass pkg-config environment to qmake invocations
qmake tries to use pkg-config when the config.test contains PKG_CONFIG,
which will of course fail without the sysrooted env vars. and unlike in
the old configure, these don't become automatically available by virtue
of the script simply exporting them.

longer-term, the test programs shouldn't mention pkg-config deps
explicitly, as these are redundant with what is specified in the JSON
file. relevant changes are already pending.

Task-number: QTBUG-54403
Change-Id: Ie9d3bbb2e4febffde5fd122d7d0a8b70b8679fcc
Reviewed-by: Liang Qi <liang.qi@qt.io>
2016-06-28 18:23:42 +00:00
Oswald Buddenhagen
16203353d0 beautify generated spacing
don't have extra spaces in the pkg-config calls when no environment
variables are injected.

Change-Id: Ieb14f775b2a04726e8f62114b69d9be7fa662eb0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-06-28 18:23:39 +00:00
Oswald Buddenhagen
0c382efc79 use globally available constants
configure_base.prf gained them in a bugfix in 5.6.

Change-Id: I7763b3dcdfbcc6cfb0392ddc4b6556f926395111
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-06-28 18:23:34 +00:00
Lars Knoll
90eee08b3e Let qmake do most of the work of configuring Qt
Command line arguments, configure tests and features are now
defined in a json file and a configure.pri containing some
custom functions.

qmake uses the json file to determine command line arguments,
tests and features to be executed at configuration time.

A new qt_configure.prf contains all the infrastructure to parse
the command line, run the configure tests, determine the set of
available features and create a report about it.

Change-Id: If30ac089dd3e9f8c67ebd642bde10cfa960893bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-22 14:19:35 +00:00