Commit Graph

440 Commits

Author SHA1 Message Date
Oswald Buddenhagen
6901d21c1d reject unrecognized -no-l* options
the -l* fallback is for adding libraries. it obviously makes no sense in
its negated form.

Task-number: QTBUG-32550
Change-Id: I9f3af9a2fc059ba39987d4b197ed4778cc7f35b6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-05 20:15:53 +02:00
Sergio Ahumada
8c35db5c72 configure: Fix xkbcommon summary output
On systems where xkbcommon >= 0.2.0 the output should be

  xkbcommon .............. yes (system library)

instead of

  xkbcommon .............. yes

Change-Id: I5807946e61814d414a68a15ad96c91f25c9482ee
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-05 13:26:15 +02:00
Sergio Ahumada
ded8c6a08f configure: Fix qtwebkit-examples-and-demos -> qtwebkit-examples
Change-Id: I950912a883c263ee4bbae4d1da53c66aa870be70
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-31 14:52:07 +02:00
Oswald Buddenhagen
54987c6bf5 default to -compile-examples
because of popular confusion.
the packaging scripts now need to use -no-compile-examples explicitly.

Task-number: QTBUG-32449
Change-Id: Iecab1f345afe21e540204fe69a2292ef932cbb61
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-07-22 19:52:06 +02:00
Thiago Macieira
bc7e63e3f9 Don't enable EGL support if OpenGL is disabled.
QtPlatformSupport fails to build if EGL support is enabled but OpenGL
isn't. It tries to compile eglconvenience, but qplatformopenglcontext.h
is empty (#ifndef QT_NO_OPENGL).

It makes no sense to have EGL with no OpenGL ES, so make sure we don't
try it.

The current test to disable EGL if OpenGL desktop is active is upside
down. With -opengl desktop -no-egl, it would complain that EGL support
was requested.

Task-number: QTBUG-28763
Change-Id: I80c780ec78181f3fa85f43e41be21d1217d76610
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-07-03 01:24:12 +02:00
Sergio Ahumada
4fdf33a800 configure: Use $AWK instead of plain 'awk'
The $AWK variable already contains the best awk version
available. Possible values for this variable are: gawk, nawk or
awk.

Using just awk fails on Solaris with:

  user@localhost:~/qtbase$ ./configure -platform solaris-g++
  awk: syntax error near line 4
  awk: bailing out near line 4

  This is the Qt Open Source Edition.

Change-Id: I02a17915e8b27a5ce7e831a1225872cf460b3a6b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-26 16:28:32 +02:00
Sergio Ahumada
f30a905ea4 configure: Don't use 'local' in report_support()
The 'local' keyword doesn't exist in Solaris' bourne shell as a
reserved word.

Change-Id: I3270c74f79842ee10481a40a9f82d9fb74aff2e5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-26 16:28:28 +02:00
Oswald Buddenhagen
e9d539623a introduce "secret" configure -top-level option
shifts the makefile generation one directory level up.
this allows the top-level configure to leave the makefile creation
entirely to the qtbase configure.
this is not very clean modularization-wise, but consistent with -skip.

Change-Id: I7ee2d2f29f2e6619d61fe9b55faa0bacdf3c44c1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-26 05:53:41 +02:00
Oswald Buddenhagen
77d903ae1a catch accidental use of -no-make
the option the user most likely meant is called -nomake.

Task-number: QTBUG-21778
Change-Id: I6d8c4d5a984c929804f49ffc2ac75f6945f76e81
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-19 20:02:21 +02:00
Oswald Buddenhagen
1aaeb9538b complain about bad arguments to -make/-nomake
Task-number: QTBUG-5366
Change-Id: I461a6c85fcee4a0216571d294171652b05ee6a34
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-19 20:01:45 +02:00
Oswald Buddenhagen
7f709861ec don't claim that "make install" is needed for non-prefix shadow builds
Change-Id: I3a72fa8f5f849fba1a4bc79788b090c1a23b0198
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:58 +02:00
Oswald Buddenhagen
d0c9fb8585 normalize file list assignments
not quoting the variable references allows the shell to word-split the
contents and thus convert the embedded linebreaks into spaces.

Change-Id: Id834f02d7a501fb6fe48b45f409f599a8b70b7ed
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:52 +02:00
Oswald Buddenhagen
864b3b9918 don't write unused QT_INSTALL_* to qmake Makefiles
the installation has been moved to the qtbase top-level project a long
time ago.

Change-Id: I25f1658d1a6544da4bdaa5be6b19f9076c19b7f9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:44 +02:00
Oswald Buddenhagen
70805d852a wrap the horrendeous monster switch case
Change-Id: Ia8619a9e75006d9a95ae325de7aa326b5dd928a6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:34 +02:00
Oswald Buddenhagen
49bee21d57 don't make qconfig.h read-only
not much point in it, really.

Change-Id: If984aa137993ae6b95cb3591fceac729ae3aa819
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 13:02:55 +02:00
Oswald Buddenhagen
930dc240d1 remove pointless symlink fallback for qconfig.h
syncqt does that nowadays.

Change-Id: Iffc465cce86a7c6370afaa543ba9b9ed8d478eea
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-05 12:36:58 +02:00
Oswald Buddenhagen
0a1b89bff5 run syncqt only for builds from git
the logic in the configures was even trying to express that, only that
nowadays we always ship syncqt, so the tests were kinda pointless.

this frees us from the perl dependency for non-developer builds of
packaged modules (except for webkit, which needs almost every scripting
language on earth anyway).

obviously, this requires that the packaging scripts run syncqt in the
source dir before tarring up the sources. note that for repositories
other than qtbase, the -version argument needs to be passed to syncqt.

Task-number: QTBUG-29465
Change-Id: Ic929ab17a5de4b30fbf48b3aa9bfa3b4d2ef37d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:47 +02:00
Oswald Buddenhagen
8d69232b28 let configure create the forwarding qconfig.h again
this avoids that syncqt needs to forward to a yet unexisting file (which
will have a yet unknown location, when syncqt is run at packaging time
already).

the %inject_headers syncqt config variable remains, so it can be told
not to purge "foreign" files.

Change-Id: I127ff6e0b7d5702fb0acaee9a5b7940b482d3608
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:31 +02:00
Oswald Buddenhagen
c3bec846ac remove bizarre perl detection magic
the code makes no sense, and was added with the QNX port without comment.
there is already a detection a few lines up.

Change-Id: I18ec18604c37c7c42f2649a658dd22324d481dd3
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-05-30 09:56:03 +02:00
Oswald Buddenhagen
8ea19caacf add -compile-examples configure option
this overrides the magic that makes examples only install their sources
in production builds.

packagers may want to force the build of the examples, so they can
package them up for demo purposes.
this is actually why we formerly had the split between demos and
examples ...

Task-number: QTBUG-30788
Change-Id: I5633f69404c5aa6846f5496e8f161a273a7a7da3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-26 10:09:58 +02:00
Paul Olav Tvete
07b34d934e Android: detect Linux 64 bit host architecture
This is the easy fix: looking at what is supported by the NDK. If people
have weird setups, then they have to specify -android-ndk-host. We do
actually detect the host architecture later, but using that would be
a much bigger (and riskier) change.

Task-number: QTBUG-31275

Change-Id: I18db878031baa2e1ee2fa4beff364d58d8bd3c7a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-24 21:40:24 +02:00
Ray Donnelly
c3488be438 Android: Remove libgnustl_shared.so copy hack.
It's not needed, and when $outpath/lib doesn't already exist
(when shadow-building for example), $outpath/lib ends up being
a copy of libgnustl_shared.so, when it really must be a folder.

Change-Id: Iaf3af6f4183090137043549cb8d9899c2bc92f24
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-05-23 12:49:39 +02:00
Friedemann Kleint
0feb1aadfd configure/Mac: Handle errors by xcrun.
xcrun occasionally prompts for a license or outputs errors which
results in:

configure: line 2488: [: : integer expression expected

Check the output and bail out on error.

Change-Id: Ic1ae62b5f19cf87365c38901e98d6b385cdb39a4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-20 15:20:26 +02:00
Oswald Buddenhagen
6b38524bba get rid of syncqt wrapper scripts
instead, rename it to syncqt.pl and rely on qtPrepareTool()'s new
ability to correctly invoke it as a perl script even under windows.
the wrappers themselves have been trivial at this point, so there is no
added value in keeping them, either.

Change-Id: I77cf65edbcfaa48ed1900defe940d4eb4b82d5b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-13 21:54:48 +02:00
Oswald Buddenhagen
7db165d9e0 don't try to shadow scripts which are not even there
Change-Id: Ia8517ebc43488b8b92b142fa6b9f483b8fbe8a32
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-05-13 21:54:43 +02:00
Oswald Buddenhagen
8739487b1c install host libraries into -hostprefix
... and introduce -hostlibdir configure option for symmetry.

the libraries built for the host have no business in the target prefix.

in principle this code would even support dynamically linked host
libraries, but that's currently unused.

Task-number: QTBUG-30591
Change-Id: I8e600fa4911a020fb0e87fbf7ef2f35647c7c4d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Ivan Romanov <drizt@land.ru>
2013-05-13 21:54:40 +02:00
Ray Donnelly
a9952689c7 MSYS: Force relpath and outpath into same pathing namespace.
MSYS bash (and other msys-compiled executables) perform path
transformation much like Cygwin. This causes syncqt path
substitution to not work correctly, so use 'pwd -W' to get
the Windows version (though with forward slashes) of both
relpath and outpath.

Change-Id: I808e3ef9206ed5f5bd8b6879d12afe664e589e0c
Reviewed-by: Alvaro Burnett <alvaroburnett@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-13 15:39:35 +02:00
Thiago Macieira
3e37e3c3e9 Make the configure summary even prettier
Change-Id: Ie040fe142a5ee74c7f38a3fd2e6806b41aec4976
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-08 12:01:29 +02:00
Gatis Paeglis
a2a8a9ea01 Make access to xkbcommon_workaround.h more generic
It makes more sense to keep this workaround header together with the other
libxkbcommon files for a better access point since it's used by several *.pro
files.

Change-Id: I63d4eb58f6e7f3852834e41c4b6e058a2c962233
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-05-07 22:43:14 +02:00
Gatis Paeglis
9c1d62cc95 Add xcb-xkb to 3rd party libs
1) -qt-xcb

a) Use xkb from the 3rd party libs. As it is done for the other xcb
dependencies when qt configure with -qt-xcb.

