Commit Graph

487 Commits

Author SHA1 Message Date
Frederik Gladhorn
c608ec8254 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/io/qsavefile_p.h
	src/corelib/tools/qregularexpression.cpp
	src/gui/util/qvalidator.cpp
	src/gui/util/qvalidator.h

Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
2013-01-22 18:40:13 +01:00
Sergio Ahumada
48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Frederik Gladhorn
7075e29199 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/widgets/styles/qstyleanimation.cpp

Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
2013-01-16 01:22:45 +01:00
Thiago Macieira
f927efd77a Add support for Linux eventfd(7) in the UNIX event loop
eventfd(7) uses less resources than a pipe, as it only needs to store a
single 64-bit integer, as opposed to a full buffer.

It was introduced first on Linux version 2.6.22 and glibc 2.7. However,
both the configure-time test and the runtime usage require the use of
EFD_CLOEXEC for thread-safety, so this code will be enabled only for
Linux 2.6.27 and up as well as glibc 2.9 and up.

Change-Id: Ic7e10b28d7b1d4ca24be614ed84055c4429a68e4
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-15 03:29:29 +01:00
J-P Nurmi
c174d101bd configure: disable GTK auto-detection on Mac
Task-number: QTBUG-28769
Change-Id: I2f05fdf530cde8ae7ed1470a99acade6267e19e6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-01-14 22:04:31 +01:00
Thiago Macieira
aeb2941ca1 Remove the framework directories from qmake's default include dirs
On Mac, GCC and Clang print "(framework directory)" at the end of the
directory listing for includes if that's a framework dir. The directory
with "(framework directory)" at the end does not exist, so it doesn't
affect anything by being there.

But we don't have to keep the list longer just for that.

Change-Id: I3d031d3d15c75801ec0d6112b2c913bd63e5def3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-14 11:35:17 +01:00
Thiago Macieira
fc032aa713 Update the sysconfdir default to non-absolute
Make the settings path to be relative to $prefix, instead of absolute.
And update the configure -help output to match the actual code.

Change-Id: I71e4ad6e3db046fec95ef057ae7f7bc566bc5794
Reviewed-by: Sune Vuorela <sune@vuorela.dk>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-04 17:35:21 +01:00
Oswald Buddenhagen
d1c10615e3 slash the -fast configure option
it's completely broken, and i have no time to fix it properly now.
configure runs no qmake -r by default any more, so it's fast enough.

Change-Id: Ib2b4c68f1fc2fe95accecbe93dd5a87c9b015692
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-18 17:28:44 +01:00
Erik van Pienbroek
40fb2ea92a Add directwrite support to the configure script
The configure.exe already supported the -directwrite flag for some time.
This commit adds this flag to the configure script as well so
environments which use MinGW as cross-compiler can now also
optionally enable DirectWrite support.

The original configure.exe pieces were added in commit
c0fed43b04dec8bd549043d3ea5e28908128082c of the Qt4 repository.
The directwrite argument which this commit adds to the configure
script and the behaviour of it should be exactly the same as the
current configure.exe.

To get Qt built with DirectWrite support using the MinGW-w64 toolchain
at least mingw-w64 trunk revision 5451 (Nov 10 2012) is needed

Change-Id: I519718068cf5732c7ebcbf0a0fafb6b747db0bcf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-12 15:23:41 +01:00
Samuel Rødal
2bf14740a7 Consistently prefix all platform plugin libraries with "q".
This means the xcb plugin library will be named libqxcb.so instead of
libxcb.so, which doesn't clash with the system's libxcb.so. We need to
consistently apply this on all platforms for static linking to work.

Change-Id: I1640a7cae7b9846bbe62b19ab1c2c5bad7d02b4c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-12-11 13:37:57 +01:00
Elvis Lee
fc3618fe5c configure : remove .qmake.vars after status message.
Change-Id: I3a4c1c10ce0d27d05faf64049224e0022a414fa4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-11 13:37:57 +01:00
Miikka Heikkinen
903fa2e4aa Add QT_DEFAULT_QPA_PLUGIN to generated qconfig.pri
Configure will now generate QT_DEFAULT_QPA_PLUGIN qmake variable
to specify the default QPA plugin.

"CONFIG += qpa_default_plugin" statement in application .pro file
will add the default QPA plugin into QTPLUGINS.

"CONFIG += qpa_minimal_plugin" statement in application .pro file
will add the minimal QPA plugin into QTPLUGINS.

Task-number: QTBUG-28131
Change-Id: I12a241005f30b37467d783b50f0369b47e605e68
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-10 15:33:54 +01:00
Oswald Buddenhagen
bff38599d9 remove dead line
the compile-all-mocs-as-one-file feature is gone for years

Change-Id: I6c35bce59c36b6920af2498661172b5938eeba52
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-12-06 12:49:02 +01:00
Oswald Buddenhagen
621b0e2062 move QT_{SOURCE,BUILD}_TREE back to .qmake.cache
they cannot be legally used outside qtbase - it's the antithesis of
modularization.

Change-Id: I847844ea0ddce599f130f396d68cb61fa8f34135
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-05 17:29:46 +01:00
Lucas Wang
d7ab351cdd Fix -largefile option in configure
-largefile is regarded as a library named argefile and added to
Makefile as a link flag. It will cause a link error.

Change-Id: I8ac30896d4e473f7e98c937c8906b1b9c620cf1e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-28 16:21:57 +01:00
Thiago Macieira
5dcc36b15c Add a -libexecdir option to the configures
User applications are those that users run directly, whether it be for
development or not. The executable binaries that the user does not
usually run but is still required for proper functioning are called
"program executables" in Autoconf and they are placed in libexec.

This commit adds support for "program executables" in Qt by adding the
-libexecdir option to the configures, the qmake variable
QT_INSTALL_LIBEXECS (note the plural, to match all other properties),
and QLibraryInfo::LibraryExecutables.

At the time of this commit, the only expected "program executable" is
the QtWebProcess, the WebKit2 helper process from QtWebKit.

Change-Id: I66c3a3e0cf7f9d93b5f88f55f18e957faff608fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 08:39:07 +01:00
Tasuku Suzuki
28389db8a1 configure: clean up unused CFG_IM
Change-Id: I91a09e29a3bf79610a34c30ffe9c145c7e76d1b6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-26 17:33:37 +01:00
Eike Ziller
490379a3e3 Mac: Fix compilation with -sdk option
The include paths that the mkspecs set into the OpenGL/AGL frameworks
must take the SDK into account.
(The headers in 10.8 have slightly changed wrt 10.7, leading to compile
errors because framework style includes (<OpenGL/foo.h>) within the system
headers are resolved to the SDK framework headers.)

Change-Id: I6113cdb95b462d587f593682e03e81e920f3f672
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-23 10:08:10 +01:00
Eskil Abrahamsen Blomfeldt
0dc61c4216 Merge branch 'newdocs'
Added prepare_docs to qt_build_config.prf (it was added
directly in configure in the source branch)

Conflicts:
	configure
	tools/configure/configureapp.cpp

Change-Id: I1337c69fc62b1c934e3e39b4409e4857440c9db8
2012-11-20 10:12:44 +01:00
Thiago Macieira
df3631045c Add a new location for QML 2.x imports
This commits adds a -qmldir configuration option for the configures to
allow the user to change the default location (it defaults to
$archdatadir/qml).

It adds a QLibraryInfo::Qml2ImportsPath value for
QLibraryInfo::location, a qmake property of QT_INSTALL_QML and a qt.conf
configure location entry "Qml2Imports".

At the same time, it makes the qmake .prf files dealing with QML plugins
be the QML 2 version. Those files are new in Qt 5, so we have the option
to choose which version we want to use.

Discussed-on: http://lists.qt-project.org/pipermail/development/2012-October/007136.html
Change-Id: I8c1c53e8685a5934ed0a9a42ba5663297b81a677
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-19 15:25:54 +01:00
Thiago Macieira
4712b0e99f Add -archdatadir and change some of the default install dirs in Qt 5.
Architecture-depedent Qt data defaults now to something under
-archdatadir. Architecture-dependent data is everything that contains
machine code (e.g., plugins) as well as anything that hardcodes
build-specific data, like qconfig.pri and qmodule.pri. That is:

  QML imports:    $archdatadir/imports     (includes plugins)
  Qt plugins:     $archdatadir/plugins     (machine code)
  Mkspecs:        $archdatadir/mkspecs     (build-specific)

Architecture-independent Qt data defaults now to something under
-datadir. This option existed in Qt 4, but did not differentiate between
arch-dependent and independent. Following Autoconf's lead, --datadir is
the *independent* data root.

  translations:   $datadir/translations    (.qm files are arch-independent)
  docs:           $datadir/doc

By default, both new options are equal to the Qt install prefix.

(Strictly speaking, for complete Autoconf compatibility, we'd need a
--datarootdir=$prefix/share, --datadir=$datarootdir/qt5 and
--docdir=$datarootdir/doc/qt5, but that's just nitpicking and
unnecessary)

Change-Id: I39c886a6a2d2d2c0b11923c50974179e21f2af76
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-11 07:41:50 +01:00
Oswald Buddenhagen
8e65b2556b delete -prefix-install configure option
the only thing -no-prefix-install did was changing the install path
defaults on mac. and the result didn't work particularly well.

Change-Id: Iadd0f4b494b6920b595e184f858ef810f5222b0c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-10 09:20:19 +01:00
Frederik Gladhorn
4c1c8207b9 Accessibility Linux: Do not depend on external libatspi2
This has (and still does) caused lots of grief since
it means accessibility was often unintendedly not built.

Instead copy the lib-at-spi-2 header file needed for the
type enum and build it by default again.

