Commit Graph

201 Commits

Author SHA1 Message Date
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
Oswald Buddenhagen
0b2d55390c call syncqt before building qmake
otherwise non-developer builds (which don't have it run by the configure
bootstrap) don't work.

Change-Id: Ide49c0d1646b22687d16366530b246c3754926eb
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 17:24:25 +02:00
Oswald Buddenhagen
cef552a741 remove setcepaths.bat
we don't need it any more, as the makefiles are self-contained now.

Change-Id: I1a560a8331856e246e03c55ec1b1dd1a5cb112e4
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 17:24:15 +02:00
Oswald Buddenhagen
c2d088adbe qtmodule-configtests is no more, so don't shadow it
Change-Id: I0cb51cb63feb09f188764ace7d7b817ca10dd169
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 17:24:05 +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
8df98b43be compile without CamelCase headers
for faster bootstrapping without a full syncqt run

Change-Id: I648f0a8fb09be021590c46e8e5e15667a316c817
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-11 17:23:23 +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
Sergio Ahumada
67cb9e24e5 Removing duplicate includes
Do not include a header more than once

Change-Id: Ia2e5d66e72988ad833cf5177a3f8aa988bf510e9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-09-09 18:30:43 +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
Kai Koehne
30023baa2f configure: Unify order of options in help
The -developer-build option in the configure shell script is right after
-force-debug-info, move it to the same place in the Windows version.

Change-Id: I9b944f8591011ce9987a4fb98f7d02d88160d9e8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-07 11:22:16 +02:00
Jonathan Liu
d6d67d9011 configure: Fix infinite loop displaying config.summary
Displaying config.summary sometimes results in an infinite loop because
the loop condition only checks that failbit and badbit are not set.
The eofbit may be set with failbit and badbit not set.

Change-Id: I209480fbf114365fd4fdf1289c988a386f9f2562
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-03 13:41:55 +02:00
Jan-Arve Saether
80462ee678 Fix bug in configure where Qt did not compile with QT_ICONV=no
It did not compile because at the time qconfig.h was preprocessed,
QT_NO_ICONV was already defined, causing the #define QT_NO_ICONV to
fail. It should be guarded like most other defines in qconfig.h.
Also fix QT_CUPS=no, QT_ICONV=no, QT_GLIB=no, QT_NOTIFY=no and
QT_LARGEFILE_SUPPORT=64 the same way.

Change-Id: Ic9e0295756c35cb7c62e18eb9b63b1410e7de051
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-23 02:55: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
Andreas Holzammer
17c89d157a make it possible to pass configure zlib lib name
Change-Id: I82fde11436261dab51393b35dfbf2a753df58ec9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-21 11:05:20 +02:00
Andreas Holzammer
f2fabf77f9 Fix freetype font rendering for Windows CE
Windows CE does not have support for GetGlyphOutline.
So addGlyphToPath will not work. QML uses it for their
distance field rendering. One option to bypass this issue
is to use freetype as rendering backend.

Change-Id: I965254344945cbdad771a5d505fb61c1cc2087df
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-08-20 12:25:03 +02:00
Thiago Macieira
46da68c0bf QUrl is not necessary for configure.exe, drop it from the .pro
qurl.cpp was removed from the Makefiles on 6ab6b0fc1c,
but I missed the .pro file. You're not supposed to use the .pro file
anyway, it's just for opening in Creator.

But if you forget to remove the qmake build step, it would get compiled.

Change-Id: Ia52ae7349e195df58f76f8d2c5f8b46adfdc7454
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-15 23:40:57 +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
Andreas Holzammer
495017e5d4 Rename msvc11 to msvc2012
Microsoft has named their new Visual Studio again
after the old naming schema.

Change-Id: Ib1b971807fa89d90b10892a2d78570058e564f3a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-08-07 23:27:17 +02:00
Andreas Holzammer
0ef4bf1c1e Add possibility to add OpenSSL, DBUS, MySQL path under Windows
Under Windows it's quite possible that OpenSSL, DBUS or MySQL is
not installed into a central place. If -I and -L is
passed at configure time, it is added to all targets,
and if that path contained a conflicting header things would go
wrong.

Change-Id: Ic3338c49aa6eaa91b3abf5341e709ef604bf7aab
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-07 18:55:43 +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
a87006d4d2 remove -dsp & -vcp vestiges
only -vcproj is meaningful at this point