2) -system-xcb (default)

a) If xkb found then use xkb from the system. (Currenly xkb is not
enabled by default when configuring libxcb library).

b) If xkb can't be found on the system then keyboard state will be
updated from X11 core events.

Change-Id: I7c3dbce6daa2cec52067cd5af80f19040233a0db
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-05-07 22:43:14 +02:00
Gatis Paeglis
2122e731ab Add libxkbcommon to 3rd party libs
This library is required by the XCB platform plugin. As we depend on
very recent version of this library and it might not be available
in base repositories of distributions, users can use -qt-xkbcommom
switch to build Qt with the bundled version.

Change-Id: I0ed2a5cc2f1df98b0e7cc926cabfa69818674e08
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-05-07 22:43:14 +02:00
Gatis Paeglis
9953393593 Make the configure script to accept "-no-harfbuzz" switch
./configure -h lists "-no-harfbuzz" as a valid option, configuring with this
switch gives an error message:

"-no-harfbuzz: invalid command-line switch"

Change-Id: I77aa68d17805170189150198dc9abea5f8cfa5c2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-07 20:40:41 +02:00
Jan Kundrát
adec3f4eaf Do not talk about make confclean in the top-level directory
The configure script does not actually produce a "confclean" make target.

Task-number: QTBUG-27735
Change-Id: Ia0f9e33e50c35cc6bb2941853e518a40fc9edaee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-23 18:57:45 +02:00
Thiago Macieira
0e9b0fc1d4 Move the reporting of xkbcommon's warning closer to the bottom
The warning is more likely to be seen if it's closer to the end of the
output.