Change-Id: I1ba26f20edff1aeb444c96a37928f36230ac7576
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-11-08 16:59:50 +01:00
Kai Koehne
21bd66e1ea Add configure option to minimize xcb runtime dependencies
Some of the xcb- libraries we depend upon are not (yet) common across
distributions. This is problematic for binaries that should be working
on different distributions. The patch mitigates this by:

Adding the files from
  libxcb-proto (version 0.1.6), compiled with libxcb-1.5
  xcb-util (version 0.3.9)
  xcb-util-image (version 0.3.9)
  xcb-util-keysyms (version 0.3.9)
  xcb-util-renderutil (version 0.3.8)
  xcb-util-wm (version 0.3.9)

from xcb.freedesktop.org/dist to src/3rdparty/xcb.

Adding a configure option '-qt-xcb' to use the sources instead of
linking to the respective runtime libraries.

Task-number: QTBUG-27803
Change-Id: I6ea87daa382871b2b9072a601511523fa0b9f44b
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-11-07 16:55:50 +01:00
Samuel Rødal
04f6edc379 Resolve xcb_poll_for_queued_event at run-time.
By not making this a compile time decision we ensure forward
compatibility for older xcb versions if the xcb plugin is built against
a newer xcb.

Change-Id: I744777d53bf7b8deb6eff372494f4403d19d364c
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-11-07 08:42:29 +01:00
Oswald Buddenhagen
80439fbd82 move invariant CONFIG flags out of the configures
we now have qt_build_config.prf which can contain static code.

Change-Id: I3f0ae142fdc5ffb4e1d25e628e809ba15b5f0ac4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Oswald Buddenhagen
bc64a7a6f7 remove pointless messing with CONFIG+=fix_output_dirs
the function is automatically performed by debug_and_release.prf,
regardless what we do with this flag.

Change-Id: Iddec69b35e0e905fdf4133ee240af37d3a8ada0b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Jerome Pasion
c808dd2745 Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Change-Id: I7e6cee190a341901dfbf8effb54ebccb91bf7a17
2012-11-02 14:41:27 +01:00
Oswald Buddenhagen
589a18597f move remaining configure'd CONFIG flags to qmodule.pri
so they are uniformly available to all modules.

Change-Id: I734f703c5923c42cb26f1456ed960cecc01c4b41
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-01 22:27:09 +01:00
Oswald Buddenhagen
7d20f3dd10 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
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-11-01 20:17:57 +01:00
Peter Hartmann
f7893223e8 QtNetwork: introduce configure switch to use system proxies by default
This option is opt-in (default: no). When configured with
"-proxies-system-default", Qt automatically picks up the system
proxies.

Change-Id: I8cc002f29587854f448d97117b08c43d8eedec76
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-30 00:06:26 +01:00
Tor Arne Vestbø
6e5818f2bb Merge remote-tracking branch 'gerrit/master' into newdocs
Change-Id: I10cf9f915c602c8e5a0e7d7c9e17b7bc5ca00640
2012-10-26 12:28:53 +02:00
Tor Arne Vestbø
32aac0a1c0 configure: make sure that global shadow doc symlink is always updated
We forcibly overwrite the symlink - in case the source dir changes.

Change-Id: I3986b968f787ea0d250887113a0c223e10038546
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-10-25 19:08:30 +02:00
Tor Arne Vestbø
600f2397b8 Add config option to build documentation as a two-step process
The new 'prepare_docs' CONFIG option triggers the documentation rules in
default_post to generate two extra targets: prepare_docs and generate_docs.
The prepare_docs stage runs qdoc with the -prepare option, which means qdoc
will only generate index files, and the generate_docs stage will call
qdoc with -generate, which reads the index files and generates the final
output. The regular docs target will then run the prepare_docs target
for all submodules before running the generate_docs target.

This ensures that when generating the final output, qdoc has all the
index files for all the other modules available, to be able to resolve
cross-references between the various Qt modules.

This patch needs a follow-up in qt5.git to add CONFIG+=prepare_docs, so
that the root Qt5 build will be able to hook into this new behavior.

Change-Id: I654d7f0d4d5a41d9be208e6d3a8923bf0194f9ad
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-25 12:19:17 +02:00
Tor Arne Vestbø
d7b087eaac configure: make sure that global shadow doc symlink is always updated
We forcibly overwrite the symlink - in case the source dir changes.

Change-Id: I3986b968f787ea0d250887113a0c223e10038546
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-22 19:36:43 +02:00
Jens Bache-Wiig
087e4bc517 Remove Cleanlooks and Plastique
We have a new style Fusion that will replace these styles.
They will be moved to a separate
module rather than included in platforms that do not need them.

Change-Id: I51ebbcad5406e99130e5b12e62ba624d1489088c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-10-22 19:36:43 +02:00
Samuel Rødal
cdc2161b6f Made xcb plugin work when the GLX extension is not present.
Change-Id: I9285d7524586ff404206c088019ece33335137d9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-19 18:11:06 +02:00
Peter Hartmann
1da978416d configure: state compiler explicitly when testing for supported flags
... so we can test those functions with host and cross compilers.

Change-Id: Ifebfdac54580633c797f77b139514cf9d66edd8c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 13:02:17 +02:00
Thiago Macieira
c67a5df8d8 Rename the syncqt -qtdir to -mkspecsdir
It's actually looking for the mkspecs (so it can read qconfig.pri to
get the Qt version), so give it exactly what it wants.

Change-Id: I2957b2d93a8837b8492d313209d45ff3ec01704c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 00:44:54 +02:00
Jens Bache-Wiig
f45afd7155 Introduce new style Fusion
This is a new non-native style for Qt.
It is intended as a replacement for the now aging
Plastique and Cleanlooks styles.

Change-Id: I30c0518a69e4e3b8b2b05ee7d84c3a5a1f307578
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2012-10-18 21:46:21 +02:00
Oswald Buddenhagen
6226fcdc3e add a .qmake.conf file which load()s qt_build_config
that way we don't have to auto-generate code for that in the configures.

note that we now load qt_build_config.prf instead of just qmodule.pri,
which means that exceptions_off is set everywhere. we forcibly re-enable
them for testcases to minimize the deviation from default 3rd party usage.
testlib selftests are not qt testcases, so the one that needs exceptions
needs to enable them explicitly.

Change-Id: I1b9360bb11f2e80c92a2b63a7c45991ad17fda1b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 17:42:40 +02:00
Samuel Rødal
68fd3b9c1f Remove mention of freetype options in configure.
These options were only used for QWS in 4.x, and their documentation
should have been removed as part of f220f99a6d.

Task-number: QTBUG-27369
Change-Id: Ia85a20bdac40087c02f6876f53ce21568759d697
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-10-17 04:19:12 +02:00
Oswald Buddenhagen
df880f69c2 remove apparently dead CONFIG+=dylib
Change-Id: Ib7d1739e6a283bb93179345adb9470ac1f064ec8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-16 02:18:34 +02:00
Shawn Rutledge
98033240a8 Mac OSX: configure will use clang for any version >= 3
Task-number: QTBUG-26140
Change-Id: Ifee00a9d15b053bb9d2c7b0d9bedca45e4d589d3
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-13 05:51:19 +02:00
Tor Arne Vestbø
087efb572a Modularize documenation build
qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global
includes, instead of using relative paths. Qt modules will automatically
get a doc target that builds and installs into the right place (including
supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module).

Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-10 23:27:03 +02:00
J-P Nurmi
2cce297b58 configure: bump gtk version from 2.10 to 2.18 (sep 2009)
GTK_WIDGET_TOPLEVEL was deprecated in 2.20 and no longer available in
gtk 3. gtk_widget_is_toplevel() was introduced as a replacement in gtk
2.18 => make that the minimum requirement.

Change-Id: Ie5d2d8bd824af916a9764c66a7046f07a77b1748
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-08 17:38:02 +02:00
Fabian Bumberger
c86ed49a79 Use slogger2 for logging on Blackberry instead of writing to stderr
Change-Id: Id0137400f18c8dfe7be7ca44670c16615401d424
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2012-10-04 14:25:47 +02:00
Peter Hartmann
291e1a9e67 QNX: change suffix for separate debug files
QNX uses .sym for files containing debug symbols.

Change-Id: Ieb995ae90af771ff5c877213f4f4982169f333c6
Patch-by: Greg Bentz
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-10-01 10:34:24 +02:00
Peter Hartmann
80f6d7862c Blackberry mkspecs: Refine compiler options
stack-protector-strong gives performance benefits over
stack-protector-all and is still checking more than -stack-protector,
so seems to be a good middle way and we want to use it when it is
there.

The -shared option for the compiler (not the linker) prevents a
RIM internal version of qcc from forcing -fPIE, and should not harm
in general when set.

In addition, add a method "compilerSupportsFlag" for Windows as is
present in the Unix configure script.

Change-Id: Iba300e9cb82f34043e7b36f8e45287a1aed2a1a5
Original-patch-by: Greg Bentz
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-10-01 10:22:06 +02:00
Kai Koehne
8dcb7c81a4 configure: Document the -widgets, -no-widgets arguments
Also add -gui, since we're always documenting the default ones, too.

Change-Id: I590af798d825f2933c6249663d4cad45fc23cb52
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-26 10:08:59 +02:00
Thiago Macieira
1f808a1d1d Introduce an option to disable stripping during installation
The default is the current behaviour: strip on installing release, no
strip on installing debug. This option does not change the
installation of debug builds because qmake does not support that.

Change-Id: Ic208d5ffe860d5f1ee1cafdc944e12001673d33f
Reviewed-by: Davide Pesavento <davidepesa@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-24 21:27:51 +02:00
Sergio Ahumada
ef23f5d9bd configure: Update contact information for commercial users
Task-number: QTBUG-23949
Change-Id: Iaca7f45eae39ab7f6368431daead93358b17fe36
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Sinan Tanilkan <sinan.tanilkan@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-09-22 23:40:24 +02:00
Iikka Eklund
be15856f61 Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-09-22 19:20:11 +02:00
Mark Brand
3e78f84f4e configure: remove CONFIG features while getting PKG_CONFIG
When qmake is used to get PKG_CONFIG, core and gui are not
available. This motivates CONFIG-=qt. In fact, we don't need any
features for this job.

