Commit Graph

489 Commits

Author SHA1 Message Date
Thiago Macieira
00f35b4ae7 Move pointer size detection entirely to qprocessordetection.h
This commit removes the legacy ptrsize check, which was deficient
because it did not work for multiarch systems (when we supported fat
OS X binaries) and did not work for bootstrap builds because the size
might be different when cross-compiling.

Instead, let's rely on the predefined preprocessor macros to detect
correctly. As a nice side-effect, this fixes 64-bit Android builds
cross-compiled from Windows.

Task-number: QTBUG-48932
Change-Id: I1d0f78915b5942aab07cffff140f9a52b9342f23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2015-10-26 19:57:54 +00:00
Yoann Lopes
0f54343808 Configure: don't enable the WMF multimedia backend by default.
This means we now use DirectShow as default multimedia backend
on Windows.

Task-number: QTBUG-45597
Change-Id: If95bbb8e7b33d73d80f7ba42de63ac54539e15b8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-23 13:45:18 +00:00
Maurice Kalinowski
f43bc7ade5 msvc2015: Align compiler flags with rest of Qt build
msvc-desktop.conf does disable the exception warning for building all
modules, so use the same set of compiler flags for building qmake.

Change-Id: I97026f3cb78e656e8de76e1c8afe19cec6501499
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-10-20 14:10:11 +00:00
Thiago Macieira
27361eadf1 Add a deprecation warning to configure about -no-c++11
We'll remove it in Qt 5.7, so people ought to be notified now.

Change-Id: Ib056b47dde3341ef9a52ffff13ef6caa91757a9f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-10-18 04:47:00 +00:00
Thiago Macieira
2d2cb6434f Move the official Qt version from qglobal.h to .qmake.conf
It's easier to parse than qglobal.h. The objective is actually to have
macros with parts of the version number, so the major or minor numbers
could be used in other preprocessor macros.

Change-Id: I42e7ef1a481840699a8dffff1404eda1dd5c308d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-14 20:12:57 +00:00
Friedemann Kleint
a329203129 configure.exe: Add -verbose option.
Make it possible to inspect the output of the configure tests.

Task-number: QTBUG-48525
Change-Id: If93d597679ae1b189dfdaa485852d34cad52593b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-02 14:26:34 +00:00
Thiago Macieira
a2f501f939 Make -dbus-linked the default on all platforms
[ChangeLog][QtDBus] The QtDBus library now links directly to the
libdbus-1 system library if it was detected at configure time. To force
linking to the library, pass option -dbus-linked to configure; to force
dynamically loading at runtime, use -dbus-runtime.

Task-number: QTBUG-14131
Change-Id: Ie33d1f22f85b465ab0ce166b8f17b8491eae1c21
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-10-01 21:08:34 +00:00
Oswald Buddenhagen
a75995124d fix configure bootstrap on mingw with spaces in the builddir
the missing quotes would cause us to misdetect mingw as msys.

Change-Id: I408c0e6bfc3cbfecd02c54904cf96ab79e0b6d88
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-01 16:19:01 +00:00
Oswald Buddenhagen
e8dcd5038d "frame" execution of config tests precisely
the purpose is to make build log parsers able to ignore build failures
in verbose configure output.

Change-Id: I01af2e019fd1b055fdfcf6749faeebacb7a39c3f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-01 16:18:49 +00:00
Thiago Macieira
3d7586b760 Auto-detect whether 64-bit std::atomic really works
The C++ standard says it must, but some badly-configured toolchains seem
to be lacking support.

In particular, for some 32-bit platforms without native support for
them, GCC implements 64-bit atomics via out-of-line functions in
libatomic. If that library is missing... well, then std::atomic 64-bit
doesn't work and we mustn't try to use it.

This was found when trying to compile Qt 5.6 for MIPS 32-bit:

Linking library libQt5Core.so.5.6.0
.obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::load(std::memory_order) const':
/opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:500: undefined reference to `__atomic_load_8'
.obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::store(unsigned long long, std::memory_order)':
/opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:478: undefined reference to `__atomic_store_8'

Yocto bug report: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8274

