[Development] Cross compiling Qt 5
Peter Kümmel
syntheticpp at gmx.net
Sun Aug 19 11:51:05 CEST 2012
Qt could be compiled native or cross for a system
different to the system on which Qt is build.
But this is not how mkspecs/ is organized:
linux-* native
win32-* native
wince* cross
unsupported/* cross and native
device/* cross
also configure supports different options:
-xplatform
-device
-device-options
-sysroot
In short, it is a mess.
Couldn't we cleanup this by only having native specs
in 'mkspecs' and cross specs in 'mkspecs/target'.
A more configure like option would be 'target',
not 'xplatform' or 'device':
http://airs.com/ian/configure/configure_5.html
When building cross compilation tools,
there are two different systems involved:
the system on which the tools will run,
and the system for which the tools generate code.
- The system on which the tools will run is called the host system.
- The system for which the tools generate code is called the target system.
Therefore I propose to cleanup this before the 5.0 release.
AFAIK host != "system on which configure runs" is not supported by Qt,
so we only need 'target' based options.
We need at least these two options:
1. specify mkspec name
2. specify toolchain prefix
maybe also ( http://labs.qt.nokia.com/2012/04/13/cross-compiling-qt-for-the-masses/ )
3. sysroot
4. additional options
Here a proposal:
1. -target-mkspec : specify mkspec name
2. -target : specify toolchain prefix
3. isn't sysroot specified by the toolchain compiler?
4. not needed
Or are we already in the "wait for 5 + N mode"?
Peter
More information about the Development
mailing list