Change-Id: Id247054d43c50f6aeb62db7585c3e90f57aa36a1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-22 19:02:01 +02:00
Oswald Buddenhagen
f104640fa5 syncqt only the QtCore headers for the bootstrap
Change-Id: I26e19805823bfe987c721f6a274803e54f0e4003
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-19 19:54:44 +02:00
Mark Brand
01864d4854 use qmake to get PKG_CONFIG in configure script
The value of PKG_CONFIG might depend on device options.
For example, "-device-option PKG_CONFIG" might be used with configure
or a mkspec might prefix PKG_CONFIG with CROSS_COMPILE which is
specified as a device option.

The shell functions of configure for parsing mkspecs do not take
device options into account, but qmake is pretty good at it now.

Change-Id: I1c9558e550c48e8441ebdac34b82066473c2ce3a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-17 21:47:51 +02:00
Laszlo Papp
83b1ed1ea8 Make maemo scope syntax in project files more generic
It is necessary to use the n9 device file for now in scratchbox or/and on the
community open build service because the maemo platform mkspecs file assumes
that a cross-toolchain is used all the time. If no platform file is used, then
for instance certain plugins may not be built in general. There is currently an
ongoing issue with the meego plugin for context management in the Harmattan
components project. That is currently not built due to this issue, so no
orientation works in those applications.

The nice solution would be to make the maemo platform file work with cross and
native toolchains as well, but that requires a decent amount of investigation
and work. Thereby, the scope is extended this way for now.

Change-Id: I172c7d152bdbb2db279526d9fd1ca5648d0cd0a9
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-09-14 19:07:15 +02:00
Kai Koehne
f0e2c6fe1c Add c++11 option to configure.exe
Also check for c++11 support in configure.exe (which is also used by MinGW builds).
The c++11 check is therefore moved from 'unix' to 'common' directory.

Change-Id: I082848f032c2770e52e34f331b83820f395c06b6
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-13 16:47:27 +02:00
Mark Brand
5c412fd74c unscramble option help text
Change-Id: I1e38aced5c3188c4db470e26fa117b0dd08bf100
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-13 16:06:03 +02:00
Thiago Macieira
e0a847dca9 Add configure -help output for the ICU option.
Change-Id: I922d3fd4d3c2d9e8e844dfb661a91934e4b05aea
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-12 15:22:16 +02:00
Mark Brand
7d9b5e8e7d Partial revert "cross compile with mingw": unbreak pkg-config
This partially reverts commit
07a978d3d4.

Despite what the commit message said, pkg-config previously worked
and was useful, particularly for static Qt. Qt itself even installs
its own .pc files.

Note: The mkspec win32-g++-cross had a PKG_CONFIG definition to avoid
using the pkg-config installation on the build machine.

Change-Id: Ia4a8d18cd57f74a00bdb9b6a171d20151978a9cc
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-12 10:49:50 +02:00
Oswald Buddenhagen
074a5ce50e don't require (dummy) qconfig.h for qmake build
Change-Id: I22a2c9aa1366ff858b3bb646617543968c810136
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-11 17:25:23 +02:00
Oswald Buddenhagen
8d97eb298d introduce -minimal mode to syncqt and use it for bootstrapping
the bootstrap does not need CamelCase includes, deprecated headers and
whatnot, so just don't do it. the full thing will be run on qtbase by
qmake.

Change-Id: Idffdd4750a73574c8c32ee75d00080abfe37e03c
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-11 17:23:27 +02:00
Oswald Buddenhagen
99d9117013 call syncqt unconditionally in configure
... provided perl is available.
configure.exe already does that, and there is no reason not to.

Change-Id: If398864697fcfbe4545248cec33e70a1ec4a29a3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 09:35:28 +02:00
Oswald Buddenhagen
78461c7ab2 clean up syncqt invocation
it needs no special env variables any more

Change-Id: I60a7ab6eabb9280b02cd510418c0842d05fc1306
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 09:35:28 +02:00
Oswald Buddenhagen
b071ea317c move syncqt -check-includes handling to default_pre.prf
this is where the syncqt calls for all modules happen

Change-Id: I544e5fa6950c2babe56d78f5543d2c3262016687
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 09:35:28 +02:00
Oswald Buddenhagen
1503d99a5e enable depend_includepath by default
DEPENDPATH is hard to get right, and consequently most projects have
broken dependencies.
the easy way out is just adding everying in INCLUDEPATH to DEPENDPATH,
like we do ourselves in qt. if somebody wants to optimize, he can
opt-out.

Change-Id: I7fb56010728fd2b0d2b7d4d26386f366d414ba04
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:05 +02:00
Jorgen Lind
e54f6ed87b Enable autodetecting of EGL event for desktop GL
And only use the QT_CONFIG,egl syntax in eglconvenience

Change-Id: I81c0602334714f4b27a7e90e7b5859c989e6bd63
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
2012-09-07 18:41:22 +02:00
Danny Boelens
64a8c78538 Rename MAC_CONFIG_TEST_COMMANDLINE to MAC_SDK_FLAG
The Mac OS X SDK is the only thing that variable is
used for, so give it a name that better fits its use.

Change-Id: Ifd9866bc19edda0e9f0bcb17270eb26a8849401e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-03 13:41:55 +02:00
Thiago Macieira
a2f705029c Remove the package macros from qglobal.h
It's the wrong place to have these.

Change-Id: I3b716317ba02ea2baf0f7053c8b16128e4c88e17
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-09-03 13:41:55 +02:00
Holger Hans Peter Freyther
08e92ba1e0 mips: Autodetect MIPS DSP rev1 and rev2 instructionset
Not every MIPS SoC has the DSP extensions, auto-detect them by using
builtin GCC functions. Check for the DSP macros and add the result
for rev1 and rev2 to the cpufeatures.

Change-Id: I3d6c950f170f102514c43b349f9a23ee796d801a
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-01 15:28:24 +02:00
Thiago Macieira
99ef183cb1 Use pkg-config to search for all XCB dependencies
The XCB platform plugin requires several XCB libraries to work. Without
this fix, we get the build error in compileTest only, which is hard to
check.

Change-Id: I6b599f5ad32661e9dc01db11705d702920350cfa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-31 16:23:10 +02:00
Oswald Buddenhagen
72a7c43e90 filter standard paths from mysql_config & pg_config
standard paths should never be added to compiler/linker lines, as they
are likely to mess up the lookup order.
pkg-config does that filtering for us, but the home-grown config tools
don't, so we need to take care of it.

configure.exe does not have such auto-detection, so the change is not
necessary there.

Task-number: QTBUG-26850
Change-Id: I2f523d5cffb27c3d0a16cdef6ca8a4877c9983c0
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-25 17:03:17 +02:00
Thiago Macieira
88a2efaddc Move the QT_COMPILER_SUPPORTS_xxx defines to qconfig.h
This reduces dramatically the command-line for compiling Qt sources.

These are private macros, only to be used by Qt's own modules, so the
compiler setting is either the same or, possibly, better. In other
words, in the worst case, when compiling a module with a better
compiler than for qtbase, such module might not enable all the
functionality it could otherwise do.

If we switch to a buildsystem that can support this properly in the
future, these macros should be removed.

Change-Id: I71f2d12ec98c9dd40eaab9de4a17446bd1066020
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-22 21:58:45 +02:00
Oswald Buddenhagen
4d7921b819 make configure set up QMAKE_DEFAULT_{INC,LIB}DIRS
hard-coding it in unix.conf was no particularly good idea for hopefully
obvious reasons.

the windows version is so far just a stub that does what the makespecs
hard-coded - more doesn't seem worth the effort. the guys interested in
x-building may want to rectify it at some point, but it's not going to
be easy.

Change-Id: I8fedd841a8416f8c0c57018752eae9510b5d00d0
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-22 18:40:17 +02:00
Peter Kümmel
07a978d3d4 cross compile with mingw
- improve defaults
  - fix linker errors

Change-Id: I7e1deb55fb616a3890510806593a0ab9a0a31d9a
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-21 11:05:20 +02:00
Oswald Buddenhagen
34d964638c remove unnecessary magic
getXQMakeConf now gives properly expanded variables

Change-Id: I17d82a1889fc4e1ee6b74c90aa0e4179ece0e415
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-17 12:26:58 +02:00
Thiago Macieira
f331299f35 Merge L_FLAGS and l_FLAGS in configure
This is prompted by the fact that QMAKE_LIBDIR_FLAGS is no longer
honoured by qmake, so we need to use LIBS. It didn't make much sense
to have the flags separate anyway...

Change-Id: Iaec4d58f9dbac25755bbc3bad7550e03edb5332b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-14 12:49:37 +02:00
Oswald Buddenhagen
ca4823505b introduce compileTest function
this cuts down the enormous duplication of identical command line args
passed to compile.test.
this necessitates the addition of a -config parameter to compile.test,
as QMAKE_CONFIG needs to be extended in some cases.

Change-Id: I677b2fea4a407b9e4395e70a25e4e349efb0a946
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-14 12:49:37 +02:00
Frederik Gladhorn
8e1ff45e74 Add Linux Accessibility Bridge
This is a plugin that bridges the QAccessible world
to AT-SPI 2 on Linux.

Change-Id: I7af22621ee6a3cefc723b137b7f227a611cf6641
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-08-14 01:40:06 +02:00
Oswald Buddenhagen
b603fd36c2 support -rpath for modules which are not installed to QT_INSTALL_PREFIX
a module's project file may set MODULE_INSTALL_LIBS before loading
qt_module.prf to have an alternative RPATH linked into the users of that
module.
this is relevant only for linking against non-installed -prefix builds
of that module, as otherwise .libs from the module's pri file is used
for rpath.