Change-Id: I42e7ef1a481840699a8dffff140224d6614e5c36
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-22 22:46:08 +00:00
Maurice Kalinowski
b1738d6329 WinRT: Display error message when configuring with -no-opengl
-no-opengl is not a supported option when compiling for WinRT or Windows
Phone. Hence bail out early to avoid compilation errors at later stage.

Task-number: QTBUG-48041
Change-Id: I449b8935b95f0b75139a0f7bfa13256ea3fe95e5
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-09-14 09:34:10 +00:00
Thiago Macieira
4684c1afe5 Add detection of C++14 and C++1z compiler features
[ChangeLog][General Improvements] Qt's buildsystem now detects whether
the compiler supports C++14 and experimental support for C++1z. If the
compiler supports it, then Qt is automatically compiled using that
support.
\
This does not apply to user applications built using qmake: those are
still built with C++11 support only. To enable support for C++14 in your
application, add to your .pro file: CONFIG += c++14 (similarly for
C++1z).

Change-Id: Ib056b47dde3341ef9a52ffff13ef1f5d01c42596
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2015-09-05 23:05:40 +00:00
Thiago Macieira
3accdb8086 Detect which C++ standard edition the compiler defaults to
Change-Id: I2991557a5cc74cd18e88ffff13f670bf25d5423e
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-08-25 06:25:11 +00:00
Eskil Abrahamsen Blomfeldt
2978163759 Windows: Include DirectWrite support by default if available
This will automatically add DirectWrite support if the required
headers are found. The note about platform support from the help
screen has also been removed, since Windows XP is not officially
supported. Applications that need to run on XP can still build
with -no-directwrite.

Also changed the configure test to be a proper compile test, since
cross-compiled builds for Windows CE may break otherwise.

Change-Id: I7fc7bfb25f2f86ced8a4d4c78a69527de0273707
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-07-21 08:21:34 +00:00
Ulf Hermann
2ca151a8d1 configure: Put qml-debug option into QT_CONFIG
This way we can exclude the connection plugins from being compiled
if it's off.

Change-Id: Ic5ea1d35ea9f5929420268a1aefebf0464d8520b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-07-06 14:15:39 +00:00
Friedemann Kleint
05fa4ac7df configure.exe: Fix detection of DirectWrite for MinGW.
Check on the correct library name.

Change-Id: I10980a8ba3e3e96d368319af0d86d6fb339c03ff
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-06-16 14:14:09 +00:00
Simon Hausmann
e2f66f9215 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/corelib/global/qnamespace.qdoc
	src/corelib/io/qwindowspipereader.cpp
	src/corelib/io/qwindowspipereader_p.h
	src/corelib/statemachine/qstatemachine.cpp
	src/corelib/statemachine/qstatemachine_p.h
	src/plugins/platforms/xcb/qxcbconnection.h
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/auto/tools/qmake/tst_qmake.cpp
	tests/manual/touch/main.cpp

Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
2015-06-03 10:23:56 +02:00
Kai Koehne
2d7004c587 configure: Show only LGPLv3 for WinRT & WinCE
With Qt 5.5 we are changing the license of the Qt for the WinRT &
WinCE ports to LGPLv3 / GPLv2+ / commercial.

Change-Id: I221559c5c42b1dcda172eb85e6bfa53c91976b23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-06-01 06:30:13 +00:00
Kai Koehne
d2da14a9e0 configure: Remove COMMERCIAL_VERSION define
Not used anymore.

Change-Id: I7db671008758e79598697e06e12f1b959bf479c6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-05-27 15:28:54 +00:00
Kai Koehne
e63dde4967 configure: Remove traces of "Snapshot" edition
Change-Id: I7f2511e224d848bb820321be5dd190d8b3b8f1c4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-05-27 15:28:51 +00:00
Kai Koehne
63660402d8 Run license checker in qmake
Check for a valid license not only in configure, but also in qmake.
To limit the runtime overhead we cache the day of the last run in
a .stash file. This allows us to run licheck only for the top-level
qmake call, and only once per day.

This requires an updated licheck executable that supports the new
check mode.

[ChangeLog][Tools][qmake] For commercial builds, qmake now checks for
a valid Qt license. This requires setting up a Qt Account (or
.qt-license file) on the development machine.