Change-Id: If727c96a9628e37a5a00a19a6eabede261c9c4b2
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-06 10:40:40 +02:00
Oswald Buddenhagen
f056602fa6 remove references to dead variables
Change-Id: I2603ebabbec5011fa0bf3e858401655a9a822768
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-06 10:40:07 +02:00
Oswald Buddenhagen
d0656e8bcf remove stray message
i think this was a vestige from the old wince build proces

Change-Id: I13305de627c65fc1c93ba6d2383557ff5ea7a147
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-06 10:38:46 +02:00
Oswald Buddenhagen
cd2a608cf6 remove stale messages about using setcepaths
Change-Id: I9c0a61254aa50e57b18718aa44935007fd25bd74
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-06 10:38:42 +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
Peter Kümmel
952788d64b add configure options for debug/release OpenSSL
msvc cannot use the same library for debug and release builds
if openssl libraries are linked statically into the network library.

Change-Id: Ic27ede2d9531b94aff4c50c1699947ce72caf286
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-31 11:47:39 +02:00
Thiago Macieira
d9048bef20 Make 'nmake qmake' work with the stub (fast) Makefiles
Without this, if you ran 'nmake qmake' or 'jom qmake' in qtbase's
top directory, it would simply tell you that 'qmake' was up to date.
After all, there is a directory called 'qmake' there.

Change-Id: I6cdb405e8106c137ecbab27923e524b924b19c84
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-07-28 00:09:45 +02:00
Stephen Kelly
5fa0f19e2e Fix copypasto: iconv -> cups.
Introduced in eba0efe10e

Change-Id: I6bfbf884f66057955d62db6266cf11b399edf965
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-25 17:32:21 +02:00
Rafael Roquetto
eba0efe10e Enable CUPS auto detection on Windows
Detect CUPS availability automatically when cross-compiling from a Windows
host.

Change-Id: Ife9bb90732c39794a7b760ced4aaea232612fe54
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-19 15:28:18 +02:00
Rafael Roquetto
6715c4fb2e Improve Windows XP and Vista styles auto detection
Do not build windows styles when the target platform is not Windows. This
makes a difference when cross-compiling.

Change-Id: I2184d39ed253af1069c5cdcd6a848611cff24789
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 02:31:24 +02:00
Rafael Roquetto
d524e326e4 Auto detect iconv on Windows hosts
Enable auto detection for iconv when
cross-compiling from Windows hosts.

Change-Id: I699e0a31d938403f5e80e74be90df87f11f361ba
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-18 14:37:36 +02:00
Rafael Roquetto
96bf9b181c Fix auto detection in configure.exe
All auto detection tests were failing
because the default mkspec was not yet
installed during the time they were run.

Change-Id: Iad14580f38d1539d9831917e5c9c707eae4c0c90
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-18 14:36:12 +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
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
Bjoern Breitmeyer
6fef496cd6 removed unecessary ce override of QT_INSTALL_PREFIX
this stopped the installation of mkspecs for windows ce

Change-Id: Ic57337904b88e4460f9f4110b08ecefb1a2eed8b
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 11:51:21 +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
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
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
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
Oswald Buddenhagen
1491065506 Merge branch 'buildsystem' (second round)
refactoring and cleanup. fixes x-builds between different os families.

Conflicts:
	mkspecs/features/qt.prf

Change-Id: I0205e6f07f77c9b015cf055dd87a471883949a91
2012-06-29 09:06:37 +02:00
Rafael Roquetto
693df71e0f Fix configure.exe to build qmake before tests
qmake is needed by autoDetection()/tryCompileProject() to be able to build the
tests. This patch also add a new method - generateQConfigCpp() - which
generates qconfig.cpp, needed to build qmake.

Change-Id: Ic304a364a13a2b3c28433f2a299df222a56fed67
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-28 12:35:14 +02:00
Thiago Macieira
7395e6abc6 Clean up the use of QT_NODLL
QT_NODLL is replaced by QT_STATIC, but the latter is implied if
QT_BOOTSTRAPPED is already defined. Therefore, simply remove the
QT_NODLL definitions.

Change-Id: Iac7ec0b494b7a78197c25d59547f45eaf92d7465
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-28 06:21:52 +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
Bjoern Breitmeyer
4fa05eca0e disabling largefile support for Win CE
this was disabled before but
I2631ff687881278ba42edacd237a2130c103b69f
enabled it per default

Change-Id: Ic5a8e50d116cf6b15719668faf055967a6f34e06
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-28 06:21:42 +02:00