Change-Id: Ib240e748cf130a71a5991dc643c368a983092ead
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-11 10:40:23 +02:00
Andreas Holzammer
661cf8ff4e Make it possible to force generation of debug info in release builds
Change-Id: Ie79e5a6a87475d5140163a2a547b4385a53fc05f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-09 03:25:53 +02:00
Davide Pesavento
40cfcd0b0c Define QT_NO_FOO also when -no-foo is passed to configure.
This fixes a build failure that happens when Qt is configured with
-no-libudev, as reported at https://bugs.gentoo.org/show_bug.cgi?id=430292

Change-Id: I924f023505ab57cca5994f2fd5ff2f8308e61617
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-08 12:04:49 +02:00
Thiago Macieira
ba2c77f21a Fix builds with sysroot: a space is necessary before ] in scripts
When using [ ] for tests in shell scripts, the ending ] must be a
separate parameter. Otherwise, it won't work. configure was reporting:

  configure:5918: ']' expected

Change-Id: I38a843356ee0feb97edb8692a828306821045c77
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-06 16:04:17 +02:00
Oswald Buddenhagen
5fae23eb26 introduce -fully-process configure option, change behavior of -process
configure will now run qmake without -recursive, as on modern systems
one can get a lot more out of parallelization done by make, which qmake
cannot do.
use -fully-process to get back the old behavior. -dont-process is
unchanged.

Change-Id: I2874321a963175463ae8992f3ab2b01bc13c9922
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-06 15:28:59 +02:00
Oswald Buddenhagen
051f97f350 remove phonon vestiges
Change-Id: Ifae2c631ddaae95ad9fc92e1f768fd910b254292
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-06 15:28:55 +02:00
Oswald Buddenhagen
c37df22454 remove the option summaries from the configures' help messages
they are an unreadable and unmaintainable mess. the options are properly
documented below.

Change-Id: If2ec683fb7c3740b19798979f8a1f9cd8d84f457
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-04 08:15:40 +02:00
Stephen Kelly
621e434ffe Remove unused Q_WS_QPA define.
Change-Id: Ie77526000cf93ad6901e28abe2558d254ccf8f1a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2012-08-03 03:02:27 +02:00
Stephen Kelly
187ea846a6 Remove some dead QWS code from configure.
Change-Id: Ic1b47533e3f04cebaac83ca632068c2e791a846c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-03 03:02:27 +02:00
Thomas Senyk
1865405826 Adding configure option: -no-gcc-sysroot
This option is important if you want to use configure's
and qmake's -sysroot (e.g. PKG_CONFIG settings, device-files),
but the toolchain (in combination with the rootfs)
is not able to handle gcc's --sysroot.
One known case is freescale's ltib setup where the toolchain
itself comes with all the essential files (e.g. crt1.o),
while the rootfs has none of those files, so gcc's
--sysroot can't be used. The rootfs on the other hand contains
all kinds of "less important" files/packages (e.g. libdbus).
For those "less important" files/packages Qt needs pkg-config
to be able to include/link properly. Therefore one needs
configures -sysroot without gcc's --sysroot.

Change-Id: Iaec9b07012f2945f3ecb3ced0ed95176721b5ecd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 02:25:37 +02:00
Oswald Buddenhagen
c748cf489c don't set -rpath-link in qmodule.pri
qt.prf takes care of that already

Change-Id: Ibc426583a007edbbe2f53cc21ce676eb60b33485
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-31 11:17:46 +02:00
Danny Boelens
13b1395924 Fix Mac OS X architecture detection for non-default Xcode setup.
The arch.test script is now using SDK settings passed to it.
If you install Xcode without the "UNIX Development" option, this
is essential to let the compiler find standard headers and let
the test program compile successfully.

In addition, let configure pass the SDK settings given on the
command line to the arch.test script.

Change-Id: I49601d3068d83a71e21fdbac287857f2b7abedd1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-21 00:53:40 +02:00
Sergio Ahumada
bf3b08ee06 Fix typo in configure for Mac: Libraries -> Library
Task-number: QTBUG-18115
Change-Id: I81f82d417dfff94c0ebcd41f0f9f3cd3223bac2c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-18 19:51:38 +02:00
Laszlo Agocs
504c2cb1e1 Add config test for kms
Change-Id: I55afc65d356aaca0fe443dda100805a4df8f0ae6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-07-18 08:15:30 +02:00
Rafael Roquetto
a94e917eeb Set correct QT_LFLAGS_SQLITE for default cases.
In systems where no pkgconfig is available, such as QNX, we set
QT_LFLAGS_SQLITE to the default values.

Change-Id: I24edd589ce7baf2614480a91842ca756ead39463
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-17 15:56:15 +02:00
Girish Ramakrishnan
683540ee5a linuxfb: Add config.test and configure support
The code is exactly the same as what is already done for DirectFB.

Change-Id: I3b84e67a3e999f692da4110f3ac9c82d98b0637c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 14:55:27 +02:00
Rohan McGovern
18ddd367b8 configure{.exe}: enable 'tools' as a default build part
Tools for each module should be enabled by default.

Prior to qt_parts.prf, they have been enabled by default, but only by
accident - the value of QT_BUILD_PARTS with respect to 'tools' was
generally not respected.

Change-Id: Icd49d6128d4050ff1c865967a563e9ab88c5a3a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-10 08:33:49 +02:00
Oswald Buddenhagen
77b293d2ff make QT_BUILD_PARTS setting in qmodule.pri additive
that way it is actually possible to add additional parts from the qmake
command line.

Change-Id: I42e0b58424292cebafb57538a879204d370397bb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-07-09 08:26:23 +02:00
Oswald Buddenhagen
88c41f8439 don't blow away mkspecs/modules-inst when reconfiguring
otherwise we get lots of nasty warning messages about missing pri files.

it is arguable whether it is a good idea to do that, but we preserve
mkspecs/modules, too, and the previously built libraries don't just
vanish, either.

Change-Id: Ieded8d8858f1b0135bc3bea894b4a676024ac8ca
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-07-05 21:11:47 +02:00
Oswald Buddenhagen
43663bc87d export QMAKESPEC to the project
this makes it unnecessary to dump qmakespec to .qmake.cache and
qmodule.pri.

Task-number: QTBUG-22700
Change-Id: I678c7ee7df2512184b9cd06d7a3be8bbd0b0da15
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-03 16:48:33 +02:00
Oswald Buddenhagen
0002464b46 store QT_BUILD_PARTS in qmodule.pri also on unix
modules other than qtbase also need it.
the windows configure already does it that way.

Change-Id: I9adb469f7a0726663b7939e80d8be1e83a6d12d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-07-03 16:48:33 +02:00
Oswald Buddenhagen
493b4311ff don't match on the spec name in qconfig.pri
this will fail now even on unix (and wouldn't have ever worked on
windows), as the full spec name is known only after reading the spec,
and qconfig.pri is read from inside the spec.
matching on the host_build flag is cleaner anyway.

Change-Id: I7da144e89ab3db0fad942d755d8cb0a0f3b85588
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Donald Carr <sirspudd@gmail.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-03 16:48:33 +02:00
Girish Ramakrishnan
ea0d58c131 Move DirectFB tests into qpa
Change-Id: I15c90e2e8befef5529b35fa02d3ca6d67a409cc7
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-07-03 01:55:22 +02:00
Robin Burchell
865b910dc0 configure: properly quote glesv2 flags
pkg-config returns glesv2 build flags, which are parsed into a few
variables. However, extra spaces get included in these variables and
quoted, which makes includes paths not work.

This problem can only be hit, if you do not have GL ES 2 headers
installed system-wide, but you do have installed into $prefix, and
pkg-config configured to return the configuration for $prefix. Even
though pkg-config returns correct paths, extra space gets included.

Fix it by parsing the strings returned by pkg-config just like a shell
would parse a command line. pkg-config escapes e.g. spaces, so those
escape sequences need to be interpreted, while doing word-splitting. The
result is a quoted list, as expected in the qmake files.

Done-with: Pekka Paalanen <ppaalanen@gmail.com>
Change-Id: I0593ef7e0606ac5ea80da046e45f86806206951a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-03 01:09:07 +02:00
Holger Hans Peter Freyther
56df16fe4b buildsystem: Remove SXE from the configure and qconfig-*.h files
The SXE feature was used with Qtopia but is long gone. Clean it up.

Change-Id: I55fba97b6382300ba63e94f3a6c415227f571e37
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-02 10:10:56 +02:00
Laszlo Agocs
26c85a5f79 Basic tablet support in xcb through XI2
The Maemo-specific function have been renamed a bit to prevent them
clashing with the more generic stuff.

Task-number: QTBUG-25865

Change-Id: Id55693159e15d5a0c679546eb48308feb48acac9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-28 12:35:14 +02:00
Thiago Macieira
96166fa56a Update the macros for shared/DLL and static builds
Up until now, we had a mess of different macros used for building
DLLs, for building shared libraries on Unix systems and for building
static libraries. Some of the macros were contradictory and did not
work. From now on, there shall be only:

 - QT_STATIC: indicates that it's a static Qt build and the export
   macros should expand to empty
 - QT_SHARED: indicates that it's a shared / dynamic Qt build and the
   export macros should expand to Q_DECL_EXPORT or Q_DECL_IMPORT,
   depending on whether the macro corresponds to the current module
   being built (the QT_BUILD_XXXX_LIB macro comes from the module's
   .pro file)

QT_BOOTSTRAPPED implies QT_STATIC since the bootstrapped tools link
statically to some source code.