Change-Id: I2c2a05a4602cc661560568b76ddf520cb8134769
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-05-27 10:23:10 +00:00
Kai Koehne
5d707bff3d Make Qt Edition available to qmake
Allow .pro, .prf ... files to check the edition (OpenSource,
Evaluation, Preview, Enterprise ...) of the Qt installation.

Change-Id: If2a8e3877d066b225b1777916cef1d23c65f8512
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-05-27 10:23:04 +00:00
Alex Trotsenko
e227b8ecf6 Deinline QRingBuffer class
Reduce the size of .text section in QtCore by 4.5KB and in QtNetwork
by 26.5KB.

Change-Id: If7998776166b9681c1e4b24c51d40444aa996d7a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-05-20 13:49:00 +00:00
Oswald Buddenhagen
03ae6ad8e9 remove $INCLUDE/$LIB hack for mingw
mingw is not msvc, and nobody in their right mind would expect it to
behave like it.

[ChangeLog][Important Behavior Changes][qmake] Qt configure and qmake
used with a MinGW spec will no longer emulate MSVC by picking up the
INCLUDE and LIB environment variables. Use the -I/-L configure options
to pass additional paths, as you would under Unix.

Change-Id: I533bb97de34d14dcbd45e0416283a79f44096c67
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-05-12 09:10:18 +00:00
Oswald Buddenhagen
67a24c260b rpath: use new DTAGS if available
this allows LD_LIBRARY_PATH to take precedence over the hard-coded
rpath, which is the only sane thing to do (which is also why i'm not
adding an option to disable it).
this behavior is consistent with non-linux systems.

the windows version has no auto-detection, just like for gold linker
usage.

Task-number: QTBUG-3069
Change-Id: Ief9ba032291c898d75d76ecc740390954382a804
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-05-05 12:04:15 +00:00
Thiago Macieira
6668f5becf Implement a more direct headersclean check
Test each include file directly, instead of doing a large #include. This
verifies that each header is compilable on its own. One big advantage of
doing it via a special compiler in qmake is that we skip pre-compiled
headers, which has hidden build errors in the past.

This solution is implemented by making syncqt produce a second list of
headers.  This list is the same as the list of headers in the source
code to be installed, minus the headers that declare themselves to be
unclean, via the pragma:
  #pragma qt_sync_skip_header_check

This mechanism is applied only for public libraries (skipping
QtPlatformSupport, an internal_module).

This test is enabled only for -developer-builds of Qt because it
increases the compilation time.

On QtTest: the library only links to QtCore, but it has two headers that
provide inline-only functionality by including QtGui and QtWidgets
headers (namely, qtest_gui.h and qtest_widget.h). If those two modules
aren't getting compiled due to -no-gui or -no-widgets to configure, we
need to remove the respective headers from the list of headers to be
checked. If they are being built, then we need to make QtTest's build
wait for the headers to be generated and that happens when qmake is
first run inside the src/gui and src/widgets directories.

Change-Id: I57d64bd697a92367c8464c073a42e4d142a9a15f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-17 00:54:45 +00:00
Rafael Roquetto
f9da2c2c36 configure: take XQMAKESPEC into account when looking for files.
When cross-compiling, locateFile() needs to look into the XQMAKESPEC
directories instead. Otherwise, this will cause checkAvailability()/findFile()
to report wrong results.

Change-Id: Ia1b566b70cff039d8fd540bde3c7b4707338348a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-26 21:15:22 +00:00
Rafael Roquetto
6a15f68574 QNX: Fix compilation on Windows.
This regression was introduced by commit
c3e50db199. It is also necessary to pass QT_NO_SHAREDMEMORY and
QT_NO_SYSTEMSEMAPHORE when building on Windows.

Change-Id: I584cc07de013c5797e096fbda983167268789c8d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-26 21:15:16 +00:00
Eric Lemanissier
b814d05101 Add mingw GCC Version to qconfig.pri
This change adds missing variables in mkspecs/qconfig.pri about gcc
compiler version when using mingw: QT_GCC_{MAJOR,MINOR,PATCH}_VERSION
This is needed in case CONFIG += c++14 is used.

