Commit Graph

35 Commits

Author SHA1 Message Date
Michael Goddard
2dc77d9264 Try to make sure the config test script is installed.
And try to fail a bit more gracefully if it isn't.

Change-Id: I62e01c0536aa0a032940d6a9a5ccf5edcfeef221
Reviewed-on: http://codereview.qt.nokia.com/2109
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2011-07-26 13:40:07 +02:00
Michael Goddard
d55aa1ad2a Tighten up the config test success checking.
Try a lot harder to remove the old $TARGET output, since make
clean isn't sufficient.  Also fix a bug in program invocation
that was hidden because of the stale files.

Change-Id: I0a365409d81efb74c5836eaf9f129fd9b2cca77e
Reviewed-on: http://codereview.qt.nokia.com/2052
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-07-26 13:40:07 +02:00
Michael Goddard
997b2a96c1 Add rudimentary config.test support when configuring modules.
An extra script is added (qtmodule-configtests) which is currently
invoked from syncqt (with some derived parameters passed to it).

The module can optionally have an entry in the module's sync.profile
file in the form of a perl map of "test name" => parameters.  Tests
can print an advisory message if they fail (e.g. "Install this
SDK/dev package"), or abort the syncqt process (e.g. mandatory
prereq missing).  Also, if the test has a "requires(foo)" line
that results in it being skipped, this is also supported.

Change-Id: Ic3c820a488a0992c944994d4d7dc283da36742d6
Reviewed-on: http://codereview.qt.nokia.com/928
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-07-22 14:59:08 +02:00
Marius Storm-Olsen
d83689ca6d Prefix each output line with the library being processed
Makes it easier to track which library output is coming from,
when building Qt with -j > 1.

Change-Id: I9acda04e84014dc441e409a0b24b2f78762dcc1c
Reviewed-on: http://codereview.qt.nokia.com/1765
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2011-07-21 20:40:51 +02:00
Marius Storm-Olsen
e37376dbb4 Make syncqt output more compact by default, and add verbosity level
By default, syncqt will now compress the console output of what it's
doing. Increasing the verbosity level will make syncqt output the same
as before

Change-Id: I542072504f022f87997b4036eda5747a5da88839
Reviewed-on: http://codereview.qt.nokia.com/1764
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-07-21 20:40:51 +02:00
Marius Storm-Olsen
210211b779 Close filehandle when done
Also add a fixme, since the version headers are currently
being created in the source directory.

Change-Id: If6e9eeba854a1f35561b69518eb8739dc28a58be
Reviewed-on: http://codereview.qt.nokia.com/1763
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2011-07-21 20:40:51 +02:00
Marius Storm-Olsen
e41f377587 Sort all readdirs, so the output is reliable
We need the content of the generated module master headers to be
reliable, so rebuilding in the same environment doesn't produce
different results. This minimizes the diff from package building
systems.

Change-Id: Ic914f56e13b11f313f01f6b8666c2d28aa50a985
Reviewed-on: http://codereview.qt.nokia.com/1900
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-07-20 17:49:23 +02:00
axis
0e6be2aa5d Implemented module-local caching of module profiles.
We use syncqt to generate .qmake.cache also for submodules, which
contains the location of forwarding module profiles for that module.
This enables us to build without having to put module profiles into
mkspecs/modules until install time.

Also added support for -developer-build to syncqt.

What it does is to point build directories for binaries and
libraries to a common location in QtBase. This is more
convenient when doing development, since you don't need to set your
path to every module's bin/ directory, but it cannot be used with
release builds, since they need to build independently of QtBase,
in their own directory.

Change-Id: I959c62c11c644f2147a98da894a72452d9c44327
Task: QTBUG-19585
Task: QTBUG-19583
Reviewed-on: http://codereview.qt.nokia.com/232
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-06-03 22:20:40 +02:00
axis
d3e048da7e Make sure that we error out if we cannot write forwarding profile.
Change-Id: Ic0b62532dd8a52cf6ab7a7c10c5ffbe3c9039ec1
Task: QTBUG-19585
Reviewed-on: http://codereview.qt.nokia.com/229
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-06-03 18:18:02 +02:00
axis
c8dead7186 Fixed an argument parsing bug in syncqt.
We need to move the detection up above the general -no-* match,
otherwise it never hits.

Change-Id: I04ab5a1ed2c4a01219e7b9e10948b3fc4989f4b8
Task: QTBUG-19585
Reviewed-on: http://codereview.qt.nokia.com/228
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-06-02 22:54:08 +02:00
Jyri Tahtela
f9f395c28b Update licenseheader text in source files for qtbase Qt module
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.

Reviewed-by: Trust Me
2011-05-24 12:34:08 +03:00
Qt Continuous Integration System
d4a5077446 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging:
  Fix a bug in syncqt.
2011-05-11 18:18:18 +10:00
Liang Qi
236e794fc3 Fix a bug in syncqt.
Move the generation of version header file before the sync of header
files.

Reviewed-by: TrustMe
2011-05-11 10:05:43 +02:00
Qt Continuous Integration System
ff112f47c8 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging:
  Add QT_xxx_VERSION macros for each library in qtbase