QT_STATIC is recorded in qconfig.h by configure when Qt is configured
for static builds. Nothing is recorded for a shared / dynamic build,
so QT_SHARED is implied if nothing is defined. This allows for the
existence of a static_and_shared build: with nothing recorded,
defining QT_STATIC before qglobal.h causes the export macros to be
that of the static form. Linking to the static libraries is out of the
scope of this change (something for the buildsystem and linker to
figure out).

From this commit on, the proper way of declaring the export macros for
a module called QtFoo is:

    #ifndef QT_STATIC
    #  ifdef QT_BUILD_FOO_LIB
    #    define Q_FOO_EXPORT Q_DECL_EXPORT
    #  else
    #    define Q_FOO_EXPORT Q_DECL_IMPORT
    #  endif
    #else
    #  define Q_FOO_EXPORT
    #endif

The type of the Qt build is recorded in QT_CONFIG (in qconfig.pri) so
all Qt modules build by default the same type of library. The keywords
are "static" and "shared", used in both QT_CONFIG and CONFIG. The
previous keyword of "staticlib" is deprecated and should not be used.

Discussed-on: http://lists.qt-project.org/pipermail/development/2012-April/003172.html
Change-Id: I127896607794795b681c98d08467efd8af49bcf3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-28 06:21:48 +02:00
Oswald Buddenhagen
c4eed770be purge QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT
they are equivalent to QT_INSTALL_(HEADERS|LIBS)/get.

Change-Id: Ic4b47f3ca7db55785b96f19020a2fa020a8d25bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:39:59 +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
8b3499c577 -qconfig needs no own switch case any more
Change-Id: I56c14cb7a2bf9e6641c48574d2b13436c1b7f714
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:39:51 +02:00
Oswald Buddenhagen
7de9d37099 remove the insane switch case for qt-style yes options
it only serves to create merge conflicts. the treatment is the same as
for "unclassified" options anyway (they ignore the value, so it can be
"yes" just as well).

Change-Id: I9a75769338b4dc1f58493f1a1f1dd2c2e895290a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:39:51 +02:00
Oswald Buddenhagen
709cc8800e make makefile generation under unix sane
we now simply call qmake -r, which is also what we do under windows.
-fast mode is retained for examples and tests, though with moderately
modified semantics (i couldn't be bothered to decipher what the old ones
were supposed to be).

Change-Id: Id2c2d2bed9c8d52ac42f31b388bffc34f4649650
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:37:50 +02:00
Oswald Buddenhagen
7d8578418d properly declare the host tools as such in the project files
don't mess with the qmake cmdline args any more.

Change-Id: I399d87145d31d25e29951b6acd96387a3c7282f0
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:37:50 +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
Sean Harmer
0346d605e3 Do not add debug/release to QMAKE_CONFIG. Let module system enable them
This solved QTBUG-26111 in which qtjsbackend gets built with an
incomplete framework on Mac OSX. This was traced back to commit
6a6fd56e66 which moved QMAKE_CONFIG
values from .qmake.cache to mkspecs/qmodule.pri. Since qtjsbackend
contains config tests it creates its own .qmake.cache which was
previously masking this issue.

QMAKE_CONFIG incorrectly contained debug for debug_and_release builds
even though debug and release are already present in the CONFIG variable
in mkspecs/qconfig.pri. The changes to configure prevent CONFIG in
qmodule.pri from containing debug and release variables and ensure
that QT_CONFIG contains build_all and debug_and_release if appropriate.
Configure.app is also adjusted to match this behaviour.

The other part of the change is to qt_module_config.prf and
qt_plugin.prf. These changes take care of populating CONFIG with
the appropriate debug_and_release and build_all variables depending
upon what is present in QT_CONFIG. This ensures that the Qt modules
and plugins get built with the same configuration as qtbase.

The special handling for the qcocoa QPA plugin ensures that it is
built in release mode only to preserve the behaviour introduced by
commit 5603f94eaa.

Task-number: QTBUG-26111
Change-Id: I6f65aba50709e1b2431b8b4411ff30a06f7d8aed
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-14 03:03:38 +02:00
Girish Ramakrishnan
6929fad9d9 -device: Use $1 instead of $VAL
$VAL just happens to work in resolveDeviceMkspec because it is
set in the parent shell environment when the function is called.

Change-Id: I67350f2a9e790cc7eca2a73ef6a4a0d7f09b8d3c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-12 20:06:39 +02:00
Mark Brand
ce6525efd8 fix default platform plugin for windows using configure script
Follow-up to 0074cc5d34.
The configure script can be used for cross-building for Windows on
unix.

Change-Id: Ie7f9d0ff308ad5763cdf7b2664fa255e89bd5013
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-06-12 17:41:43 +02:00
Thiago Macieira
f5a7d88378 Move the AVX and SSE tests to config.tests/common
This is the first step in supporting these checks on Windows.

Change-Id: I77cfd46bd733161ad2e52c2f76a6354b95ff737d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-12 04:29:44 +02:00
Thiago Macieira
6a51062e99 Move the SSE2/AVX/Neon/etc. flags into the compiler mkspecs
This allows us to have different flags for the compilers for
supporting the same feature. For example, the official flag in GCC to
support AVX2 is -mavx2, but ICC does not support it (yet), requiring
-march=core-avx2 or -xCORE-AVX2. That flag, instead, enables support
for all the features that the "Core-AVX2" processor (codename Haswell)
will support. And clearly, the MSVC flags are different.

Change-Id: I33b6d8617520925e807747180a8dbaafd79b7a9a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-12 04:29:42 +02:00
Sean Harmer
4e3b225bb0 Correctly detect blackberry mkspecs as cross-compiling for QNX
Change-Id: Ibcede225a0d6e421c086dba3cca5b0fcbeeafa68
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-06-11 12:05:19 +02:00
Girish Ramakrishnan
2d598e472a configure: remove unused PLATFORMS variable
PLATFORMS is unused. Also remove the loop that printed all the
PLATFORMS when the mkspec couldn't be autodetected. Even if the
PLATFORMS variable was moved up, it wouldn't work anyway since
it detects files and not directories.

Change-Id: Id483c431a179fb01fcf680538e28c81763bc0b90
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-11 11:30:23 +02:00
Girish Ramakrishnan
a95e396a83 eglfs: Disable eglfs when evdev is not present
EGLFS has a hard dependency on evdev, so don't compile it when
evdev is not present.

This also removes the check that disabled EGLFS specifically for QNX.
Since QNX doesn't have evdev, EGLFS will get disabled automatically.

Change-Id: I9fdb364b2eff9b370fa238609a8f98af6ccb7f7b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-08 17:56:09 +02:00
Donald Carr
21019539fb Fix eglfs regression in configure
XPLATFORM_QNX was never explicitly set, yet the tests which evaluate it
assume that it is.

Change-Id: If97d2ee1f4432ada0c68e36348bf5bec85f94e43
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-06-07 21:18:36 +02:00
Sean Harmer
e92c33bff5 Do not build eglfs QPA when cross compiling for QNX
Commit 2a1b50d67c introduced a dependency
on evdev for eglfs which QNX does not provide. QNX also has a dedicated
QPA plugin so the eglfs plugin is not needed there.

It is not possible to use the -device configure defaults approach as
it is not cross-platform.

Change-Id: I2d151f16cf1a9576a0b0b528f0e9c17834c66e91
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-06 12:31:58 +02:00
Bradley T. Hughes
bf84d1a1fe configure: Auto-detect and enable C++11 support if available
Enabling support for C++11 adds CONFIG+=c++11 to the Qt build. Projects
using Qt can check for C++11 support using contains(QT_CONFIG, c++11) in
their .pr[iof] files.

The QMAKE_CXXFLAGS_CXX11 and QMAKE_LFLAGS_CXX11 qmake varibles contain
any arguments the compiler needs to enable C++11. CONFIG+=c++11 adds
these arguments to the build.

Support for clang, g++, and the Intel C++ Compiler for Linux are
included in this commit.

Change-Id: Id77f86d7ad4d5c740b890446a40b105879a0d327
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-05 12:30:13 +02:00
Donald Carr
00f88bd090 Migrate fontconfig config test to unix scope
Fontconfig has no X11 dependency and is of broader use to us than the X11
context. The test should also disambiguate whether fontconfig support is
successfully detected or not.

This change also removes a false X11 dependency from the freetype test.

Change-Id: I68a596aa06f614a64163772fe29a09edba119a81
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-06-05 06:14:06 +02:00
Donald Carr
b46d8240ea Introduce gcc machinedump considerations to build system
This information is required by qmake when cross compiling for Debian based
multi-arch devices in order to adequately resolve system libraries and
pkg-config information.

Change-Id: If96e677ab27c6f0453889c8f7cc43bdb9016f8b6
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-04 22:29:24 +02:00
Donald Carr
b930487896 make pre-qmake spec evaluation load device variables
this is needed to correctly resolve the compiler (cf. $$CROSS_COMPILE)

Change-Id: Iaf7266ae464c15e8483780dcf9c970212630a93b
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
2012-06-04 01:19:45 +02:00
Rohan McGovern
9ae3ec470c configure: pass -D options through to configure tests
We already do this for -I and -L compiler flags, but not -D.
This caused configure tests to give incorrect results in some cases.

Task-number: QTBUG-25963
Task-number: QTQAINFRA-523
Change-Id: Ib270a1dc67759e36bc439e80ab8136a64c405d26
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-01 18:26:18 +02:00
Thiago Macieira
6a6fd56e66 Move the sub-architecture feature to better places in qmake
Instead of saving the ability of the compiler to produce SSE2, AVX,
Neon, etc. code in .qmake.cache (Unix) or qconfig.pri (Windows), move
everything to qmodule.pri. Accordingly, move the DEFINES += settings
to qt_module.prf instead of qt.prf.