Also report whether we found xkbcommon in the main output. Note that
xkbcommon is used by Wayland too, so it's not dependent on QPA or on
the XCB backend.

Change-Id: I143327eea4e17fa06bc7c24c677ae0bd00e65711
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-15 15:32:40 +02:00
Thiago Macieira
7a536e1b7b Re-shuffle the configure output
Keep options sorted and use indentation to group together related
options (QPA backends, image formats and SQL drivers).

Change-Id: I97d330a13a4daa4567ff741dc26e11f458ae7f53
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-15 15:32:40 +02:00
Ray Donnelly
6e0f55495d Android: Implement a hack for qmake /dev/null usage on Windows.
Neither /dev/null nor NUL work with Qt on Windows. For now, use
an empty file for the cases where qmake is used with /dev/null.

I filed a bug for this:
https://bugreports.qt-project.org/browse/QTBUG-30562

Change-Id: If5351214ae5a0ebe50ae46b155c327ca0dc59f98
Reviewed-by: Alvaro Burnett <alvaroburnett@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-15 15:32:40 +02:00
Ivan Romanov
f1e74c0741 fix padding periods in configure help text
A gap after option name is needed to select it with double-click.
Also I added padding periods for -testcocoon because it has no them before.

Task-number: QTBUG-30589
Change-Id: Ib5b970f9b17cad43609fbc53dd05a995aaf29b45
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-15 13:17:26 +02:00
Tor Arne Vestbø
be08ef6131 iOS: Automatically disable rpath since it's not supported
Change-Id: If4f707f5d32a1a38b9ca11d4f1703e1f20bb3c20
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-12 14:16:42 +02:00
Tor Arne Vestbø
4731ced45b iOS: Automatically disable pkgconfig, and don't build examples and tests
So that the user doesn't have to pass -no-pkg-config and -nomake, when
we already know that those flags are needed and that the build will break
without them.