Task-number: QTBUG-44142
Change-Id: I34c27f9154bb745a8ee75c777a0acbdbc5bda5a9
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-25 11:13:19 +00:00
David Schulz
0d5ffd67a4 Add auto detection for tslib support when using Windows configure.
Change-Id: I83fb53ed23813e572d924b4c3d5da4aae6f32775
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-16 05:39:44 +00:00
Kai Koehne
fdb7fa937a Windows: Add -static-runtime configure option
Support statically linking the MSVC/mingw runtime libraries without
manually tweaking mkspecs. This is helpful for projects like the
installer framework.

MSVC does not support mixing MT[d]/MD[d] flags in different
compilation units. The static_runtime option is therefore added
to both QT_CONFIG and CONFIG.

Change-Id: Ifd6dc9c362090457de8e2c62477d0445f9479722
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-11 09:26:37 +00:00
Samuli Piippo
b0ae0db61a Remove neon command line options from configureapp
Neon support needs to be enabled unconditionally in mkspecs, so removing
-neon and -no-neon command line options from configure app. It now has
the same functionality as configure script.

Task-number: QTBUG-44690
Change-Id: Iaf5bf7ac4e11fcb798f643660e48a4ed3ce1036b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-03-09 14:19:31 +00:00
Oswald Buddenhagen
6400e4bb10 adjust configure's path output to relative paths
amends 5b27d02c3 (literally - i forgot to push the squashed commit).

Change-Id: I2c588d13d5c79f9d1e4cb1ce46c4637574377c6a
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-03-06 19:08:37 +00:00
Oswald Buddenhagen
1480a9c22b write relative QT_INSTALL_CONFIGURATION also under windows
amends 5b27d02c35.

Change-Id: I5c8679ed746b81ca5a7f33f32c39a74ee1e03d5a
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-03-06 19:08:35 +00:00
Oswald Buddenhagen
7e71eec3c8 use relative paths for build dir references
apart from being more readable, it has the side effect of being resistant
to spaces in the build path.

Change-Id: Id12603c3a96765913e747fba4070d49de0705315
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-17 18:27:57 +00:00
Eskil Abrahamsen Blomfeldt
255ecba269 Windows: Remove "experimental" sticker for DirectWrite engine
This engine has been regarded "experimental" for a long time, but
it is in active use by some applications and rather stable.

While if may be replaced by FreeType at some point, if support
for Microsoft's colored fonts is introduced there, at this point
it really doesn't make sense to call it "experimental" anymore.

Change-Id: I038d71b121e90bd7b4dbc6d0afa7b14c9b824b08
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2015-02-14 05:44:56 +00:00
Kai Koehne
9ddfa43e02 MSVC: Remove use of -Zm argument
We've been setting the -Zm argument since the dawn of times (even before
the first git commit). Anyhow, MSDN from VS2008 onwards indicates
that this is not needed:

"In earlier versions of Visual C++, the compiler used several discrete
heaps, and each had a finite limit. Currently, the compiler dynamically
grows the heaps as necessary up to a total heap size limit, and requires a
fixed-size buffer only to construct precompiled headers. Consequently, the
/Zm compiler option is rarely necessary."

[ChangeLog][Compiler Specific Changes] Visual Studio: -Zm200 (an option to
specify the precompiled header memory allocation limit) is not added anymore
by qmake to the compiler calls. If you encounter an C1076 compiler error you
might need to re-add it in your .pro file.

Change-Id: Ia4bec7eba09d893a7d81886a1814602b9ce7563c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-02-13 21:23:19 +00:00
Oswald Buddenhagen
f59e2fe849 add /nologo to jom calls as well
Change-Id: I7de0483ae17377d6682a4279ff3914aa78fc11a9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-12 18:57:24 +00:00
Oswald Buddenhagen
3c5f39b1ec fix sign mismatch warning
amends 5b27d02c3.

Change-Id: Ifcaab09619ba5b63ec7dfaba9bad2f1e7f270986
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-12 18:57:21 +00:00
Sune Vuorela
db631a88a0 Avoid hardcoding build date in qtcore and tools
To ensure QtCore can be rebuilt and get the exact same results,
it is undesirable to hardcode the build date into the library