This allows us to re-use these settings in other Qt modules (other
than qtbase), if necessary. Though currently the extra compiler
definitions are found only in src/gui/gui.pro. They can be moved
elsewhere when it becomes necessary.

As a side-effect of this change, some other flags are moved from
.qmake.cache to qmodule.pri (on Unix). The flags that are getting
moved should probably be moved anyway.

Change-Id: Ibc3ab0111e148d81870772f9357273660aa93417
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-31 17:55:49 +02:00
kb
baed7bd5a7 Fix typo in temporary filename
The configure script uses the bash $"..." string internationalization
syntax; this generates an error in other shells.
Since this feature is only used in one place it is likely a typo.

Change-Id: I076a785c3901b04175b8669e32c55989385720e3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-31 02:06:42 +02:00
Thiago Macieira
735f7e6248 Record the sub-architecture (CPU features enabled in the compiler)
If the system's compiler has extra features on top of the base
settings enabled or if the mkspec or $CXXFLAGS variable included some,
record them.

This will allow us to choose whether or not to use our own special
compilers, based on whether the system default compiler contains it or
not.

Change-Id: I87cada9fab4cfa58846a831d0a7c7b50d8fa87fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-30 17:28:07 +02:00
Thiago Macieira
1533bfc5fc Improve the architecture-detection mechanism
For the Unix part, this now obeys the -v option, printing the full
command-line it used to compile, allowing testers to identify why
something went wrong.

Unfortunately, it requires a full compilation cycle, instead of just
preprocessing. Just one more among the many on Unix, but maybe a
noticeable slow-down on Windows.

Change-Id: I654b70d99887e04c96731a5b91be9ad555e4d8fe
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-30 17:27:56 +02:00
Oswald Buddenhagen
113620d6f7 fix QT_GCC_*_VERSION definition after exception option removal
sometimes it pays off to actually check where variables are used ...

Change-Id: Ia91c89cb963ace50f432c54ffe5f57366ccd5603
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-05-25 14:52:36 +02:00
kb
3ec08bff24 Allow a space between "-l" and library name when configuring
Qt's configure allows for spaces between an option and its
argument. This patch brings -l in line with -L et al.

Change-Id: Iea5c78dc06f69c21b7419fd9fa73c52ae1cea18f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-23 01:04:01 +02:00
Girish Ramakrishnan
b4cad78eb2 -device: c01621ec8 broke device feature
result was never returned by resolveDeviceMkspec

Change-Id: Ibd2f647e5524cdc9dbf4ea06f7b815f9dcc43212
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-05-19 19:32:18 +02:00
Girish Ramakrishnan
c01621ec88 device: Allow specifying shortnames for device mkspecs
Specifying -device linux-amlogic-8726M-g++ is error prone. With this
change, one can specify any substring of the mkspec names under
devices/ and the first one will be picked.

Change-Id: I7c4522fdaefe4a11e9292f7831075aa766a62c0b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-19 01:45:04 +02:00
Thiago Macieira
50f4e6ba8a Blacklist Apple clang 3.0 and previous support for AVX
In at least one case found in our testfarm, the compiler runs into an
ICE (Internal Compiler Error) compiling the new AVX code. The error it
reported was:

 fatal error: error in backend: Cannot select: 0x7fbf1aa42210: f64 = sint_to_fp 0x7fbf1aa88a10 [ORD=1936] [ID=37]
   0x7fbf1aa88a10: i32,ch = CopyFromReg 0x7fbf19538768, 0x7fbf1a9f2610 [ORD=1936] [ID=27]
     0x7fbf1a9f2610: i32 = Register %vreg38 [ORD=1936] [ID=9]

As is the nature of ICEs, juggling the code around will probably make
it pass. But since I have plenty more AVX changes pending, which make
the code even more complex, it's also very likely that this issue will
happen in other places. For that reason, I choose to blacklist the
compiler instead.

Change-Id: Ide3201f0cc49c7ceb63e966f6de65a8315cbea4b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-18 10:33:46 +02:00
Lars Knoll
2b21dd69d6 turn off exceptions by default where they aren't required
This significantly reduces the size of the generated code
in places where we don't need exceptions.

The -(no-)exceptions configure flag has been removed in the
process, as there is now a fine grained way to control this
on a per module level, and Qt is being compiled without
exceptions in most places.

Change-Id: I99a15c5d03339db1fbffd4987935d0d671cdbc32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-17 05:14:26 +02:00
Johannes Zellner
26790242c5 configure: save pkg-config env in qconfig.pri
Store PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR for the usecase of
cross compilation in qconfig.pri. They will get picked up by
pkgConfigExecutable() in qt_functions.prf used from link_pkgconfig.prf
as environment for pkg-config calls.

Change-Id: I7d0de05c0bd21b435275fc26c66a80035ba30970
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-14 21:23:43 +02:00
Bradley T. Hughes
7a67c822e3 configure: Remove the -dwarf2 argument for Mac OS X builds
Modern versions of Xcode properly support dwarf2, and as such dwarf2 is
always enabled. This change removes the ability to turn it off, making
dwarf2 non-optional.

Change-Id: I149daeae6048ee8a1ed116363572173ad219102e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-11 12:52:21 +02:00
Morten Johan Sorvig
2368809a28 Remove "file qmake"-based arch detection.
Change-Id: I0b6b66eb439c7f0f566b74cc3da0726a5ecbac34
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-04 09:19:23 +02:00
Sergio Ahumada
62185f07f8 configure: Escape '{' in getQMakeConf2 function
Change-Id: I7df0ca940a76b80d7b0da24dbedbabd2b8736bb8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-01 07:10:55 +02:00
Morten Johan Sorvig
842a0b094b Make QGtkStyle work on Qt 5.
Mostly straightforward porting: Add configure test from Qt 4. Add X11
include to qgtkstyle_p.cpp. Use renamed QGuiApplicationPrivate::showModalWindow.

Change-Id: I83020e13ec00b49f3fe346814f881bce19a6f602
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 14:01:22 +02:00
Girish Ramakrishnan
0074cc5d34 Fix detection of default platform plugin.
Let configure generate the QT_QPA_DEFAULT_PLATFORM_NAME in
qconfig.h. This allows us to override the platform name
using a configure argument.

This commit adds -qpa <platform> that lets the user specify
the default platform at configure time. Note that the default
platform is not checked against the tree since plugins are
allowed to exist outside the Qt source tree.

In the absence of -qpa argument, configure checks the mkspec
for a variable named QT_QPA_DEFAULT_PLATFORM. This check is
implemented only in the unix configure because it will be primarily
used in custom mkspecs (devices, boards).

If -qpa argument is absent and the mkspec variable is absent,
the default value is determined based on the OS as below:
    Unix - "xcb"
    Windows - "windows"
    Mac - "cocoa"
    QNX - "qnx"

Done-with: Jørgen Lind

Change-Id: I0df31811a1b901a3242bfada1232e596ebda04f4
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-04-19 16:40:29 +02:00
Girish Ramakrishnan
c0d8d97802 -device: create qdevice.pri only when build tree is initialized
The build tree is not initialized when -help is passed to configure.
The mkspecs/ directory is not created and thus the mv fails results
with the following error:
mv: cannot move `.device.vars' to `/tmp/qtbase/mkspecs/qdevice.pri': No such file or directory

The solution is to create qdevice.pri just before we run config.tests.

Change-Id: Ie83018e27a03bb840d213aae8c963b0074e62bb4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-19 11:07:25 +02:00
Stephen Kelly
1f622c986b Don't fail to configure if QNX platform plugin is built.
Change-Id: I781eab2fb07fe62d733317b8a72dd899caaf5a80
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-19 11:07:25 +02:00
Thiago Macieira
a0aad0b1b2 Add a functionality test for DirectFB to ensure it compiles.
Some versions of the DirectFB headers are unclean and will cause Qt
compilation failures. So blacklist those versions. Version 1.5.3
(present in Fedora 16) is known to be buggy and gets disabled by this
patch.

The compile error was:
  qurlquery.h:169:5: error: ‘typeof’ was not declared in this scope

(qplatformcursor_qpa.h includes qevent.h which includes qurl.h which
includes that)

The error comes from the Q_FOREACH expansion. Note that Q_FOREACH uses
__typeof__, so it's supposed to be safe, unless someone ill-advised
goes and defines the GCC "safe" macro (double underscores on both
sides) to something else.

Change-Id: Ida41ee3b3c2fcba86a7e12182e7055123166693b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-19 11:07:25 +02:00
Girish Ramakrishnan
ee166bbce0 configure: fix script error with -help
configure -help results in the following error:
[: 3174: missing ]

Change-Id: Ibe7a5292087924d3efd0c87d9fb91deee831171f
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-19 01:57:58 +02:00
Lars Knoll
64255ef650 Merge remote-tracking branch 'origin/api_changes'
Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
2012-04-17 12:58:52 +02:00
Donald Carr
d4c4723583 Remove incorrect inclusion of GL support headers given EGL presence
The include files have a hard dependency on OpenGL (ES2); testing for the
presence of  EGL support is insufficient grounds for including this
functionality

Change-Id: I391b5dbbcbef40ecf68d16617b6eb1c0bb4b799e
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-16 22:55:26 +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
Samuel Rødal
de1c827dbe Fixed configure output when no platform plugin is enabled.
Instead of having to pass -no-xcb -no-eglfs -no-directfb, it's
better to pass -no-qpa-platform-guard which is also resilient
against future platform additions.

Change-Id: Id68bfe3688980fa273665b01b9332f5d6f359491
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
2012-04-16 09:45:27 +02:00
Holger Hans Peter Freyther
19524b7499 directfb: Integrate building into configure.
Add DirectFB buildsystem integration by adding a configure target
and adding it as subdirectory to the project file. The default is
to automatically build directfb. Update the Broadcom/9425 build.