2011-05-11 00:10:15 +10:00
Liang Qi
45cdd701fa Add QT_xxx_VERSION macros for each library in qtbase
Provide version info for each library like QTCORE_VERSION and etc.

Task-number: QTMODULARIZATION-44
Reviewed-by: axis
2011-05-10 15:15:15 +02:00
Miikka Heikkinen
ad295e7402 Improve logic to find default certificates in createpackage script
Original implementation assumed createpackage script was always run
from under Qt source tree bin directory, which is not always the case
as on some platforms the Qt tools can be found from under EPOCROOT.

Fixed it so that if the default directory for default certificates
can't be found in the expected location, createpackage will attempt to
query qmake in the same directory as the createpackage script for the
location of the Qt source tree (QT_INSTALL_PREFIX) and look for default
certificates directory from under there.

Task-number: QTBUG-18684
Reviewed-by: Janne Koskinen
(cherry picked from commit 01477af79d8114b3f8993c3967892538a599dfa6)
2011-05-10 12:54:46 +02:00
axis
ba3436cda1 Fixed detection of QtBase directory.
The old check would fail for an installed copy of Qt. Instead, base
the check on using QTDIR if it present, otherwise use the parent of
the bin directory, and then check that "mkspecs" is present.

Reviewed-by: Olivier Goffart
2011-05-10 11:14:36 +02:00
Marius Storm-Olsen
1287361f64 Move private headers into versioned subdirectory
This will allow us to expose private headers in a controlled manner,
and ensure that they are not used by accident. This also means that
we internally will have to enable the private headers for the
modules we wish to use in the project.
2011-05-02 15:30:08 +02:00
Marius Storm-Olsen
2e8b6dcb4a Install syncqt, and ensure it runs fine for external modules 2011-05-02 15:30:08 +02:00
axis
2e1af58417 Introduced the QT.<module>.plugins variable to module profiles. 2011-04-27 12:06:02 +02:00
axis
30be61219d Fixed syncqt generation of bin path.
Now it points to QtBase's bin directory, in the case of developer
builds. This makes it easier to develop modules together without
having to install them first.
2011-04-27 12:06:01 +02:00
axis
afa1807c40 Added QT.<module>.imports support to module profiles. 2011-04-27 12:06:00 +02:00
Prasanth Ullattil
d6805e71ff Load the sync.profile after setting the variables. 2011-04-27 12:06:00 +02:00
Prasanth Ullattil
88dd54405f Temporarily pointing QT_MODULE_LIB_BASE to qtbase/lib
This has to changed when we start to generate the module binaries
in their respective  lib/bin folders.
2011-04-27 12:05:58 +02:00
axis
8e4fc361a5 Made sure syncqt gets called correctly even if it is not in the PATH. 2011-04-27 12:05:57 +02:00
Marius Storm-Olsen
82bf3bd775 Make each module refer to its own bin/
Since modules cannot rely on QtCore having a build directory, nor
can they build the applications directly into $$[QT_INSTALL_BINS]
each module needs their own bin/. Add this path to each module's
pri file, so others can use their applications
2011-04-27 12:05:51 +02:00
axis
c7e91df28e Made syncqt collapse redundant ".." sections in paths. 2011-04-27 12:05:50 +02:00
axis
95be70778a Fixed useless substitution in syncqt.
The substitution is not necessary and messes up the argument that is
passed in.
2011-04-27 12:05:50 +02:00
Marius Storm-Olsen
4b3498e940 Add hardcoded qclass_lib_map.h based on 4.8
This is only until UIC/Designer handles this properly
2011-04-27 12:05:49 +02:00
Marius Storm-Olsen
997f87bfcf Add the source path to the modules .pri file 2011-04-27 12:05:48 +02:00
Marius Storm-Olsen
00c5f39081 Add module specific pris, and make syncqt create fwd includes
The module specific pris define the modules
    name
    version
    dependencies
    include paths
    lib paths
    additional CONFIGs and DEFINES
They are located in the modules source directory, with fwd
includes created in QtBase/mkspecs/modules build directory.
The pris use
    QT_MODULE_INCLUDE_BASE
    QT_MODULE_LIB_BASE
to specify the locations for includes and libs. These paths
are normally based on
    QT_INSTALL_HEADERS
    QT_INSTALL_LIBS
for installed modules, but overridden to the module's build
directory by syncqt for the fwd included pris.
The path of the pris must be specified in the sync.profile
for syncqt to create the fwding pris in QtBase.
2011-04-27 12:05:46 +02:00
Marius Storm-Olsen
07bed9a211 Make syncqt use sync.profile files from each module
The sync.profile replaces the hardcoded paths inside syncqt, and
enables it to work for other modules than just qtbase.
2011-04-27 12:05:45 +02:00
Liang Qi
703842d450 Expose private support for separate module in syncqt. 2011-04-27 12:05:45 +02:00
Marius Storm-Olsen
f6d0b71700 Some changes for qtbase 2011-04-27 12:05:44 +02:00
Qt by Nokia
38be0d1383 Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
Qt Git wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:

http://qt.gitorious.org/qt/pages/GitIntroductionWithQt

If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.

Branched from the monolithic repo, Qt master branch, at commit
896db169ea224deb96c59ce8af800d019de63f12
2011-04-27 12:05:43 +02:00