Also deprecate QLibrayInfo::buildDate since it is relies on the build
date. QLibraryInfo::buildDate was originally meant for evaluation
licenses and such, but isn't used for that any longer.

Change-Id: I98e91ca3e55f877e6ac0e02de289dc29422fc9da
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-12 18:34:23 +00:00
Jani Heikkinen
83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Jochen Seemann
89bd855efb configure.exe: disable ANGLE backend for Linux targets
As default, configure.exe checks if ANGLE is available and prints a warning
if not. This isn't needed if the target platform is Linux.

Change-Id: I2966965ea194c61bf9847e1ee130f2e765d5b0aa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-07 13:26:47 +00:00
Daniel Molkentin
3430e7ce77 Add libproxy backend for QNetworkProxyFactory
It will be used on Unix systems if the required dev package is
present. (Detected by a configure compile test.)
You can configure with -no-libproxy to avoid the dependency.
It will not be used on OS X or Windows, as we already implement
the native API for getting proxies there.

Currently we use whatever PAC runner is provided by the distro
for running PAC scripts - if we want to run PAC scripts using
Qt, then we would have to implement a pacrunner plugin to libproxy.
Note that their webkit pacrunner is using javascriptcore already.

Tested using the libproxy 0.4.7 that is included in Ubuntu 12.04.
Re-tested using Ubuntu 14.04 which ships libproxy 0.4.11.

It works except when both socks and http proxies are configured in
the manual settings - in that case libproxy returns only the socks
proxy. This seems to be covered by libproxy issue 119.

[ChangeLog][QtNetwork] Introduce libproxy backend for Unix platforms,
enabled automatically if the required dev package is present

Task-number: QTBUG-26295
Change-Id: I521c0a198fcf482386ea8a189114a0077778265c
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-02-05 14:29:03 +00:00
Jochen Seemann
9e6190cff3 improve support for cross-compilation to not directly supported platforms
This adds a fallback platform OTHER to the platform-enum, which
applies when -xplatform is set to an unsupported target, e.g. Linux.
Without it, it would fall back to WINDOWS, with the consequence
that logic like platform() != WINDOWS would break a proper
configuration of Qt.

Change-Id: Ie34522e23e375da6c24f66b3410638f85724a0f9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-05 14:27:25 +00:00
Oswald Buddenhagen
1043bf202b introduce /dev variants of qmake properties
these reflect the on-target paths (unlike /raw, which are host paths, just
without the -sysroot). this is necessary for anything deployment-related,
starting with RPATH.

Change-Id: I13d598995d0e4d6cb0dc1fc7938b8631cf3e3a95
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:27:06 +00:00
Oswald Buddenhagen
5b27d02c35 write relative paths to qconfig.cpp as far as possible
this cuts down the bloat in the binaries and the binary patching
requirements in the installer.

as a side effect, the sysroot and makespecs are not binary patchable any
more as well, which is ok, as the installer does not do it anyway.

we now also warn if -[host]<foo>dir is not a subdir of -[host]prefix, as
putting things outside the prefix is anti-thetical (the obvious
exception being the (unix-only) -sysconfdir).

Change-Id: I878f0e71a4dfcfd55b2f8b1cf3045b98b502569b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:27:04 +00:00
Oswald Buddenhagen
887c8129e6 remove trailing semicolons from #defines
Change-Id: I522a7e838ab0e5bbe5b22296ab74912ea79468f0
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:26:58 +00:00
Oswald Buddenhagen
6cc1ba92d1 don't overquote paths in qconfig.cpp
the function for emitting paths to .pri files is obviously not suited
for C++ code.

Change-Id: I96386d61334d06997475f044dbeab22a55749cef
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:26:56 +00:00
Oswald Buddenhagen
022c68c97f base the libexec fallback logic on the makespec
this is consistent with the unix version.

Change-Id: I84e15dd590b4ed9702f8a9dc0e8b655c930588d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:26:42 +00:00
Oswald Buddenhagen
68fae07d80 simplify mkspec determination when writing qconfig.cpp
we don't actually support qualified specs anyway - all tests assume
that they can use startsWith() on the spec name.

Change-Id: I9dc8688858d4798c3a18c34757318dcd7fd47c57
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:26:39 +00:00