Change-Id: I482f865cebd9d5cd4c98c184773f8534f92db9df
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-13 18:15:26 +02:00
Morten Sorvig
c30d2c37b0 Use Clang by default on Mac OS 10.8 and above.
Change-Id: Ieaf65a86f2a0ccc5dac007030ea345ce6ccc7185
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-12 14:26:59 +02:00
Girish Ramakrishnan
0991eae048 configure: add -pkg-config option to control pkg-config usage
Currently, for host builds, pkg-config usage is autodetected based
on it's availability in the mkspec or the PATH. For xcompile builds,
pkg-config is disabled unless -force-pkg-config is passed.

-force-pkg-config is poorly named since it doesn't reflect the fact
that it applies only to xplatform builds. It is in fact the only way to
enable pkg-config in xcompile builds. And when passed, it doesn't actually
force anything since all it does is check env variables. To add to the
confusion, it prints a warning even if the env variables are setup correctly.

This patch remedies the situation. It adds (-no)-pkg-config. The flag works
for both host and xcompile builds.

By default, the value is 'auto'. In this mode, it will try try to detect pkg-config
from the path. If found, it will be used. For xcompiled builds, we use some heuristics
to determine if the pkg-config is actually usable:
1. if -sysroot is not set and the environment variables PKG_CONFIG_LIBDIR or
    PKG_CONFIG_SYSROOT_DIR are not set, we disable pkg-config.
2. if -sysroot is set, then we setup PKG_CONFIG_LIBDIR and PKG_CONFIG_SYSROOT_DIR
   automatically (provided $SYSROOT/usr/lib/pkgconfig exists).

If the value is 'yes', configure will error if it's heuristics fail to detect a usable
pkg-config.

If the value is 'no', pkg-config usage is disabled.

If the value is 'force', configure will skip it's heuristics and use pkg-config anyway.
This mode is useful, for example, when compiling for 32-bit on 64-bit systems.

This change also removes references to PKG_CONFIG_SYSROOT (PKG_CONFIG_SYSROOT_DIR
is the correct environment variable).

Change-Id: I07fc8d48603c65a60de0336fc6276e90fcb41430
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-11 19:14:43 +02:00
Girish Ramakrishnan
d60d98450a Save configuration feedback into config.summary
Scrolling the configure output to locate the build configuration
is painful. So save it in config.summary.

Change-Id: I40a2f7628e9a2b91a8ea44619dd49c00d5a61561
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-10 19:11:24 +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
Donald Carr
ccdc98cfd8 Don't suppress using separate debug info when cross compiling
The configure script currently automatically assumes that if you are cross
compiling, we should avoid trying to generate and strip separate debug
information due to toolchain limitations.

Historically there may have been good grounds for this, but it seems like
an aggressively pessimistic assumption which ignores the
standardization/advancement of embedded toolchains as a whole.

This assumption also extends to host compilers which deviate from the
automatically detected "platform" compiler, such as Clang.

Change-Id: Ifed2750325178bb5291d8ca1dde92925bfa36065
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-04-03 10:45:02 +02:00
Kai Koehne
0556540b41 Rename the 'declarative debug support' to 'qml debug support'
Since the library and almost everything got renamed to qml, we
should do so for the debugging support, too.

(CONFIG+=declarative_debug will continue to work for some time
being, but prints a deprecated warning).

Change-Id: I295155dce873e2585c1452d2bf0625ea6ce219c4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-31 16:33:04 +02:00
Girish Ramakrishnan
4ba9cecec2 Remove sysroot detection
configure parses the compiler from the mkspecs using an awk script.
The detected compiler is then used to determine sysroot support.
The awk script is currently unable to handle loading of qmake
features and thus configure will not detect the compiler correctly.

This is the case when using device profiles. The qdevice.pri is loaded
through the qmake feature file device_config.prf.

One possible way to fix this is to move this detection after qmake is
built and make this a .pro based config.test. However, this cannot be done
because the sysroot is actually baked into the qmake binary as the
QT_SYSROOT variable.

The solution is to remove this check completely and let the build fail
when Qt starts compiling with --sysroot.

Change-Id: I6c3b7ec2c8e5e390d6f5b1e602d656682d610b98
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-28 19:34:42 +02:00
Girish Ramakrishnan
d29b56f604 Document configure's -sysroot option
-sysroot has been undocumented so far.

Change-Id: I552f9233778de9490a3479292f0cda9c8c439282
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-28 19:34:42 +02:00
Thiago Macieira
7adbc9b234 Remove the -no-stl option from configure
This was decided on the mailing list. See:
http://lists.qt-project.org/pipermail/development/2012-March/002442.html
http://lists.qt-project.org/pipermail/development/2012-March/002465.html

Change-Id: I7681e5cc743b20f6d4e29d2aea45c50df41a0b98
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-28 16:31:34 +02:00
Thiago Macieira
5e4ed93b1c Stop erasing mkspecs/modules at every reconfigure.
Developers who are building & rebuilding Qt often end up needing to
recompile all other modules because of this removal even though the
libs are still compatible.

Change-Id: I4ec0e8ab222675dcd2a3f3a2b5e931c1c7f31f69
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-27 21:14:35 +02:00
Thiago Macieira
e2dfd2f4d2 Disable EGL (and thus EGLFS) if we're not using OpenGL ES
EGL support in src/platformsupport/eglconvenience requires OpenGL ES
to be enabled, so it makes no sense to test for the presence of EGL if
we're not enabling OpenGL ES.

EGLFS has similar requirements, so ensure it gets disabled
too. Otherwise we're going to get lots of undefined symbols in the
EGLFS plugin to things in QtPlatformSupport that did not get compiled
in either.

Change-Id: Ie55dd2e2597ec0594aa589ee8aac150c71104b46
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-27 21:14:35 +02:00
Kent Hansen
d236fe2214 Merge master into api_changes
Conflicts:
	src/corelib/global/qisenum.h
	src/dbus/qdbusconnection_p.h
	src/widgets/kernel/qwidget.cpp
	tests/auto/other/qaccessibility/tst_qaccessibility.cpp

Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
2012-03-27 19:22:48 +02:00
Jason McDonald
d41e0564f5 Remove obsolete references to QWS from configure script.
Task-number: QTBUG-24027
Change-Id: Id7be20aa4438e590d629ec96f5ad817866f83764
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-27 17:03:34 +02:00
Donald Carr
4535913c4f Configure QPA cleanup
PLATFORM_QPA is always true
PLATFORM_X11 is always false

remove/collapse all related conditional statements to lend greater clarity
to the configure script

Change-Id: I4998edf5402019370333ed79effcd0cacafbe87d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-27 12:04:47 +02:00
Marius Storm-Olsen
ac02d4e7ad Remove 'tests' as default build part.
This requires 'configure -make tests' if you want to automatically
build autotests for a module by default.

You can still go into the individual tests/ directories and
    'qmake && make check'
to build and run the autotests.

configure -developer-build will enable the tests by default,
like it did in Qt4.

Change-Id: If4d870987de0947a8328509dcc227fa9e6284201
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-27 12:01:59 +02:00
Girish Ramakrishnan
84e98fd9d2 device: Add -device and -device-option to configure
For some reference platforms and SDKs we will need to pass in
extra paths. Currently users have to modify the mkspec to adjust
paths or set environment variables that will be picked up.

This change introduces the -device <name> and -device-option
<key=value> option. The key value pairs will be written to a
qdevice.pri and can be used by the qmake.conf of the device spec.

The reason to not save the key value pairs in qconfig.pri is
becase of the fact that the device spec loads the qdevice.pri
earlier than the qconfig.pri. qdevice.pri allows the mkspec
to set the compiler flags and qconfig.pri allows configure to
add to those compiler flags.

Done-with: Holger Freyther

Change-Id: I931a197b8be72397e1eedfee09502eefc01c9d4f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
2012-03-27 05:35:57 +02:00
Donald Carr
d8508b8139 Reunite NAS support in configure with QSound
RIP

Change-Id: I7c47052ce4962f10dbcbbb8d48f05b3158d4a69a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-26 11:41:07 +02:00
Bradley T. Hughes
7df980031b configure: Fix x86_64 arch detection (part 2)
This is a follow-up to comit 70a8833151.
The regular expression for CFG_HOST_ARCH was not updated in the above
commit.

Change-Id: I2baf0b42d851f1df096c2f6ad54aeec57940e661
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-03-24 00:55:50 +01:00
Thiago Macieira
1882cf1c9d Add detection of AVX and AVX2 support in the compiler.
Intel CC 12.1 supports AVX2 but only with -march=core-avx2. The -mavx2
option produces a warning.

GCC 4.6 does not recognise any option.

GCC 4.7 recognises both -mavx2 and -march=core-avx2 so let's use the
latter for now. We may need to change to -mavx2 when there's an AMD
processor that supports AVX2 too.

Change-Id: I529240e6e6c2c0e3942d357e0320212d954fe4de
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-23 19:43:00 +01:00
Thiago Macieira
a1b30b49ef Remove detection for MMX support and related technology
This also removes the check for SSE, but the check for SSE2 and
further technologies is kept. If SSE2 is present, then SSE is too. We
don't have any code that uses the original SSE instructions only.

Remove the CMOV detection, since we don't use that anywhere and we're
not likely to ever use them..

Change-Id: I3faf2c555ad1c007c52a54644138902f716c1fe1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-23 19:43:00 +01:00
Kent Hansen
3b512ae142 Merge master into api_changes
Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
2012-03-23 14:10:58 +01:00
Bradley T. Hughes
70a8833151 configure: Fix x86_64 detection
The regular expression should look for underscores in addition to
alphanumeric characters.

Change-Id: Idc3dbd67291ec1420f818d74fba8413b1e7cbcf1
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-23 07:50:57 +01:00
Girish Ramakrishnan
4cc9523a31 Make architecture detection more robust.
Any message/error in mkspecs or qmake feature files ends up confusing
the current arch detection logic. Instead, search for
"Project MESSAGE: .* Architecture: <arch>".

