Commit Graph

41 Commits

Author SHA1 Message Date
Aaron McCarthy
25a0cf881e Fix inclusion of .qmake.cache for modules with config tests.
Qt modules with config tests generate a module level .qmake.cache with
the results of the config tests.  The existance of this file prevents
qmake from walking up the directory tree and finding the Qt global
cache file.  This results in the system build not working as expected.
For example running 'make' in the module would only build the contents
of src and skip tests and examples.

Fixed by adding a include statement to the end of the config test
generated .qmake.cache.

Change-Id: I68a5f2a96f4ee02076b6457ae085f45d894cd4ed
Reviewed-on: http://codereview.qt.nokia.com/3830
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2011-09-01 05:36:26 +02:00
Kent Hansen
9830cb8e59 Add QtV8 library to QtBase
This adds Aaron's copy of V8 to src/3rdparty/v8 (as a
git submodule), and builds it as a "normal" Qt library
(without any dependencies on Qt itself).

The library can be added to a project with

QT += v8-private

V8 API headers are available as private includes, e.g.

 #include <private/v8.h>

The API is private because we're exposing a third-party
API directly, and we don't want to (and cannot) make
source or binary compatibility guarantees for it.

Since we want the V8 public API headers to be private
headers in Qt, syncqt and sync.profile were extended to
understand a new configuration option, the
@allmoduleheadersprivate array, that tells syncqt whether
all the library headers should be treated as private even
though they don't follow the _p.h Qt convention.

The V8 project files, patches and autotests are copied
from the QtDeclarative repository. The next step after
this commit is to remove QtDeclarative's copy of V8 and
link with QtV8 instead.

Task-number: QTBUG-20963
Change-Id: Ib8820362cdbc8fa662a5e97db841656cf38d1b62
Reviewed-on: http://codereview.qt.nokia.com/3092
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-08-29 10:16:01 +02:00
Michael Goddard
c478ebc914 Don't use the // operator, since some versions of Perl don't have it.
Could use || but it's only used for an if test anyway.

Change-Id: I97fe251ab4f27fb75981af12316aaf5da053d47a
Reviewed-on: http://codereview.qt.nokia.com/3431
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-08-26 02:22:09 +02:00
Lincoln Ramsay
29a8761cd8 Report an error when the version header can't be written
If sync.profile points to a location that does not exist in the
%modules section, the version header cannot be written.

Report the error clearly so this problem can be identified.

Change-Id: Ib681087f46362487ffb621221d33cf9b7e54df2f
Reviewed-on: http://codereview.qt.nokia.com/2761
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2011-08-17 08:01:47 +02:00
Michael Goddard
ca3120aa20 Don't print the "Configuration tests:" header if there aren't any.
Change-Id: Ie7f0022348aba90e240f5b68e838430ec4e43ae9
Reviewed-on: http://codereview.qt.nokia.com/2228
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-08-10 10:39:52 +02:00
Marius Storm-Olsen
dcd435b7fc Allow adding to @ignore_headers from sync.profile
We need this to avoid syncing certain files in QtDeclarative on
Windows.

Change-Id: Ia9fc95262ac18bafc39efc038ea70a1b5d67cddd
Reviewed-on: http://codereview.qt.nokia.com/2641
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-08-04 22:56:33 +02:00
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