Change-Id: Ic07e02bc1800f177cf09f704104c1a76bfc50aa2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-12 13:57:25 +02:00
Thiago Macieira
2c5188f077 Don't use UNAME_MACHINE on Linux
We don't need it. Let linux-g++ be the default on all Linux builds,
period.

Task-number: QTBUG-30590
Change-Id: I26c73bf4f054684763b64ef5651b3488363ea7a1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-10 17:51:36 +02:00
Tor Arne Vestbø
f73a7ca46c Verify Xcode installation more thoroughly before relying on it
We depend on Xcode for building Qt itself and user application on Mac OS.
The user may have an Xcode install that is not set up properly, in which
case we would fail compilation in mysterious ways. Instead we try to
detect misconfigured or missing Xcode installs as early as possible.

We try to detect if an Xcode install has not been chosen yet, and
if the user has not accepted the Xcode license agreement. We need to
do these checks both in configure, as early as possible, and in mkspecs
on Mac OS, as we need to error out if the user tries to build an app
with the Qt SDK, but with a broken Xcode install.

Change-Id: I4e3a11077a61dc5d4ee2c686d01044a9bb2c1c79
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-09 10:03:26 +02:00
Tor Arne Vestbø
4f002f3256 Use absolute paths for Xcode helpers such as xcodebuild/xcrun/xcode-select
We always use the xcodebuild/xcrun/xcode-select binaries in /usr/bin,
as these will dispatch to the right binary based on what Xcode version
has been chosen using xcode-select -switch. This fixes an issue where
a tool was in the path from another Xcode installation. We can rely on
the tools as they are present on a clean Mac OS install.

Change-Id: I1d3cc1e92604f9be6d6f14639cb6322234edd696
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-09 10:03:20 +02:00
Tor Arne Vestbø
f65bfe11e1 iOS: Skip modules that don't build yet
Change-Id: Ic0f39d7fb5a7f435f31dc6897a0a9266d1d7b0ef
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-08 17:23:15 +02:00
Tor Arne Vestbø
3d0a60aaa4 Enable C++11 on OSX when using Clang
This means we have to bump the deployment target to Lion (10.7), as the
LLVM 'libc++' C++ standard library does not support Snow Leopard (10.6).

For iOS the deployment target has to be bumped from 4.3 to 5.0, but we
don't enable C++11 by default yet as it's not tested enough on iOS.

Users who wish to deploy to 10.6 need to build their own Qt,
passing -no-c++11 to configure.

Change-Id: I7b5d20ab002db889d1091a4b7ff600f62caa7f06
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-04-05 14:23:23 +02:00
Frederik Gladhorn
a4121a21c0 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Icedabda08961326a0a447ec71f1b0f0f5df075eb
2013-04-03 15:43:39 +02:00
Thiago Macieira
782cd9ef2e Ensure GCC prints its messages in English when we parse them
We're trying to parse GCC output, so let's make sure that they are in
English. I've seen some reports that "search starts here" was
translated to some locales.

Change-Id: If09b1f45607f65d054496db65418e413b8aa8d48
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-02 18:58:33 +02:00
Oswald Buddenhagen
d8a127fdcc don't try to de-duplicate QMAKE_DEFAULT_{INC,LIB}DIRS
the de-duplication has the side effect of sorting, which is a very bad
idea: x-compilers tend to append the host library paths at the end, and
we really want them to stay at the end.

and the lists should have no duplicates to start with. should we find a
compiler which breaks this assumption, we can use qmake's $$unique()
strategically.

Change-Id: I01560e3c33736c2dfffdb05d5c960c492439c946
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-02 18:58:30 +02:00
Michael Brasser
87b3aa9f4f Revert "eglfs: Disable eglfs when evdev is not present"
evdev support in eglfs is now guarded by QT_NO_EVDEV, so this
check is no longer required. This allows eglfs + tslib to be
a supported combination.

This reverts commit a95e396a83.

Change-Id: Icf7c15121b7eca1131d412b05b956cd5d7f189ae
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-26 21:44:15 +01:00
Michael Brasser
bb4e2e4faf Allow tslib to be specified at configure time.
Change-Id: I0ebf0eeea7e6a0b8136fb805f34f04082bc58c5e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-26 21:44:15 +01:00
Oswald Buddenhagen
d8406d0e09 make the libexec default on windows bin/ after all
the dlls being in lib/ is kind of an accident (a side effect of how
qmake builds them). in fact, the libdir should be entirely irrelevant
for windows deployments (and indeed, the SDK is delivered with dlls only
in bin/).

Change-Id: If47e72b24774721a61ba63847f6132f88ff110be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
2013-03-26 07:49:11 +01:00