Change-Id: I308932a5b75f3a1fcbc4fe30c74faf2e83b2d752
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-22 20:59:27 +01:00
Thiago Macieira
228392aff2 Save the pkg-config settings in config.status
Change-Id: I6fc14eaf071ff56325bbcabb0ae8971fcf07b370
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-22 18:59:45 +01:00
Damir Tatalovic
fa8e18c386 MIPS DSP configure detection and initial blend optimizations.
Adds new MIPS configure test and -no-mips_dsp and -no-mips_dspr2
configure options.

List of optimized implementations:

- comp_func_SourceOver
- comp_func_Source
- qt_memfill32
- qt_destFetchARGB32
- qt_destStoreARGB32
- blend [RGB32][RGB32]
- blend [ARGB32_Pre][RGB32]
- blend [RGB32][ARGB32_Pre]
- blend [ARGB32_Pre][ARGB32_Pre]

Change-Id: I35411858295b7b3f4895eb56e3b93397528903cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira
d6d4dcaf18 Fix cross-compilation that uses fontconfig / freetype
config.tests/unix/freetype.pri has a !cross_compile flag, so we must
find freetype using the proper detection methods. The detection was
inside an X11 section of configure, so move that out.

And use the results of that detection, now that QMAKE_CFLAGS_X11 isn't
used (since we're not building X11 in QtPlatformSupport).

Change-Id: Ic8f5cfb7263849bfb12967756def2b5aaa244872
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira
69bf30596c Fix the bsymbolic_functions test and improve the error reporting
The bsymbolic_functions test was missing $SYSROOT_FLAG, so the linking
was always failing and the test falsely negative.

Also make the error reporting better: if the flag was requested, error
out if the check fails and report more information in -v mode.

Change-Id: Ie2615f8083e7e58d63d9ee9c23be937dc864b30d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-22 18:59:45 +01:00
Sean Harmer
c6965407e5 Add x86_64 to CONFIG on Mac OSX only when not cross-compiling
Change-Id: Idd066010334999376d8b2c9619d797e4eb1f1153
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-22 16:13:21 +01:00
Sean Harmer
8ec49c810c Set absolute_library_soname on mac only when not cross-compiling
Change-Id: I24a2b70a515483d9d0990f66bff2b37df72faf17
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-22 16:13:21 +01:00
Donald Carr
b936b95965 EGLFS: Integrate building into configure.
With the move to the QPA architecture EGL is now only required by
individual platform plugins and the configure script has been adjusted to
reflect this.

Change-Id: Ieadacef0b970f29752d9e3e36a007e5cbb005b0d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-03-21 03:03:29 +01:00
Stephen Kelly
8727db0dad Fix cross-compilation of qdbus bootstrapped tools.
Change-Id: Ib40fc1c1743ff23a259cabbf26d91956398c3239
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-03-20 22:20:25 +01:00
Bradley Smith
336f24465a Improves configure checks for XCB.
The XCB plugin requries libxcb >= 1.5. Configure and
config.tests/qpa/xcb now check for this.

Change-Id: I96c688b79bf5b49fd3ecc4ddc12ebdc2d3788790
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-19 20:16:04 +01:00
Lincoln Ramsay
25e004bfe4 Set RPATH_FLAGS on Mac too
Without this, QMAKE_RPATHDIR is empty and qt_module.prf's logic to turn
on absolute_library_soname fails, causing some modules to build without
absolute paths (eg. qtjsbackend's QtV8 framework).

Change-Id: If03136ca60a5d8a96a589e2d1034e5884fd6a1ac
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
2012-03-19 04:46:15 +01:00
Girish Ramakrishnan
73b42378e7 configure: Fix iconv detection
Makes no sense to disable iconv based on QPA. This change will
make iconv as the "system" codec i.e the codec used for 8-bit
locale dependent conversions.

Change-Id: I4469e9c226b2411ac1338f61dabb84ec9c2ec603
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-18 19:26:33 +01:00
Gareth Stockwell
42a7eb8df6 Ensure QMAKE_RFLAGSDIR is set correctly
This patch ensures that additional runpaths passed to configure via
the -R switch are added to the QMAKE_RFLAGSDIR variable.

Previously, although runpaths provided in this way were appended to the
linker options when building Qt itself, they were not appended to
the QMAKE_RFLAGSDIR value written to mkspecs/qconfig.pri.  This meant
that the DT_RPATH attribute was set incorrectly in binaries built from
projects other than Qt itself.

-----------------------------------------------------------------------
Configure flags             Expected value        Value before this fix
-----------------------------------------------------------------------
<none>                      DEFAULT_RPATH         DEFAULT_RPATH
-no-rpath                   <empty>               <empty>
-R X                        DEFAULT_RPATH:X       DEFAULT_RPATH
-no-rpath -R X              X                     <empty>
-prefix Y                   Y/lib                 Y/lib
-prefix Y -no-rpath         <empty>               <empty>
-prefix Y -R X              Y/lib:X               Y/lib
-prefix Y -no-rpath -R X    X                     <empty>
-----------------------------------------------------------------------

DEFAULT_RPATH = /usr/local/Qt-${QT_VERSION}/lib

Change-Id: Iaf1809b528ebd249694cf41e004173e881ca48ad
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-17 01:52:03 +01:00
Donald Carr
8e8ef6f5f5 Add deliberately non-documented qpa platform guard opt out
Change-Id: Ia494976d3cd3c3983d455f130fdf5ab36591aba2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-16 02:29:34 +01:00
Donald Carr
0738c38f0e Add Qt Widgets opt out support to build system
There should be a clear QWidget free path for people with no interest in
legacy QWidget functionality. Adding this option to configure makes this
path readily accessible and hence testable.

Change-Id: If87c1063fcf4c46f5280836126c11999feaa9f8a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-15 11:40:50 +01:00
Bradley T. Hughes
ba6952b28d Remove -arch argument and #define QT_ARCH from configures
Do not try to detect the host or target architectures using uname or
similar, and do not override with the -arch or -host-arch configure
arguments. The configures will still accept the -arch and -host-arch
arguments, but it ignores them and instead outputs a warning stating
that these arguments are obsolete and should not be used.

Set QT_ARCH and QT_HOST_ARCH qconfig.pri variables based on the compiler
target. This is done by running qmake (twice when cross-compiling) on
config.tests/arch/arch.pro, which preprocesses a file that contains all
knowns processors.

On Windows, configure.exe has never run any config.tests before, and
does not currently have a function to run a program and capture its
output. Use _popen() to accomplish this (as qmake does for its system()
function). This needs to be done after qmake is built, as does the
mkspecs/qconfig.pri generation. As a side effect, the configure steps
have been slightly re-ordered, but the overall result is the same. The
displayConfig() call is moved to just before generating Makefiles, so
that it can show the detected architecture(s).

Change-Id: I77666c77a93b48848f87648d08e79a42f721683f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-13 12:27:44 +01:00
Girish Ramakrishnan
01e8e9136d Check for PKG_CONFIG_LIBDIR when cross compiling.
When cross-compiling, check for PKG_CONFIG_LIBDIR instead of
PKG_CONFIG_PATH. pkg-config searches for pc files in PKG_CONFIG_PATH
*and* the compiled in defaults (/usr/lib/pkgconfig). This means that
pc files from the host get found when cross-compiling.

Setting PKG_CONFIG_LIBDIR makes pkg-config search only in the path
set in PKG_CONFIG_LIBDIR.

Documented in the url below:
http://www.freedesktop.org/wiki/Software/pkg-config/CrossCompileProposal

Change-Id: I22dbf29c5691572b7cb8a5fce712ae7ba811670e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-12 21:38:51 +01:00
Jørgen Lind
b5b41c1834 Remove redundant wayland stuff from QtBase
Config checks are done in the module.

We pick up the pkg-config stuff also in the module. There shouldn't be a
need to do this in configure anyway

Change-Id: I9ef73760511c6b684c6cd5dd13e7e581c588e7aa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-12 17:33:15 +01:00
Jørgen Lind
53c97f83b4 Don't define QT_NO_CORESERVICES on all platforms. That's just annoying
Change-Id: Id814bd0956b97c84ff0e6fcae8e5f22394c433e7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-12 17:33:15 +01:00
Oswald Buddenhagen
197ba93cf0 rip out -incremental from configure
the feature is rather obscure and unlikely to be used by anyone.

Change-Id: I2dfb4ca4d5d1f210d385c013f46bc6389fd6ea2d
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-12 10:59:44 +01:00
Donald Carr
65a9c12733 Remove erroneous never referenced QT_NO_GUI define
Logic was clearly always off kilter, and this was only defined for GUI
builds

Change-Id: Ie85c156510e7c450a5192408b4c365ff07ce2029
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-09 20:43:00 +01:00
Holger Hans Peter Freyther
f16b08dfc6 qws: Remove decorations/kbd/mouse plugin support from configure
Change-Id: Iaca207ed892b2f5f5d1650ed27007532a172544c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-09 18:50:52 +01:00
Oswald Buddenhagen
46e51ce1dd do not copy/symlink qmake to build dir
make is perfectly capable of doing shadow builds

Change-Id: I7e1c27cddc385b7a17ae5645b9cd26fa56d2f029
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-09 14:23:15 +01:00
Donald Carr
3c47b52bd3 Add cross_compile to qconfig.pri for global advertising
.qmake.cache is not necessarily accessible to other modules which depend on
information about whether we are cross compiling or not. We might as well
advertise this fact globally via the CONFIG variable in qconfig.pri.

Change-Id: I6dee3e6604e5ca1c775c5f9f834fe29b4e27adb8
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
2012-03-08 23:52:34 +01:00