mirror of
git://code.qt.io/qt/qt5.git
synced 2026-04-18 19:16:21 +08:00
Compare commits
107 Commits
v5.0.0-bet
...
v5.1.0-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80c8ed3c21 | ||
|
|
66ed87fc67 | ||
|
|
ec783bb21e | ||
|
|
2f8a096c9c | ||
|
|
d3d46ac7b3 | ||
|
|
2ef82978ca | ||
|
|
08ec2c7a62 | ||
|
|
aeed8ce504 | ||
|
|
0089431326 | ||
|
|
3d960ec9a9 | ||
|
|
d7ca18632a | ||
|
|
9e7460525d | ||
|
|
c639fec072 | ||
|
|
d2b2b92d49 | ||
|
|
ba4baee789 | ||
|
|
901fd28fd8 | ||
|
|
fd3ee8634a | ||
|
|
56e6962ad7 | ||
|
|
e653efe17d | ||
|
|
f0efc5c5cc | ||
|
|
238c0f5ce0 | ||
|
|
8d77ff1ef2 | ||
|
|
495c7a13f7 | ||
|
|
f67e9c6bf2 | ||
|
|
039f8c8555 | ||
|
|
8cb6c9373f | ||
|
|
c409a85bb8 | ||
|
|
5e8c47946a | ||
|
|
c18c2a76ef | ||
|
|
a41ce6cb4f | ||
|
|
97d477d4ff | ||
|
|
af96eba3e7 | ||
|
|
bf8311f879 | ||
|
|
9eefa9fb9a | ||
|
|
471842d8f4 | ||
|
|
b335981ca0 | ||
|
|
24031b2120 | ||
|
|
b1c03b4497 | ||
|
|
a9e3e72b2e | ||
|
|
b9f3ea418a | ||
|
|
766ed50650 | ||
|
|
0f16101977 | ||
|
|
db59699011 | ||
|
|
b9b8db0745 | ||
|
|
2ad41f3ba7 | ||
|
|
371ae019fc | ||
|
|
cb530cbe80 | ||
|
|
8dfa5d43e1 | ||
|
|
4ec68bcba5 | ||
|
|
7319eb06fd | ||
|
|
e605d1675e | ||
|
|
7a9722d3ab | ||
|
|
76d59a3fa4 | ||
|
|
a6254526d8 | ||
|
|
01b8ffb28f | ||
|
|
2b92b3ea1f | ||
|
|
0125076d12 | ||
|
|
41c3f2cb5f | ||
|
|
a1f4d9db15 | ||
|
|
71c071399a | ||
|
|
c72a240108 | ||
|
|
c0772fa7a5 | ||
|
|
98a605eb6b | ||
|
|
f81bf2b5ee | ||
|
|
0e1169ca2d | ||
|
|
0e169c8e8b | ||
|
|
34f1dbc74a | ||
|
|
21f9eaf60e | ||
|
|
da8730bf21 | ||
|
|
749b83f337 | ||
|
|
508072fb03 | ||
|
|
cd3a4676c8 | ||
|
|
008fb07a0f | ||
|
|
d3a55bf0aa | ||
|
|
600b295f2c | ||
|
|
58acd59fa6 | ||
|
|
8f9fcfdcb5 | ||
|
|
e4d841490b | ||
|
|
a2d6af491e | ||
|
|
4e87fe89ce | ||
|
|
4865835418 | ||
|
|
58178a8a0e | ||
|
|
bf4c64ada0 | ||
|
|
6ccb808ef6 | ||
|
|
c0626490d1 | ||
|
|
be16d21a80 | ||
|
|
0e1c9d3724 | ||
|
|
aa7ff01d60 | ||
|
|
837c3e68a0 | ||
|
|
23701ec556 | ||
|
|
138fb6e22e | ||
|
|
8fbf48fd93 | ||
|
|
2e1a8b49f4 | ||
|
|
c4c9ca640a | ||
|
|
5de69ba432 | ||
|
|
c1a3e0c2f2 | ||
|
|
34cf394226 | ||
|
|
10d5a02dcd | ||
|
|
c83a5d49a3 | ||
|
|
9b19587959 | ||
|
|
34904ca89d | ||
|
|
0b501b19de | ||
|
|
36e84c61a1 | ||
|
|
bd1716005a | ||
|
|
5fc7879313 | ||
|
|
3913643642 | ||
|
|
ed65966d5d |
6
.gitattributes
vendored
Normal file
6
.gitattributes
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
.tag export-subst
|
||||||
|
.gitignore export-ignore
|
||||||
|
.gitattributes export-ignore
|
||||||
|
.gitmodules export-ignore
|
||||||
|
.commit-template export-ignore
|
||||||
|
init-repository export-ignore
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,2 @@
|
|||||||
Makefile
|
Makefile
|
||||||
Makefile.qtwebkit
|
|
||||||
.qmake.cache
|
.qmake.cache
|
||||||
|
|||||||
21
.gitmodules
vendored
21
.gitmodules
vendored
@@ -34,15 +34,15 @@
|
|||||||
[submodule "qtrepotools"]
|
[submodule "qtrepotools"]
|
||||||
path = qtrepotools
|
path = qtrepotools
|
||||||
url = git://gitorious.org/qt/qtrepotools.git
|
url = git://gitorious.org/qt/qtrepotools.git
|
||||||
|
[submodule "qtwebkit"]
|
||||||
|
path = qtwebkit
|
||||||
|
url = git://gitorious.org/qt/qtwebkit.git
|
||||||
[submodule "qtwebkit-examples-and-demos"]
|
[submodule "qtwebkit-examples-and-demos"]
|
||||||
path = qtwebkit-examples-and-demos
|
path = qtwebkit-examples-and-demos
|
||||||
url = git://gitorious.org/qt/qtwebkit-examples-and-demos.git
|
url = git://gitorious.org/qt/qtwebkit-examples-and-demos.git
|
||||||
[submodule "qtqa"]
|
[submodule "qtqa"]
|
||||||
path = qtqa
|
path = qtqa
|
||||||
url = git://gitorious.org/qt/qtqa.git
|
url = git://gitorious.org/qt/qtqa.git
|
||||||
[submodule "qtwebkit"]
|
|
||||||
path = qtwebkit
|
|
||||||
url = git://gitorious.org/qtwebkit/qt5-module.git
|
|
||||||
[submodule "qtlocation"]
|
[submodule "qtlocation"]
|
||||||
path = qtlocation
|
path = qtlocation
|
||||||
url = git://gitorious.org/qt/qtlocation.git
|
url = git://gitorious.org/qt/qtlocation.git
|
||||||
@@ -55,6 +55,9 @@
|
|||||||
[submodule "qtfeedback"]
|
[submodule "qtfeedback"]
|
||||||
path = qtfeedback
|
path = qtfeedback
|
||||||
url = git://gitorious.org/qt/qtfeedback.git
|
url = git://gitorious.org/qt/qtfeedback.git
|
||||||
|
[submodule "qtdocgallery"]
|
||||||
|
path = qtdocgallery
|
||||||
|
url = git://gitorious.org/qt/qtdocgallery.git
|
||||||
[submodule "qtpim"]
|
[submodule "qtpim"]
|
||||||
path = qtpim
|
path = qtpim
|
||||||
url = git://gitorious.org/qt/qtpim.git
|
url = git://gitorious.org/qt/qtpim.git
|
||||||
@@ -64,6 +67,9 @@
|
|||||||
[submodule "qtwayland"]
|
[submodule "qtwayland"]
|
||||||
path = qtwayland
|
path = qtwayland
|
||||||
url = git://gitorious.org/qt/qtwayland.git
|
url = git://gitorious.org/qt/qtwayland.git
|
||||||
|
[submodule "qtjsondb"]
|
||||||
|
path = qtjsondb
|
||||||
|
url = git://gitorious.org/qt/qtjsondb.git
|
||||||
[submodule "qt3d"]
|
[submodule "qt3d"]
|
||||||
path = qt3d
|
path = qt3d
|
||||||
url = git://gitorious.org/qt/qt3d.git
|
url = git://gitorious.org/qt/qt3d.git
|
||||||
@@ -79,3 +85,12 @@
|
|||||||
[submodule "qtgraphicaleffects"]
|
[submodule "qtgraphicaleffects"]
|
||||||
path = qtgraphicaleffects
|
path = qtgraphicaleffects
|
||||||
url = git://gitorious.org/qt/qtgraphicaleffects.git
|
url = git://gitorious.org/qt/qtgraphicaleffects.git
|
||||||
|
[submodule "qtquickcontrols"]
|
||||||
|
path = qtquickcontrols
|
||||||
|
url = git://gitorious.org/qt/qtquickcontrols.git
|
||||||
|
[submodule "qtserialport"]
|
||||||
|
path = qtserialport
|
||||||
|
url = git://gitorious.org/qt/qtserialport.git
|
||||||
|
[submodule "qtx11extras"]
|
||||||
|
path = qtx11extras
|
||||||
|
url = git://gitorious.org/qt/qtx11extras.git
|
||||||
|
|||||||
119
README
119
README
@@ -5,8 +5,22 @@ HOW TO BUILD QT5
|
|||||||
Synopsis
|
Synopsis
|
||||||
========
|
========
|
||||||
|
|
||||||
See http://qt-project.org/wiki/Building_Qt_5_from_Git for instructions
|
System requirements
|
||||||
on building Qt 5.
|
------------------
|
||||||
|
|
||||||
|
- Perl 5.8 or later
|
||||||
|
- Python 2.7 or later
|
||||||
|
- C++ compiler supporting the C++98 standard
|
||||||
|
|
||||||
|
For other platform specific requirements,
|
||||||
|
please see section "Setting up your machine" on:
|
||||||
|
http://qt-project.org/wiki/Get_The_Source
|
||||||
|
|
||||||
|
Optional requirements
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
- OpenSSL for SSL sockets or HTTPS
|
||||||
|
- Wayland
|
||||||
|
|
||||||
New dependencies in Qt 5
|
New dependencies in Qt 5
|
||||||
------------------------
|
------------------------
|
||||||
@@ -29,99 +43,28 @@ HOW TO BUILD QT5
|
|||||||
-----------
|
-----------
|
||||||
|
|
||||||
cd <path>/qt-everywhere-opensource-src-<version>
|
cd <path>/qt-everywhere-opensource-src-<version>
|
||||||
export PATH=$PATH:$PWD/qtbase/bin
|
|
||||||
./configure -prefix $PWD/qtbase -opensource -nomake tests
|
./configure -prefix $PWD/qtbase -opensource -nomake tests
|
||||||
./build -j 4
|
make -j 4
|
||||||
|
|
||||||
Windows:
|
Windows:
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Open a Windows SDK (7.0, 7.1 or later) command prompt. Ensure that Perl
|
Open a Windows SDK (7.0, 7.1 or later) command prompt. Ensure that the
|
||||||
version 5.12 or later and Python version 2.7 or later can be found in the
|
following tools can be found in the path:
|
||||||
path.
|
* Perl version 5.12 or later [http://www.activestate.com/activeperl/]
|
||||||
|
* Python version 2.7 or later [http://www.activestate.com/activepython/]
|
||||||
|
* Ruby version 1.9.3 or later [http://rubyinstaller.org/]
|
||||||
|
|
||||||
cd <path>\qt-everywhere-opensource-src-<version>
|
cd <path>\qt-everywhere-opensource-src-<version>
|
||||||
set PATH=%PATH%;%CD%\qtbase\bin;
|
|
||||||
configure -prefix %CD%\qtbase -opensource -nomake tests
|
configure -prefix %CD%\qtbase -opensource -nomake tests
|
||||||
perl build
|
nmake // jom // mingw32-make
|
||||||
|
|
||||||
For MinGW (gcc version 4.6 or later), ensure that the compiler can
|
To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
|
||||||
be found in the path.
|
"-make-tool jom" on the configure command line. If you do not use jom,
|
||||||
|
adding "/MP" to the CL environment variable is a good idea.
|
||||||
The build script will use jom if it's found in the path, which means you can
|
|
||||||
use -j <n> options on Windows as well. If not, the /MP option is added to the
|
|
||||||
compile options of the Microsoft Visual Studio compiler, to use all available
|
|
||||||
cores for batch building.
|
|
||||||
|
|
||||||
More details follow.
|
More details follow.
|
||||||
|
|
||||||
Building QtWebKit
|
|
||||||
=================
|
|
||||||
|
|
||||||
Linux, Mac:
|
|
||||||
-----------
|
|
||||||
|
|
||||||
The tools bison, flex and gperf which are required for building.
|
|
||||||
|
|
||||||
cd qtwebkit
|
|
||||||
export WEBKITOUTPUTDIR=$$PWD/WebKitBuild
|
|
||||||
perl Tools/Scripts/build-webkit --qt --qmake=../qtbase/bin/qmake --install-libs=<install dir> --release --makeargs=$MAKEFLAGS
|
|
||||||
|
|
||||||
Windows:
|
|
||||||
--------
|
|
||||||
|
|
||||||
The tools bison, flex and gperf which are required for building are
|
|
||||||
provided for convenience in the folder gnuwin32\bin.
|
|
||||||
|
|
||||||
set PATH=%PATH%;%CD%\gnuwin32\bin
|
|
||||||
cd qtwebkit
|
|
||||||
set WEBKITOUTPUTDIR=%CD%/WebKitBuild
|
|
||||||
perl Tools\Scripts\build-webkit --qt --qmake=..\qtbase\bin\qmake.exe --install-libs=<install dir> --release --makeargs=%MAKEFLAGS%
|
|
||||||
|
|
||||||
Get The Submodules
|
|
||||||
==================
|
|
||||||
|
|
||||||
Obtaining the source code is described in detail at
|
|
||||||
http://qt-project.org/wiki/Category:Developing_Qt and
|
|
||||||
http://qt-project.org/wiki/Get_The_Source.
|
|
||||||
|
|
||||||
Cloning Qt5 does not automatically clone all submodules.
|
|
||||||
To get the submodules, it is recommended to use the `init-repository' script.
|
|
||||||
|
|
||||||
./init-repository
|
|
||||||
|
|
||||||
See `./init-repository -help' for full documentation on the many supported
|
|
||||||
options.
|
|
||||||
|
|
||||||
|
|
||||||
Update The Submodules (optional)
|
|
||||||
================================
|
|
||||||
|
|
||||||
After a plain `git clone' and `init-repository', you will have each submodule
|
|
||||||
checked out to a particular SHA1. This combination of SHA1s is guaranteed to
|
|
||||||
have passed some basic acceptance testing.
|
|
||||||
|
|
||||||
If (and only if!) you need newer versions of some submodules, you can manually
|
|
||||||
fetch and/or pull and/or reset any modules you like, or use the qt5_tool to
|
|
||||||
pull all modules:
|
|
||||||
|
|
||||||
./qtrepotools/bin/qt5_tool -p
|
|
||||||
|
|
||||||
NOTE! As soon as you change the SHA1 of any submodule, you are using a
|
|
||||||
combination of modules which is potentially untested and broken! If you want
|
|
||||||
something which is more likely to compile, stick to the module SHA1s provided
|
|
||||||
in this repository.
|
|
||||||
|
|
||||||
|
|
||||||
Install The Git Grafts (optional)
|
|
||||||
=================================
|
|
||||||
|
|
||||||
If you want to be able to connect the Qt5 and Qt4 development history, you
|
|
||||||
may set up git grafts with the following command:
|
|
||||||
|
|
||||||
git submodule foreach '../qtrepotools/bin/git-qt-grafts <path_to_history>'
|
|
||||||
|
|
||||||
|
|
||||||
Build!
|
Build!
|
||||||
======
|
======
|
||||||
|
|
||||||
@@ -166,12 +109,16 @@ HOW TO BUILD QT5
|
|||||||
Hints
|
Hints
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Shadow builds are possible, but not as well tested/supported as in-source
|
|
||||||
builds.
|
|
||||||
|
|
||||||
The submodule repository qtrepotools contains useful scripts for
|
The submodule repository qtrepotools contains useful scripts for
|
||||||
developers and release engineers. Consider adding qtrepotools/bin
|
developers and release engineers. Consider adding qtrepotools/bin
|
||||||
to your PATH environment variable to access them.
|
to your PATH environment variable to access them.
|
||||||
|
|
||||||
The qt5_tool in qtrepotools has some more features which may be of interest.
|
The qt5_tool in qtrepotools has some more features which may be of interest.
|
||||||
Try `qt5_tool --help'.
|
Try `qt5_tool --help'.
|
||||||
|
|
||||||
|
|
||||||
|
Building Qt5 from git
|
||||||
|
=====================
|
||||||
|
See http://qt-project.org/wiki/Building-Qt-5-from-Git and README.git
|
||||||
|
for more information.
|
||||||
|
See http://qt-project.org/wiki/Qt-5 for the reference platforms.
|
||||||
|
|||||||
55
README.git
Normal file
55
README.git
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
OBTAINING QT5 FROM GIT
|
||||||
|
======================
|
||||||
|
|
||||||
|
Synopsis
|
||||||
|
========
|
||||||
|
|
||||||
|
For a more in-depth description on how to build Qt5 from git,
|
||||||
|
please see: http://qt-project.org/wiki/Building-Qt-5-from-Git
|
||||||
|
|
||||||
|
|
||||||
|
Get The Submodules
|
||||||
|
==================
|
||||||
|
|
||||||
|
Cloning Qt5 does not automatically clone all submodules.
|
||||||
|
To get the submodules, it is recommended to use the `init-repository' script.
|
||||||
|
|
||||||
|
./init-repository
|
||||||
|
|
||||||
|
See `./init-repository -help' for full documentation on the many supported
|
||||||
|
options.
|
||||||
|
|
||||||
|
|
||||||
|
Update The Submodules (optional)
|
||||||
|
================================
|
||||||
|
|
||||||
|
After a plain `git clone' and `init-repository', you will have each submodule
|
||||||
|
checked out to a particular SHA1. This combination of SHA1s is guaranteed to
|
||||||
|
have passed some basic acceptance testing.
|
||||||
|
|
||||||
|
If (and only if!) you need newer versions of some submodules, you can manually
|
||||||
|
fetch and/or pull and/or reset any modules you like, or use the qt5_tool to
|
||||||
|
pull all modules:
|
||||||
|
|
||||||
|
./qtrepotools/bin/qt5_tool -p
|
||||||
|
|
||||||
|
NOTE! As soon as you change the SHA1 of any submodule, you are using a
|
||||||
|
combination of modules which is potentially untested and broken! If you want
|
||||||
|
something which is more likely to compile, stick to the module SHA1s provided
|
||||||
|
in this repository.
|
||||||
|
|
||||||
|
|
||||||
|
Install The Git Grafts (optional)
|
||||||
|
=================================
|
||||||
|
|
||||||
|
If you want to be able to connect the Qt5 and Qt4 development history, you
|
||||||
|
may set up git grafts with the following command:
|
||||||
|
|
||||||
|
git submodule foreach '../qtrepotools/bin/git-qt-grafts <path_to_history>'
|
||||||
|
|
||||||
|
|
||||||
|
Developing and Contributing to Qt
|
||||||
|
================================
|
||||||
|
|
||||||
|
For more information on how to develop and contribute to Qt, please see:
|
||||||
|
http://qt-project.org/wiki/Category:Developing_Qt
|
||||||
554
build
554
build
@@ -1,554 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
#############################################################################
|
|
||||||
##
|
|
||||||
## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
## Contact: http://www.qt-project.org/
|
|
||||||
##
|
|
||||||
## This file is part of the utilities of the Qt Toolkit.
|
|
||||||
##
|
|
||||||
## $QT_BEGIN_LICENSE:LGPL$
|
|
||||||
## GNU Lesser General Public License Usage
|
|
||||||
## This file may be used under the terms of the GNU Lesser General Public
|
|
||||||
## License version 2.1 as published by the Free Software Foundation and
|
|
||||||
## appearing in the file LICENSE.LGPL included in the packaging of this
|
|
||||||
## file. Please review the following information to ensure the GNU Lesser
|
|
||||||
## General Public License version 2.1 requirements will be met:
|
|
||||||
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
##
|
|
||||||
## In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
## rights. These rights are described in the Nokia Qt LGPL Exception
|
|
||||||
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
##
|
|
||||||
## GNU General Public License Usage
|
|
||||||
## Alternatively, this file may be used under the terms of the GNU General
|
|
||||||
## Public License version 3.0 as published by the Free Software Foundation
|
|
||||||
## and appearing in the file LICENSE.GPL included in the packaging of this
|
|
||||||
## file. Please review the following information to ensure the GNU General
|
|
||||||
## Public License version 3.0 requirements will be met:
|
|
||||||
## http://www.gnu.org/copyleft/gpl.html.
|
|
||||||
##
|
|
||||||
## Other Usage
|
|
||||||
## Alternatively, this file may be used in accordance with the terms and
|
|
||||||
## conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
## $QT_END_LICENSE$
|
|
||||||
##
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
use v5.008;
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
package Qt::Build;
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
build - builds the Qt5 repository with all submodules in order
|
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
|
||||||
|
|
||||||
B<build> [B<-v>|B<--verbose> [n]] [B<-c>|B<--continue> [n]] [B<-j>|B<--jobs> [n]] [B<-n>|B<--dry-run> [n]] [B<--force-qmake>] [modules to build]
|
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
|
||||||
|
|
||||||
This script is used to build all the Qt modules in the correct order. The way of building the Qt
|
|
||||||
modules is fairly complex, since they need to both be built and installed in the proper order, if
|
|
||||||
configured prefix happens to be in a different location than the build directory of QtBase.
|
|
||||||
|
|
||||||
It's not enough to do first a top-level 'make', then a 'make install', since modules would then no
|
|
||||||
be available to the consecutive modules. The build script also handles a situation where Jom
|
|
||||||
exposes a dependency bug with parallel builds, by doing a 'qmake -r' on each individual module as
|
|
||||||
part of each modules build process.
|
|
||||||
|
|
||||||
If no modules to build are passed on the command-line, all the default modules will be built.
|
|
||||||
|
|
||||||
=head1 OPTIONS
|
|
||||||
|
|
||||||
=over
|
|
||||||
|
|
||||||
=item B<-v> [n], B<--verbose> [n]
|
|
||||||
|
|
||||||
Makes output more verbose. Level of verboseness optional (default: 1).
|
|
||||||
|
|
||||||
=item B<-c> [n], B<--continue> [n]
|
|
||||||
|
|
||||||
Ignore failed submodules, and continue building. Continue has levels (default: 1). The default
|
|
||||||
level will make the build script ignore any errors in a submodule, and continue to build the next
|
|
||||||
dependency. Level 2 means that the --keep-going option is also passed to make for each submodule.
|
|
||||||
|
|
||||||
=item B<-j> [n], B<--jobs> [n]
|
|
||||||
|
|
||||||
Sets the number of parallel builds. Number is optional, but providing no number indicates
|
|
||||||
Unlimited, which you most likely do not want.
|
|
||||||
|
|
||||||
=item B<--force-qmake>
|
|
||||||
|
|
||||||
Forces a 'qmake -r' on a module, even if the build script detects an already existing Makefile in
|
|
||||||
the module.
|
|
||||||
|
|
||||||
=item B<-n> [n], B<--dry-run> [n]
|
|
||||||
|
|
||||||
Does a dry-run, show which actions will be taken without actually performing them. Dry-run has
|
|
||||||
levels (default: 1). The default level only shows which commands this script will execute. Level 2
|
|
||||||
will also do a dry-run on make, showing all the actions the build-script will result in. Level 2
|
|
||||||
requires C<qmake -r> to run, so it is not completely "dry" in its purest sense, although nothing is
|
|
||||||
built.
|
|
||||||
|
|
||||||
=back
|
|
||||||
|
|
||||||
=head1 COPYRIGHT
|
|
||||||
|
|
||||||
Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
Contact: http://www.qt-project.org/
|
|
||||||
|
|
||||||
=head1 LICENSE
|
|
||||||
|
|
||||||
This file is part of the utilities of the Qt Toolkit, and may be used under the terms of the GNU
|
|
||||||
Lesser General Public (LGPL 2.1), or the GNU General Public License (GPL 3.0)
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
use Carp qw( confess );
|
|
||||||
use English qw( -no_match_vars );
|
|
||||||
use Getopt::Long qw( GetOptionsFromArray );
|
|
||||||
use Pod::Usage qw( pod2usage );
|
|
||||||
use Cwd qw( getcwd );
|
|
||||||
use File::Spec qw( path catfile );
|
|
||||||
use Config;
|
|
||||||
|
|
||||||
sub parse_arguments
|
|
||||||
{
|
|
||||||
my ($self, @args) = @_;
|
|
||||||
|
|
||||||
%{$self} = (%{$self},
|
|
||||||
'verbose' => 0,
|
|
||||||
'continue' => 0,
|
|
||||||
'jobs' => -1,
|
|
||||||
'force_qmake' => 0,
|
|
||||||
'build-submodules' => [],
|
|
||||||
'dry-run' => 0,
|
|
||||||
);
|
|
||||||
|
|
||||||
GetOptionsFromArray(\@args,
|
|
||||||
'verbose|v:1' => \$self->{'verbose'},
|
|
||||||
'continue|c:1' => \$self->{'continue'},
|
|
||||||
'jobs|j:0' => \$self->{'jobs'},
|
|
||||||
'force-qmake' => \$self->{'force_qmake'},
|
|
||||||
'dry-run|n:1' => \$self->{'dry-run'},
|
|
||||||
'help|?' => sub { pod2usage(1); },
|
|
||||||
) || pod2usage(2);
|
|
||||||
|
|
||||||
push(@{$self->{'build-submodules'}}, @args) if (@args);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Like `system', but possibly log the command, and die on non-zero exit code
|
|
||||||
sub exe
|
|
||||||
{
|
|
||||||
my ($self, @cmd) = @_;
|
|
||||||
|
|
||||||
print "+ @cmd\n" unless ($self->{quiet});
|
|
||||||
|
|
||||||
# dry-run > 1 means run sub-processes with dry-run too
|
|
||||||
if ($self->{'dry-run'} != 1) {
|
|
||||||
confess "@cmd exited with status $CHILD_ERROR" if (system(@cmd) != 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub dropPrivileges()
|
|
||||||
{
|
|
||||||
my ($self) = @_;
|
|
||||||
|
|
||||||
if ($> == 0) { # EUID == 0: must drop if possible
|
|
||||||
local $! = undef;
|
|
||||||
if ($< != 0) { # UID != 0 (run through setuid). swap UID with EUID
|
|
||||||
($(, $)) = ($), $();
|
|
||||||
die "Cannot lower gid privileges: $!" if $!;
|
|
||||||
($<, $>) = ($>, $<);
|
|
||||||
die "Cannot lower uid privileges: $!" if $!;
|
|
||||||
} else { # UID == 0: run through sudo?
|
|
||||||
if (defined $ENV{SUDO_GID}) {
|
|
||||||
$) = "$ENV{SUDO_GID} $ENV{SUDO_GID}";
|
|
||||||
die "Cannot lower gid privileges: $!" if $!;
|
|
||||||
}
|
|
||||||
if (defined $ENV{SUDO_UID}) {
|
|
||||||
$> = $ENV{SUDO_UID};
|
|
||||||
die "Cannot lower uid privileges: $!" if $!;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub exeHighPriv()
|
|
||||||
{
|
|
||||||
my ($self, @cmd) = @_;
|
|
||||||
# confesses upon system() failure
|
|
||||||
$self->exe(@cmd);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub exeLowPriv()
|
|
||||||
{
|
|
||||||
my ($self, @cmd) = @_;
|
|
||||||
|
|
||||||
if ("$Config{osname}" !~ /mswin/i) {
|
|
||||||
my $ret;
|
|
||||||
my $pid = fork();
|
|
||||||
die "Couldn't fork" unless defined $pid;
|
|
||||||
if ($pid == 0) {
|
|
||||||
$self->dropPrivileges;
|
|
||||||
# just exit on error, exception propagated below
|
|
||||||
eval { $self->exe(@cmd); };
|
|
||||||
exit $?;
|
|
||||||
} else {
|
|
||||||
waitpid($pid, 0);
|
|
||||||
# propagate exception upon system() failure in fork
|
|
||||||
die if ($? != 0);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Just like exeHighPriv for now, and confesses upon failure
|
|
||||||
$self->exe(@cmd);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub which {
|
|
||||||
my ($self, $exe) = @_;
|
|
||||||
|
|
||||||
foreach my $path (File::Spec->path()) {
|
|
||||||
my $file = File::Spec->catfile($path, $exe);
|
|
||||||
return $file if -x $file;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub detect_configuration
|
|
||||||
{
|
|
||||||
my ($self) = @_;
|
|
||||||
|
|
||||||
die "You need to configure Qt before you try to build it, aborting." if (!-e 'qtbase/.qmake.cache');
|
|
||||||
|
|
||||||
use Cwd qw(abs_path);
|
|
||||||
use Env qw(@PATH);
|
|
||||||
|
|
||||||
my $abs_path = abs_path('qtbase/bin');
|
|
||||||
unshift @PATH, $abs_path;
|
|
||||||
|
|
||||||
my $opts = "";
|
|
||||||
$opts = "-j" if ($self->{'jobs'} >= 0);
|
|
||||||
$opts .= " $self->{'jobs'}" if ($self->{'jobs'} > 0);
|
|
||||||
$self->{'MAKEOPTS'} = $opts;
|
|
||||||
$self->{'MAKE'} = $ENV{MAKE} || "make";
|
|
||||||
|
|
||||||
if ("$Config{osname}" =~ /mswin/i) {
|
|
||||||
my $exe = $self->which("nmake.exe");
|
|
||||||
$exe = $self->which("jom.exe") if (defined $exe && $self->which("jom.exe"));
|
|
||||||
$exe = $self->which("mingw32-make.exe") if (!defined $exe);
|
|
||||||
|
|
||||||
if (defined $exe) {
|
|
||||||
$self->{'MAKE'} = "\"$exe\"";
|
|
||||||
|
|
||||||
if ($exe =~ 'nmake') {
|
|
||||||
# Use the /MP compiler option if using nmake, to use all CPU threads when compiling
|
|
||||||
my $cl = $ENV{'CL'};
|
|
||||||
if (defined $cl) {
|
|
||||||
$cl .= ' /MP';
|
|
||||||
} else {
|
|
||||||
$cl = '/MP';
|
|
||||||
}
|
|
||||||
$ENV{'CL'} = $cl;
|
|
||||||
# Remove the -j option, since nmake cannot handle it.
|
|
||||||
$self->{'MAKEOPTS'} = "";
|
|
||||||
} elsif ($exe =~ 'jom' && $self->{'jobs'} == 0) {
|
|
||||||
# Jom currently doesn't handle the -j (unlimited) option, so remove it.
|
|
||||||
$self->{'MAKEOPTS'} = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($exe =~ 'nmake|jom') {
|
|
||||||
$self->{'MAKEOPTS'} = "/N $self->{'MAKEOPTS'}" if ($self->{'dry-run'} > 1);
|
|
||||||
$self->{'MAKEOPTS'} = "/K $self->{'MAKEOPTS'}" if ($self->{'continue'} > 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Tools needed for building QtWebKit/Windows (Bison, Flex, gperf, iconv)
|
|
||||||
my $abs_path = abs_path('gnuwin32/bin');
|
|
||||||
unshift @PATH, "$abs_path";
|
|
||||||
}
|
|
||||||
if ($self->{'MAKE'} !~ "nmake|jom") {
|
|
||||||
$self->{'MAKEOPTS'} = "--dry-run $self->{'MAKEOPTS'}" if ($self->{'dry-run'} > 1);
|
|
||||||
$self->{'MAKEOPTS'} = "--keep-going $self->{'MAKEOPTS'}" if ($self->{'continue'} > 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub find_pro_file
|
|
||||||
{
|
|
||||||
my ($self, $dir) = @_;
|
|
||||||
my $D;
|
|
||||||
if (opendir($D,$dir)) {
|
|
||||||
($dir =~ /\/$/) || ($dir .= "/");
|
|
||||||
foreach my $file (sort readdir($D)) {
|
|
||||||
if ($file =~ /^.*\.pro$/) {
|
|
||||||
closedir($D);
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
closedir($D);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub eliminate_empty_modules
|
|
||||||
{
|
|
||||||
my ($self) = @_;
|
|
||||||
foreach my $repo (keys(%{$self->{'deps'}})) {
|
|
||||||
if (!$self->find_pro_file($repo)) {
|
|
||||||
printf "Missing module %s, ignored\n", $repo;
|
|
||||||
delete $self->{'deps'}->{$repo};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub check_build_module
|
|
||||||
{
|
|
||||||
my ($self, $module) = @_;
|
|
||||||
my @missing_link;
|
|
||||||
foreach my $submod (split(/,/, $self->{'deps'}->{$module})) {
|
|
||||||
next if ($submod =~ /:s$/); # Soft dependency
|
|
||||||
if (defined $self->{'deps'}->{$submod}) {
|
|
||||||
push(@missing_link, $self->check_build_module($submod));
|
|
||||||
} else {
|
|
||||||
push(@missing_link, $submod);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return @missing_link;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub check_build_modules
|
|
||||||
{
|
|
||||||
my ($self, $fail) = @_;
|
|
||||||
my $letsdie = 0;
|
|
||||||
foreach my $module (@{$self->{'build-submodules'}}) {
|
|
||||||
if (defined $self->{'deps'}->{$module}) {
|
|
||||||
my @missing_link = $self->check_build_module($module);
|
|
||||||
if (scalar @missing_link) {
|
|
||||||
$letsdie = 1;
|
|
||||||
my $mods = join(", ", @missing_link);
|
|
||||||
print STDERR "Ignoring module '$module': requires $mods\n";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
print STDERR "No module named '$module'\n";
|
|
||||||
$letsdie = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
die "FAIL: Missing module dependencies, build aborted." if ($letsdie && $fail);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub resolve_soft_dependencies
|
|
||||||
{
|
|
||||||
my ($self) = @_;
|
|
||||||
|
|
||||||
my @nondefault = @{$self->{'nondefault'}};
|
|
||||||
foreach my $module (keys(%{$self->{'deps'}})) {
|
|
||||||
my @deps = split(/,/, $self->{'deps'}->{$module});
|
|
||||||
my @newdeps;
|
|
||||||
foreach my $dep (@deps) {
|
|
||||||
if ($dep =~ /(.*):s$/) {
|
|
||||||
my $mod = $1;
|
|
||||||
if (defined $self->{'deps'}->{$mod}
|
|
||||||
&& !grep {$_ eq $mod} @nondefault) {
|
|
||||||
push(@newdeps, $mod);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
push(@newdeps, $dep);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$self->{'deps'}->{$module} = join(",", @newdeps);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub mark_as_finished
|
|
||||||
{
|
|
||||||
my ($self, $doneModule) = @_;
|
|
||||||
|
|
||||||
delete $self->{'deps'}->{$doneModule};
|
|
||||||
foreach my $module (keys(%{$self->{'deps'}})) {
|
|
||||||
my @deps = split(/,/, $self->{'deps'}->{$module});
|
|
||||||
@deps = grep { $_ !~ /$doneModule/ } @deps;
|
|
||||||
$self->{'deps'}->{$module} = join(",", @deps);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_next_modules
|
|
||||||
{
|
|
||||||
my ($self, $module) = @_;
|
|
||||||
|
|
||||||
my @nextModules;
|
|
||||||
my $deps = $self->{'deps'}->{$module};
|
|
||||||
return if (!defined $deps);
|
|
||||||
$self->{'seenHash'}->{$module}++;
|
|
||||||
if ($deps eq '') {
|
|
||||||
push (@nextModules, $module);
|
|
||||||
return @nextModules;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach my $dep (split(/,/, $deps)) {
|
|
||||||
push (@nextModules, $self->get_next_modules($dep)) unless $self->{'seenHash'}->{$dep};
|
|
||||||
}
|
|
||||||
|
|
||||||
return @nextModules;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub get_all_next_modules
|
|
||||||
{
|
|
||||||
my ($self) = @_;
|
|
||||||
|
|
||||||
$self->{'seenHash'} = ();
|
|
||||||
|
|
||||||
my @nextModules;
|
|
||||||
foreach my $module (@{$self->{'build-submodules'}}) {
|
|
||||||
my @mods = $self->get_next_modules($module);
|
|
||||||
push(@nextModules, @mods);
|
|
||||||
}
|
|
||||||
|
|
||||||
my %seen = ();
|
|
||||||
my @uniqModules;
|
|
||||||
foreach my $item (@nextModules) {
|
|
||||||
push(@uniqModules, $item) unless $seen{$item}++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return @uniqModules;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub build_project
|
|
||||||
{
|
|
||||||
my ($self, $module) = @_;
|
|
||||||
my $build_command = $self->{'buildcmds'}->{$module};
|
|
||||||
my $install_command = $self->{'instcmds'}->{$module};
|
|
||||||
if (!defined $build_command) {
|
|
||||||
if (!-e "$module/Makefile") {
|
|
||||||
$self->exeLowPriv("cd $module && qmake -r");
|
|
||||||
}
|
|
||||||
$build_command = "$self->{MAKE} $self->{MAKEOPTS}";
|
|
||||||
}
|
|
||||||
eval { $self->exeLowPriv("cd $module && $build_command"); };
|
|
||||||
if ($@) {
|
|
||||||
print STDERR "'cd $module && $build_command' failed: $?\n";
|
|
||||||
if ($self->{'continue'}) {
|
|
||||||
print STDERR "Ignoring failure building $module (--continue)\n";
|
|
||||||
} else {
|
|
||||||
confess "Fatal failure building $module";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$install_command = "$self->{MAKE} install" if (!defined $install_command);
|
|
||||||
### TODO: Should be fixed after the alpha
|
|
||||||
unless ("$Config{osname}" =~ /(dar|ms)win/i) {
|
|
||||||
eval { $self->exeHighPriv("cd $module && $install_command"); };
|
|
||||||
if ($@) {
|
|
||||||
print STDERR "'cd $module && $install_command failed: $?\n";
|
|
||||||
if ($self->{'continue'}) {
|
|
||||||
print STDERR "Ignoring failure installing $module (--continue)\n";
|
|
||||||
} else {
|
|
||||||
confess "Fatal failure installing $module";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$self->mark_as_finished($module);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub build_qt
|
|
||||||
{
|
|
||||||
my ($self) = @_;
|
|
||||||
|
|
||||||
printf "OS Name ........ %s\n", $Config{osname};
|
|
||||||
printf "Verbose ........ %s\n", ($self->{'verbose'} ? $self->{'verbose'} : "no");
|
|
||||||
printf "Continue ....... %s\n", ($self->{'continue'} ? "yes" : "no");
|
|
||||||
printf "Force qmake..... %s\n", ($self->{'force_qmake'} ? "yes" : "no");
|
|
||||||
printf "Jobs ........... %s\n", ($self->{'jobs'} >= 0 ? $self->{'jobs'} : "unset");
|
|
||||||
|
|
||||||
my $path = $ENV{'PATH'};
|
|
||||||
print "PATH $path\n";
|
|
||||||
|
|
||||||
print "Modules to build:\n";
|
|
||||||
my $mods = "(all present)";
|
|
||||||
$mods = join(", ", @{$self->{'build-submodules'}}) if (@{$self->{'build-submodules'}});
|
|
||||||
print " $mods\n";
|
|
||||||
|
|
||||||
while (my @modules = $self->get_all_next_modules) {
|
|
||||||
foreach my $module (@modules) {
|
|
||||||
print "build $module...\n";
|
|
||||||
$self->build_project($module);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print "build done!\n";
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub new
|
|
||||||
{
|
|
||||||
my ($class, @arguments) = @_;
|
|
||||||
|
|
||||||
my $self = {};
|
|
||||||
bless $self, $class;
|
|
||||||
|
|
||||||
$self->parse_arguments(@arguments);
|
|
||||||
$self->detect_configuration;
|
|
||||||
|
|
||||||
my $depfile = "build.dependencies";
|
|
||||||
my $result;
|
|
||||||
our (%build_dependencies, %build_commands, %install_commands, @nondefault_modules);
|
|
||||||
|
|
||||||
# following variables may be expanded in the evaluation below
|
|
||||||
my $MAKEOPTS = $self->{'MAKEOPTS'};
|
|
||||||
my $MAKE = $self->{'MAKE'};
|
|
||||||
|
|
||||||
unless ($result = do $depfile) {
|
|
||||||
die "build couldn't parse $depfile: $@" if $@;
|
|
||||||
die "build couldn't execute $depfile: $!" unless defined $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
$self->{'deps'} = \%build_dependencies;
|
|
||||||
$self->{'buildcmds'} = \%build_commands;
|
|
||||||
$self->{'instcmds'} = \%install_commands;
|
|
||||||
$self->{'nondefault'} = \@nondefault_modules;
|
|
||||||
|
|
||||||
return $self;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub run
|
|
||||||
{
|
|
||||||
my ($self) = @_;
|
|
||||||
|
|
||||||
$self->eliminate_empty_modules;
|
|
||||||
|
|
||||||
if (scalar @{$self->{'build-submodules'}} > 0) {
|
|
||||||
$self->check_build_modules(1);
|
|
||||||
} else {
|
|
||||||
my @default = keys(%{$self->{'deps'}});
|
|
||||||
my @nondefault = @{$self->{'nondefault'}};
|
|
||||||
foreach my $item (@nondefault) {
|
|
||||||
@default = grep { $_ ne $item } @default;
|
|
||||||
}
|
|
||||||
push(@{$self->{'build-submodules'}}, @default);
|
|
||||||
$self->check_build_modules(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
$self->resolve_soft_dependencies;
|
|
||||||
|
|
||||||
$self->build_qt;
|
|
||||||
|
|
||||||
# print Dumper($self);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#==============================================================================
|
|
||||||
|
|
||||||
Qt::Build->new(@ARGV)->run if (!caller);
|
|
||||||
1;
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
# Platform independent modules
|
|
||||||
|
|
||||||
# Dependencies separated with comma ','
|
|
||||||
# Dependencies with ':s' appended indicate soft dependencies, which
|
|
||||||
# means that they are a dependency if the module is present, if not
|
|
||||||
# they are ignored.
|
|
||||||
|
|
||||||
use Config;
|
|
||||||
%build_dependencies = (
|
|
||||||
"qlalr" => "qtbase",
|
|
||||||
"qt3d" => "qtbase,qtdeclarative",
|
|
||||||
"qtbase" => "",
|
|
||||||
"qtconnectivity" => "qtsystems",
|
|
||||||
"qtdeclarative" => "qtbase,qtxmlpatterns,qtjsbackend",
|
|
||||||
"qtdoc" => "qtbase,qtdeclarative",
|
|
||||||
"qtfeedback" => "qtbase,qtmultimedia,qtdeclarative",
|
|
||||||
"qtgraphicaleffects" => "qtbase,qtdeclarative,qtxmlpatterns",
|
|
||||||
"qtimageformats" => "qtbase",
|
|
||||||
"qtjsbackend" => "qtbase",
|
|
||||||
"qtlocation" => "qtbase,qtdeclarative,qt3d",
|
|
||||||
"qtmultimedia" => "qtbase,qtdeclarative",
|
|
||||||
"qtpim" => "qtdeclarative",
|
|
||||||
"qtqa" => "qtbase",
|
|
||||||
"qtquick1" => "qtbase,qtscript,qtxmlpatterns,qttools,qtsvg:s",
|
|
||||||
"qtscript" => "qtbase",
|
|
||||||
"qtsensors" => "qtbase,qtdeclarative",
|
|
||||||
"qtsvg" => "qtbase",
|
|
||||||
"qtsystems" => "qtbase,qtdeclarative",
|
|
||||||
"qttools" => "qtbase,qtdeclarative,qtwebkit:s",
|
|
||||||
"qttranslations" => "qttools",
|
|
||||||
"qtwebkit" => "qtbase,qtscript,qtdeclarative,qtquick1,qtlocation",
|
|
||||||
"qtwebkit-examples-and-demos" => "qtwebkit",
|
|
||||||
"qtxmlpatterns" => "qtbase",
|
|
||||||
);
|
|
||||||
|
|
||||||
@nondefault_modules = (
|
|
||||||
"qtwayland",
|
|
||||||
);
|
|
||||||
|
|
||||||
if ("$Config{osname}" =~ /mswin/i) {
|
|
||||||
%build_commands = (
|
|
||||||
"qtwebkit" => "perl Tools/Scripts/build-webkit --qt --no-netscape-plugin --no-webkit2",
|
|
||||||
);
|
|
||||||
push @nondefault_modules, ("qtwebkit", "qtwebkit-examples-and-demos");
|
|
||||||
} else {
|
|
||||||
%build_commands = (
|
|
||||||
"qtwebkit" => "perl Tools/Scripts/build-webkit --qt --release --no-netscape-plugin",
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
%install_commands = (
|
|
||||||
"qtwebkit" => "perl Tools/Scripts/build-webkit --qt --makeargs=\"install\"",
|
|
||||||
);
|
|
||||||
|
|
||||||
# Platform specific modules
|
|
||||||
|
|
||||||
if ("$Config{osname}" =~ /linux/i) {
|
|
||||||
$build_dependencies{"qtwayland"} = "qtbase,qtdeclarative";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("$Config{osname}" =~ /(ms|cyg)win/i) {
|
|
||||||
$build_dependencies{"qtactiveqt"} = "qtbase";
|
|
||||||
}
|
|
||||||
68
configure
vendored
68
configure
vendored
@@ -1,39 +1,39 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
#############################################################################
|
#############################################################################
|
||||||
##
|
##
|
||||||
## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
## Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||||
## Contact: http://www.qt-project.org/
|
## Contact: http://www.qt-project.org/legal
|
||||||
##
|
##
|
||||||
## This file is part of the build tools of the Qt Toolkit.
|
## This file is part of the build tools of the Qt Toolkit.
|
||||||
##
|
##
|
||||||
## $QT_BEGIN_LICENSE:LGPL$
|
## $QT_BEGIN_LICENSE:LGPL$
|
||||||
## GNU Lesser General Public License Usage
|
## Commercial License Usage
|
||||||
## This file may be used under the terms of the GNU Lesser General Public
|
## Licensees holding valid commercial Qt licenses may use this file in
|
||||||
## License version 2.1 as published by the Free Software Foundation and
|
## accordance with the commercial license agreement provided with the
|
||||||
## appearing in the file LICENSE.LGPL included in the packaging of this
|
## Software or, alternatively, in accordance with the terms contained in
|
||||||
## file. Please review the following information to ensure the GNU Lesser
|
## a written agreement between you and Digia. For licensing terms and
|
||||||
## General Public License version 2.1 requirements will be met:
|
## conditions see http://qt.digia.com/licensing. For further information
|
||||||
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
## use the contact form at http://qt.digia.com/contact-us.
|
||||||
##
|
##
|
||||||
## In addition, as a special exception, Nokia gives you certain additional
|
## GNU Lesser General Public License Usage
|
||||||
## rights. These rights are described in the Nokia Qt LGPL Exception
|
## Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
## General Public License version 2.1 as published by the Free Software
|
||||||
|
## Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
## packaging of this file. Please review the following information to
|
||||||
|
## ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
##
|
||||||
|
## In addition, as a special exception, Digia gives you certain additional
|
||||||
|
## rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
##
|
##
|
||||||
## GNU General Public License Usage
|
## GNU General Public License Usage
|
||||||
## Alternatively, this file may be used under the terms of the GNU General
|
## Alternatively, this file may be used under the terms of the GNU
|
||||||
## Public License version 3.0 as published by the Free Software Foundation
|
## General Public License version 3.0 as published by the Free Software
|
||||||
## and appearing in the file LICENSE.GPL included in the packaging of this
|
## Foundation and appearing in the file LICENSE.GPL included in the
|
||||||
## file. Please review the following information to ensure the GNU General
|
## packaging of this file. Please review the following information to
|
||||||
## Public License version 3.0 requirements will be met:
|
## ensure the GNU General Public License version 3.0 requirements will be
|
||||||
## http://www.gnu.org/copyleft/gpl.html.
|
## met: http://www.gnu.org/copyleft/gpl.html.
|
||||||
##
|
|
||||||
## Other Usage
|
|
||||||
## Alternatively, this file may be used in accordance with the terms and
|
|
||||||
## conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
##
|
||||||
##
|
##
|
||||||
## $QT_END_LICENSE$
|
## $QT_END_LICENSE$
|
||||||
@@ -73,9 +73,7 @@ sub ensureDir {
|
|||||||
# `system', but also print the command
|
# `system', but also print the command
|
||||||
sub system_v
|
sub system_v
|
||||||
{
|
{
|
||||||
print "+ ";
|
print "+ @_\n";
|
||||||
print @_;
|
|
||||||
print "\n";
|
|
||||||
return system(@_);
|
return system(@_);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,23 +88,13 @@ if (! -e "$relpath/qtbase/configure") {
|
|||||||
|
|
||||||
ensureDir("$outpath/qtbase");
|
ensureDir("$outpath/qtbase");
|
||||||
chdir("$outpath/qtbase");
|
chdir("$outpath/qtbase");
|
||||||
if (-e ".qmake.cache") {
|
my $ret = system_v("$relpath/qtbase/configure", @ARGV);
|
||||||
# Remove this so we can detect if configure finished properly
|
|
||||||
unlink ".qmake.cache";
|
|
||||||
}
|
|
||||||
my $ret = system_v("$relpath/qtbase/configure @ARGV");
|
|
||||||
if ($ret != 0) {
|
if ($ret != 0) {
|
||||||
print "*** qtbase/configure exited with non-zero status.\n";
|
print "*** qtbase/configure exited with non-zero status.\n";
|
||||||
exit ($ret>>8) ;
|
exit ($ret>>8) ;
|
||||||
}
|
}
|
||||||
if (! -e ".qmake.cache") {
|
|
||||||
# Even though there was no error code, this file wasn't created
|
|
||||||
# so configure didn't finish properly. This is probably because
|
|
||||||
# the user passed -help
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
chdir("$outpath");
|
chdir("$outpath");
|
||||||
|
|
||||||
$ret = system_v("$outpath/qtbase/bin/qmake $relpath/qt.pro");
|
$ret = system_v("$outpath/qtbase/bin/qmake", "$relpath/qt.pro");
|
||||||
exit ($ret>>8);
|
exit ($ret>>8);
|
||||||
|
|||||||
@@ -1,38 +1,38 @@
|
|||||||
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
::
|
::
|
||||||
:: Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
:: Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||||
:: Contact: http://www.qt-project.org/
|
:: Contact: http://www.qt-project.org/legal
|
||||||
::
|
::
|
||||||
:: This file is part of the tools applications of the Qt Toolkit.
|
:: This file is part of the tools applications of the Qt Toolkit.
|
||||||
::
|
::
|
||||||
:: $QT_BEGIN_LICENSE:LGPL$
|
:: $QT_BEGIN_LICENSE:LGPL$
|
||||||
:: GNU Lesser General Public License Usage
|
:: Commercial License Usage
|
||||||
:: This file may be used under the terms of the GNU Lesser General Public
|
:: Licensees holding valid commercial Qt licenses may use this file in
|
||||||
:: License version 2.1 as published by the Free Software Foundation and
|
:: accordance with the commercial license agreement provided with the
|
||||||
:: appearing in the file LICENSE.LGPL included in the packaging of this
|
:: Software or, alternatively, in accordance with the terms contained in
|
||||||
:: file. Please review the following information to ensure the GNU Lesser
|
:: a written agreement between you and Digia. For licensing terms and
|
||||||
:: General Public License version 2.1 requirements will be met:
|
:: conditions see http://qt.digia.com/licensing. For further information
|
||||||
:: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
:: use the contact form at http://qt.digia.com/contact-us.
|
||||||
::
|
::
|
||||||
:: In addition, as a special exception, Nokia gives you certain additional
|
:: GNU Lesser General Public License Usage
|
||||||
:: rights. These rights are described in the Nokia Qt LGPL Exception
|
:: Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
:: General Public License version 2.1 as published by the Free Software
|
||||||
|
:: Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
:: packaging of this file. Please review the following information to
|
||||||
|
:: ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
:: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
::
|
||||||
|
:: In addition, as a special exception, Digia gives you certain additional
|
||||||
|
:: rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
::
|
::
|
||||||
:: GNU General Public License Usage
|
:: GNU General Public License Usage
|
||||||
:: Alternatively, this file may be used under the terms of the GNU General
|
:: Alternatively, this file may be used under the terms of the GNU
|
||||||
:: Public License version 3.0 as published by the Free Software Foundation
|
:: General Public License version 3.0 as published by the Free Software
|
||||||
:: and appearing in the file LICENSE.GPL included in the packaging of this
|
:: Foundation and appearing in the file LICENSE.GPL included in the
|
||||||
:: file. Please review the following information to ensure the GNU General
|
:: packaging of this file. Please review the following information to
|
||||||
:: Public License version 3.0 requirements will be met:
|
:: ensure the GNU General Public License version 3.0 requirements will be
|
||||||
:: http://www.gnu.org/copyleft/gpl.html.
|
:: met: http://www.gnu.org/copyleft/gpl.html.
|
||||||
::
|
|
||||||
:: Other Usage
|
|
||||||
:: Alternatively, this file may be used in accordance with the terms and
|
|
||||||
:: conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
::
|
|
||||||
::
|
|
||||||
::
|
|
||||||
::
|
|
||||||
::
|
::
|
||||||
::
|
::
|
||||||
:: $QT_END_LICENSE$
|
:: $QT_END_LICENSE$
|
||||||
|
|||||||
9
gnuwin32/README
Normal file
9
gnuwin32/README
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
This directory contains the Windows binaries of various tools such as bison
|
||||||
|
from the GnuWin32 project (http://gnuwin32.sourceforge.net/). We've put them
|
||||||
|
here for your convenience, as they are needed to build projects such as
|
||||||
|
QtWebKit.
|
||||||
|
|
||||||
|
Aside from GnuWin32 binaries this directory also contains a distribution of Win
|
||||||
|
flex-bison project (http://sourceforge.net/projects/winflexbison/), which provides
|
||||||
|
much newer ports of Flex and Bison than what GnuWin32 provides.
|
||||||
|
|
||||||
BIN
gnuwin32/bin/win_flex.exe
Normal file
BIN
gnuwin32/bin/win_flex.exe
Normal file
Binary file not shown.
47
gnuwin32/patches/win_flex.patch
Normal file
47
gnuwin32/patches/win_flex.patch
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
Index: flex/src/main.c
|
||||||
|
===================================================================
|
||||||
|
--- flex/src/main.c (revision 24)
|
||||||
|
+++ flex/src/main.c (working copy)
|
||||||
|
@@ -112,7 +112,7 @@
|
||||||
|
struct yytbl_writer tableswr;
|
||||||
|
|
||||||
|
int prev_stdout = 0;
|
||||||
|
-char *flex_temp_out_main="~flex_temp_out_main";
|
||||||
|
+char *flex_temp_out_main = 0;
|
||||||
|
|
||||||
|
/* Make sure program_name is initialized so we don't crash if writing
|
||||||
|
* out an error message before getting the program name from argv[0].
|
||||||
|
@@ -767,6 +767,8 @@
|
||||||
|
tblsiz);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ free (flex_temp_out_main);
|
||||||
|
+ flex_temp_out_main = 0;
|
||||||
|
exit (exit_status);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -779,8 +781,10 @@
|
||||||
|
{
|
||||||
|
int i, sawcmpflag, rv, optind;
|
||||||
|
char *arg;
|
||||||
|
+ char flex_temp_out_main_template[] = "~flex_temp_out_main_XXXXXX";
|
||||||
|
scanopt_t sopt;
|
||||||
|
|
||||||
|
+ flex_temp_out_main = _strdup(_mktemp(flex_temp_out_main_template));
|
||||||
|
printstats = syntaxerror = trace = spprdflt = false;
|
||||||
|
lex_compat = posix_compat = C_plus_plus = backing_up_report =
|
||||||
|
ddebug = fulltbl = false;
|
||||||
|
Index: flex/src/filter.c
|
||||||
|
===================================================================
|
||||||
|
--- flex/src/filter.c (revision 24)
|
||||||
|
+++ flex/src/filter.c (working copy)
|
||||||
|
@@ -86,7 +86,8 @@
|
||||||
|
|
||||||
|
/* Get some more or less random data. */
|
||||||
|
{
|
||||||
|
- static unsigned long long g_value = 827363;
|
||||||
|
+ static unsigned long long g_value;
|
||||||
|
+ g_value = _getpid();
|
||||||
|
g_value += 100;
|
||||||
|
random_time_bits = (((unsigned long long)234546 << 32)
|
||||||
|
| (unsigned long long)g_value);
|
||||||
132
init-repository
132
init-repository
@@ -1,39 +1,39 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/env perl
|
||||||
#############################################################################
|
#############################################################################
|
||||||
##
|
##
|
||||||
## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
## Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||||
## Contact: http://www.qt-project.org/
|
## Contact: http://www.qt-project.org/legal
|
||||||
##
|
##
|
||||||
## This file is part of the utilities of the Qt Toolkit.
|
## This file is part of the utilities of the Qt Toolkit.
|
||||||
##
|
##
|
||||||
## $QT_BEGIN_LICENSE:LGPL$
|
## $QT_BEGIN_LICENSE:LGPL$
|
||||||
## GNU Lesser General Public License Usage
|
## Commercial License Usage
|
||||||
## This file may be used under the terms of the GNU Lesser General Public
|
## Licensees holding valid commercial Qt licenses may use this file in
|
||||||
## License version 2.1 as published by the Free Software Foundation and
|
## accordance with the commercial license agreement provided with the
|
||||||
## appearing in the file LICENSE.LGPL included in the packaging of this
|
## Software or, alternatively, in accordance with the terms contained in
|
||||||
## file. Please review the following information to ensure the GNU Lesser
|
## a written agreement between you and Digia. For licensing terms and
|
||||||
## General Public License version 2.1 requirements will be met:
|
## conditions see http://qt.digia.com/licensing. For further information
|
||||||
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
## use the contact form at http://qt.digia.com/contact-us.
|
||||||
##
|
##
|
||||||
## In addition, as a special exception, Nokia gives you certain additional
|
## GNU Lesser General Public License Usage
|
||||||
## rights. These rights are described in the Nokia Qt LGPL Exception
|
## Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
## General Public License version 2.1 as published by the Free Software
|
||||||
|
## Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
## packaging of this file. Please review the following information to
|
||||||
|
## ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
##
|
||||||
|
## In addition, as a special exception, Digia gives you certain additional
|
||||||
|
## rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
##
|
##
|
||||||
## GNU General Public License Usage
|
## GNU General Public License Usage
|
||||||
## Alternatively, this file may be used under the terms of the GNU General
|
## Alternatively, this file may be used under the terms of the GNU
|
||||||
## Public License version 3.0 as published by the Free Software Foundation
|
## General Public License version 3.0 as published by the Free Software
|
||||||
## and appearing in the file LICENSE.GPL included in the packaging of this
|
## Foundation and appearing in the file LICENSE.GPL included in the
|
||||||
## file. Please review the following information to ensure the GNU General
|
## packaging of this file. Please review the following information to
|
||||||
## Public License version 3.0 requirements will be met:
|
## ensure the GNU General Public License version 3.0 requirements will be
|
||||||
## http://www.gnu.org/copyleft/gpl.html.
|
## met: http://www.gnu.org/copyleft/gpl.html.
|
||||||
##
|
|
||||||
## Other Usage
|
|
||||||
## Alternatively, this file may be used in accordance with the terms and
|
|
||||||
## conditions contained in a signed written agreement between you and Nokia.
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
|
||||||
##
|
##
|
||||||
##
|
##
|
||||||
## $QT_END_LICENSE$
|
## $QT_END_LICENSE$
|
||||||
@@ -91,6 +91,8 @@ git repository.
|
|||||||
|
|
||||||
Only initialize the specified subset of modules given as the argument. Specified
|
Only initialize the specified subset of modules given as the argument. Specified
|
||||||
modules must already exist in .gitmodules.
|
modules must already exist in .gitmodules.
|
||||||
|
The string "all" results in cloning all known modules. The default is the set of
|
||||||
|
maintained modules.
|
||||||
|
|
||||||
=item --no-update
|
=item --no-update
|
||||||
|
|
||||||
@@ -102,7 +104,7 @@ Skip the `git submodule update' command.
|
|||||||
Set git config to ignore submodules by default when doing operations on the
|
Set git config to ignore submodules by default when doing operations on the
|
||||||
qt5 repo, such as `pull', `fetch', `diff' etc.
|
qt5 repo, such as `pull', `fetch', `diff' etc.
|
||||||
|
|
||||||
This option is default for --nokia-developer/--brisbane.
|
This option is default for --nokia-developer.
|
||||||
|
|
||||||
After using this option, pass `--ignore-submodules=none' to git to override
|
After using this option, pass `--ignore-submodules=none' to git to override
|
||||||
it as needed.
|
it as needed.
|
||||||
@@ -119,15 +121,10 @@ B<Repository options:>
|
|||||||
Switch to internal Nokia URLs.
|
Switch to internal Nokia URLs.
|
||||||
|
|
||||||
|
|
||||||
=item --brisbane
|
|
||||||
|
|
||||||
Switch to internal Nokia URLs and make use of the Brisbane git mirrors.
|
|
||||||
(Implies `--mirror' and `--mirror-webkit').
|
|
||||||
|
|
||||||
=item --berlin
|
=item --berlin
|
||||||
|
|
||||||
Switch to internal Nokia URLs and make use of the Berlin git mirrors.
|
Switch to internal Nokia URLs and make use of the Berlin git mirrors.
|
||||||
(Implies `--mirror' and `--mirror-webkit').
|
(Implies `--mirror').
|
||||||
|
|
||||||
|
|
||||||
=item --ssh
|
=item --ssh
|
||||||
@@ -197,10 +194,6 @@ For example:
|
|||||||
The mirror is permitted to contain a subset of the submodules; any
|
The mirror is permitted to contain a subset of the submodules; any
|
||||||
missing modules will fall back to the canonical URLs.
|
missing modules will fall back to the canonical URLs.
|
||||||
|
|
||||||
=item --mirror-webkit <url>
|
|
||||||
|
|
||||||
Uses <url> as the URL for the webkit git mirror.
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
@@ -226,43 +219,64 @@ my %GERRIT_REPOS = map { $_ => "qt/$_" } qw(
|
|||||||
qtconnectivity
|
qtconnectivity
|
||||||
qtdeclarative
|
qtdeclarative
|
||||||
qtdoc
|
qtdoc
|
||||||
|
qtdocgallery
|
||||||
qtfeedback
|
qtfeedback
|
||||||
qtgraphicaleffects
|
qtgraphicaleffects
|
||||||
qtimageformats
|
qtimageformats
|
||||||
|
qtjsondb
|
||||||
qtjsbackend
|
qtjsbackend
|
||||||
qtlocation
|
qtlocation
|
||||||
qtmultimedia
|
qtmultimedia
|
||||||
qtpim
|
qtpim
|
||||||
qtqa
|
qtqa
|
||||||
qtquick1
|
qtquick1
|
||||||
|
qtquickcontrols
|
||||||
qtrepotools
|
qtrepotools
|
||||||
qtscript
|
qtscript
|
||||||
qtsensors
|
qtsensors
|
||||||
|
qtserialport
|
||||||
qtsvg
|
qtsvg
|
||||||
qtsystems
|
qtsystems
|
||||||
qttools
|
qttools
|
||||||
qttranslations
|
qttranslations
|
||||||
qtwayland
|
qtwayland
|
||||||
|
qtwebkit
|
||||||
qtwebkit-examples-and-demos
|
qtwebkit-examples-and-demos
|
||||||
|
qtx11extras
|
||||||
|
qtxmlpatterns
|
||||||
|
);
|
||||||
|
|
||||||
|
my @DEFAULT_REPOS = qw(
|
||||||
|
qtactiveqt
|
||||||
|
qtbase
|
||||||
|
qtdeclarative
|
||||||
|
qtdoc
|
||||||
|
qtgraphicaleffects
|
||||||
|
qtimageformats
|
||||||
|
qtjsbackend
|
||||||
|
qtmultimedia
|
||||||
|
qtqa
|
||||||
|
qtquick1
|
||||||
|
qtquickcontrols
|
||||||
|
qtrepotools
|
||||||
|
qtscript
|
||||||
|
qtsensors
|
||||||
|
qtserialport
|
||||||
|
qtsvg
|
||||||
|
qttools
|
||||||
|
qttranslations
|
||||||
|
qtwebkit
|
||||||
|
qtwebkit-examples-and-demos
|
||||||
|
qtx11extras
|
||||||
qtxmlpatterns
|
qtxmlpatterns
|
||||||
);
|
);
|
||||||
|
|
||||||
my $GERRIT_SSH_BASE
|
my $GERRIT_SSH_BASE
|
||||||
= 'ssh://@USER@codereview.qt-project.org@PORT@/';
|
= 'ssh://@USER@codereview.qt-project.org@PORT@/';
|
||||||
|
|
||||||
my $BNE_MIRROR_URL_BASE
|
|
||||||
= 'git://bq-git.apac.nokia.com/qtsoftware/';
|
|
||||||
|
|
||||||
my $BNE_MIRROR_WEBKIT_URL
|
|
||||||
= 'git://bq-git.apac.nokia.com/qtsoftware/research/gitorious-org-webkit-qtwebkit-mirror.git';
|
|
||||||
|
|
||||||
my $BER_MIRROR_URL_BASE
|
my $BER_MIRROR_URL_BASE
|
||||||
= 'git://ber-git.europe.nokia.com/';
|
= 'git://ber-git.europe.nokia.com/';
|
||||||
|
|
||||||
my $BER_MIRROR_WEBKIT_URL
|
|
||||||
= 'git://ber-git.europe.nokia.com/qtwebkit/qtwebkit.git';
|
|
||||||
|
|
||||||
|
|
||||||
sub new
|
sub new
|
||||||
{
|
{
|
||||||
my ($class, @arguments) = @_;
|
my ($class, @arguments) = @_;
|
||||||
@@ -301,12 +315,11 @@ sub parse_arguments
|
|||||||
'force' => 0 ,
|
'force' => 0 ,
|
||||||
'ignore-submodules' => 0 ,
|
'ignore-submodules' => 0 ,
|
||||||
'mirror-url' => "",
|
'mirror-url' => "",
|
||||||
'mirror-webkit-url' => "",
|
|
||||||
'nokia-developer' => 0 ,
|
'nokia-developer' => 0 ,
|
||||||
'protocol' => "",
|
'protocol' => "",
|
||||||
'update' => 1 ,
|
'update' => 1 ,
|
||||||
'webkit' => 1 ,
|
'webkit' => 1 ,
|
||||||
'module-subset' => "",
|
'module-subset' => join(",", @DEFAULT_REPOS),
|
||||||
);
|
);
|
||||||
|
|
||||||
GetOptionsFromArray(\@args,
|
GetOptionsFromArray(\@args,
|
||||||
@@ -315,7 +328,6 @@ sub parse_arguments
|
|||||||
'copy-objects' => \$self->{qw{ detach-alternates }},
|
'copy-objects' => \$self->{qw{ detach-alternates }},
|
||||||
'force' => \$self->{qw{ force }},
|
'force' => \$self->{qw{ force }},
|
||||||
'ignore-submodules' => \$self->{qw{ ignore-submodules }},
|
'ignore-submodules' => \$self->{qw{ ignore-submodules }},
|
||||||
'mirror-webkit=s' => \$self->{qw{ mirror-webkit-url }},
|
|
||||||
'mirror=s' => \$self->{qw{ mirror-url }},
|
'mirror=s' => \$self->{qw{ mirror-url }},
|
||||||
'nokia-developer' => \$self->{qw{ nokia-developer }},
|
'nokia-developer' => \$self->{qw{ nokia-developer }},
|
||||||
'quiet' => \$self->{qw{ quiet }},
|
'quiet' => \$self->{qw{ quiet }},
|
||||||
@@ -327,19 +339,10 @@ sub parse_arguments
|
|||||||
'http' => sub { $self->{protocol} = 'http'; },
|
'http' => sub { $self->{protocol} = 'http'; },
|
||||||
'ssh|ssh-protocol' => sub { $self->{protocol} = 'ssh'; },
|
'ssh|ssh-protocol' => sub { $self->{protocol} = 'ssh'; },
|
||||||
|
|
||||||
'brisbane|brisbane-nokia-developer' => sub {
|
|
||||||
$self->{'nokia-developer'} = 1;
|
|
||||||
$self->{'protocol'} = 'internal';
|
|
||||||
$self->{'mirror-url'} = $BNE_MIRROR_URL_BASE;
|
|
||||||
$self->{'mirror-webkit-url'} = $BNE_MIRROR_WEBKIT_URL;
|
|
||||||
$self->{'ignore-submodules'} = 1;
|
|
||||||
},
|
|
||||||
|
|
||||||
'berlin|berlin-nokia-developer' => sub {
|
'berlin|berlin-nokia-developer' => sub {
|
||||||
$self->{'nokia-developer'} = 1;
|
$self->{'nokia-developer'} = 1;
|
||||||
$self->{'protocol'} = 'internal';
|
$self->{'protocol'} = 'internal';
|
||||||
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
|
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
|
||||||
$self->{'mirror-webkit-url'} = $BER_MIRROR_WEBKIT_URL;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
'nokia-developer' => sub {
|
'nokia-developer' => sub {
|
||||||
@@ -357,7 +360,9 @@ sub parse_arguments
|
|||||||
# Replace any double trailing slashes from end of mirror
|
# Replace any double trailing slashes from end of mirror
|
||||||
$self->{'mirror-url'} =~ s{//+$}{/};
|
$self->{'mirror-url'} =~ s{//+$}{/};
|
||||||
|
|
||||||
if ($self->{'module-subset'}) {
|
if ($self->{'module-subset'} eq "all") {
|
||||||
|
$self->{'module-subset'} = "";
|
||||||
|
} else {
|
||||||
$self->{'module-subset'} = {
|
$self->{'module-subset'} = {
|
||||||
map { $_ => 1 } split(qr{,}, $self->{'module-subset'})
|
map { $_ => 1 } split(qr{,}, $self->{'module-subset'})
|
||||||
};
|
};
|
||||||
@@ -450,8 +455,6 @@ sub git_set_submodule_config
|
|||||||
my $value = $2;
|
my $value = $2;
|
||||||
|
|
||||||
if ($protocol) {
|
if ($protocol) {
|
||||||
# WebKit is special, and has only external link.
|
|
||||||
if (!($key eq 'qtwebkit' && $protocol eq 'internal')) {
|
|
||||||
# qt-labs projects are still hosted under qt internally.
|
# qt-labs projects are still hosted under qt internally.
|
||||||
if ($protocol ne 'http') {
|
if ($protocol ne 'http') {
|
||||||
$value =~ s,^git://gitorious\.org/qt-labs/,${url_base_for_protocol}qt/,;
|
$value =~ s,^git://gitorious\.org/qt-labs/,${url_base_for_protocol}qt/,;
|
||||||
@@ -459,7 +462,6 @@ sub git_set_submodule_config
|
|||||||
|
|
||||||
# assume all other projects hosted under gitorious publicly.
|
# assume all other projects hosted under gitorious publicly.
|
||||||
$value =~ s,^git://gitorious\.org/,$url_base_for_protocol,;
|
$value =~ s,^git://gitorious\.org/,$url_base_for_protocol,;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->exe('git', 'config', "submodule.$key.url", $value);
|
$self->exe('git', 'config', "submodule.$key.url", $value);
|
||||||
@@ -525,7 +527,6 @@ sub git_clone_one_submodule
|
|||||||
|
|
||||||
my $alternates = $self->{ 'alternates' };
|
my $alternates = $self->{ 'alternates' };
|
||||||
my $mirror_url = $self->{ 'mirror-url' };
|
my $mirror_url = $self->{ 'mirror-url' };
|
||||||
my $mirror_webkit_url = $self->{ 'mirror-webkit-url' };
|
|
||||||
my $protocol = $self->{ 'protocol' };
|
my $protocol = $self->{ 'protocol' };
|
||||||
|
|
||||||
# `--reference FOO' args for the clone, if any.
|
# `--reference FOO' args for the clone, if any.
|
||||||
@@ -542,13 +543,10 @@ sub git_clone_one_submodule
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $mirror;
|
my $mirror;
|
||||||
if ($mirror_url && ($submodule ne 'qtwebkit')) {
|
if ($mirror_url) {
|
||||||
$mirror = $mirror_url."qt/$submodule";
|
$mirror = $mirror_url."qt/$submodule";
|
||||||
$mirror .= ".git" unless (-d $mirror); # Support local disk mirror
|
$mirror .= ".git" unless (-d $mirror); # Support local disk mirror
|
||||||
}
|
}
|
||||||
elsif ($mirror_webkit_url && ($submodule eq 'qtwebkit')) {
|
|
||||||
$mirror = $mirror_webkit_url;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($mirror) {
|
if ($mirror) {
|
||||||
# Only use the mirror if it can be reached.
|
# Only use the mirror if it can be reached.
|
||||||
|
|||||||
2
qlalr
2
qlalr
Submodule qlalr updated: c786df115d...d7064c2c7d
236
qt.pro
236
qt.pro
@@ -1,184 +1,82 @@
|
|||||||
# Create the super cache so modules will add themselves to it.
|
# Create the super cache so modules will add themselves to it.
|
||||||
cache(, super)
|
cache(, super)
|
||||||
|
|
||||||
|
CONFIG += build_pass # hack to disable the .qmake.super auto-add
|
||||||
|
load(qt_build_config)
|
||||||
|
|
||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
|
|
||||||
module_qtbase.subdir = qtbase
|
defineReplace(moduleName) {
|
||||||
module_qtbase.target = module-qtbase
|
return(module_$$replace(1, -, _))
|
||||||
|
}
|
||||||
|
|
||||||
module_qtsvg.subdir = qtsvg
|
# Arguments: module name, [mandatory deps], [optional deps], [project file]
|
||||||
module_qtsvg.target = module-qtsvg
|
defineTest(addModule) {
|
||||||
module_qtsvg.depends = module_qtbase
|
contains(QT_SKIP_MODULES, $$1): return(false)
|
||||||
|
mod = $$moduleName($$1)
|
||||||
|
|
||||||
module_qtxmlpatterns.subdir = qtxmlpatterns
|
isEmpty(4) {
|
||||||
module_qtxmlpatterns.target = module-qtxmlpatterns
|
!exists($$1/$${1}.pro): return(false)
|
||||||
module_qtxmlpatterns.depends = module_qtbase
|
$${mod}.subdir = $$1
|
||||||
|
export($${mod}.subdir)
|
||||||
|
} else {
|
||||||
|
!exists($$1/$${4}): return(false)
|
||||||
|
$${mod}.file = $$1/$$4
|
||||||
|
$${mod}.makefile = Makefile
|
||||||
|
export($${mod}.file)
|
||||||
|
export($${mod}.makefile)
|
||||||
|
}
|
||||||
|
|
||||||
module_qtscript.subdir = qtscript
|
for(d, 2): \
|
||||||
module_qtscript.target = module-qtscript
|
$${mod}.depends += $$moduleName($$d)
|
||||||
module_qtscript.depends = module_qtbase
|
for(d, 3) {
|
||||||
|
dn = $$moduleName($$d)
|
||||||
|
contains(SUBDIRS, $$dn): \
|
||||||
|
$${mod}.depends += $$dn
|
||||||
|
}
|
||||||
|
!isEmpty($${mod}.depends): \
|
||||||
|
export($${mod}.depends)
|
||||||
|
|
||||||
module_qtjsbackend.subdir = qtjsbackend
|
$${mod}.target = module-$$1
|
||||||
module_qtjsbackend.target = module-qtjsbackend
|
export($${mod}.target)
|
||||||
module_qtjsbackend.depends = module_qtbase
|
|
||||||
|
|
||||||
module_qtdeclarative.subdir = qtdeclarative
|
SUBDIRS += $$mod
|
||||||
module_qtdeclarative.target = module-qtdeclarative
|
export(SUBDIRS)
|
||||||
module_qtdeclarative.depends = module_qtbase module_qtjsbackend
|
return(true)
|
||||||
|
}
|
||||||
module_qtwebkit.file = qtwebkit.pri
|
|
||||||
module_qtwebkit.makefile = Makefile.qtwebkit
|
|
||||||
module_qtwebkit.depends = module_qtbase module_qtdeclarative
|
|
||||||
# The qtwebkit subdir does not follow the "module-*" scheme, so make our own target that does.
|
|
||||||
module_qtwebkit_target.target = module-qtwebkit
|
|
||||||
module_qtwebkit_target.commands =
|
|
||||||
module_qtwebkit_target.depends = sub-qtwebkit-pri
|
|
||||||
QMAKE_EXTRA_TARGETS += module_qtwebkit_target
|
|
||||||
|
|
||||||
module_qtwebkit_examples_and_demos.subdir = qtwebkit-examples-and-demos
|
|
||||||
module_qtwebkit_examples_and_demos.target = module-qtwebkit-examples-and-demos
|
|
||||||
module_qtwebkit_examples_and_demos.depends = module_qtwebkit module_qttools
|
|
||||||
|
|
||||||
module_qttools.subdir = qttools
|
|
||||||
module_qttools.target = module-qttools
|
|
||||||
module_qttools.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
module_qttranslations.subdir = qttranslations
|
|
||||||
module_qttranslations.target = module-qttranslations
|
|
||||||
module_qttranslations.depends = module_qttools
|
|
||||||
|
|
||||||
module_qtdoc.subdir = qtdoc
|
|
||||||
module_qtdoc.target = module-qtdoc
|
|
||||||
module_qtdoc.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
module_qtactiveqt.subdir = qtactiveqt
|
|
||||||
module_qtactiveqt.target = module-qtactiveqt
|
|
||||||
module_qtactiveqt.depends = module_qtbase
|
|
||||||
|
|
||||||
module_qlalr.subdir = qlalr
|
|
||||||
module_qlalr.target = module-qlalr
|
|
||||||
module_qlalr.depends = module_qtbase
|
|
||||||
|
|
||||||
module_qtqa.subdir = qtqa
|
|
||||||
module_qtqa.target = module-qtqa
|
|
||||||
module_qtqa.depends = module_qtbase
|
|
||||||
|
|
||||||
module_qtlocation.subdir = qtlocation
|
|
||||||
module_qtlocation.target = module-qtlocation
|
|
||||||
module_qtlocation.depends = module_qtbase module_qtdeclarative module_qt3d
|
|
||||||
|
|
||||||
module_qtsensors.subdir = qtsensors
|
|
||||||
module_qtsensors.target = module-qtsensors
|
|
||||||
module_qtsensors.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
module_qtsystems.subdir = qtsystems
|
|
||||||
module_qtsystems.target = module-qtsystems
|
|
||||||
module_qtsystems.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
module_qtmultimedia.subdir = qtmultimedia
|
|
||||||
module_qtmultimedia.target = module-qtmultimedia
|
|
||||||
module_qtmultimedia.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
module_qtfeedback.subdir = qtfeedback
|
|
||||||
module_qtfeedback.target = module-qtfeedback
|
|
||||||
module_qtfeedback.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
module_qt3d.subdir = qt3d
|
|
||||||
module_qt3d.target = module-qt3d
|
|
||||||
module_qt3d.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
module_qtpim.subdir = qtpim
|
|
||||||
module_qtpim.target = module-qtpim
|
|
||||||
module_qtpim.depends = module_qtdeclarative
|
|
||||||
|
|
||||||
module_qtconnectivity.subdir = qtconnectivity
|
|
||||||
module_qtconnectivity.target = module-qtconnectivity
|
|
||||||
module_qtconnectivity.depends = module_qtsystems
|
|
||||||
|
|
||||||
module_qtwayland.subdir = qtwayland
|
|
||||||
module_qtwayland.target = module-qtwayland
|
|
||||||
module_qtwayland.depends = module_qtbase module_qtdeclarative
|
|
||||||
# not yet enabled by default
|
|
||||||
module_qtwayland.CONFIG = no_default_target no_default_install
|
|
||||||
|
|
||||||
module_qtimageformats.subdir = qtimageformats
|
|
||||||
module_qtimageformats.target = module-qtimageformats
|
|
||||||
module_qtimageformats.depends = module_qtbase
|
|
||||||
|
|
||||||
module_qtquick1.subdir = qtquick1
|
|
||||||
module_qtquick1.target = module-qtquick1
|
|
||||||
module_qtquick1.depends = module_qtbase module_qtscript
|
|
||||||
|
|
||||||
module_qtgraphicaleffects.subdir = qtgraphicaleffects
|
|
||||||
module_qtgraphicaleffects.target = module-qtgraphicaleffects
|
|
||||||
module_qtgraphicaleffects.depends = module_qtbase module_qtdeclarative
|
|
||||||
|
|
||||||
# only qtbase is required to exist. The others may not - but it is the
|
# only qtbase is required to exist. The others may not - but it is the
|
||||||
# users responsibility to ensure that all needed dependencies exist, or
|
# users responsibility to ensure that all needed dependencies exist, or
|
||||||
# it may not build.
|
# it may not build.
|
||||||
|
|
||||||
SUBDIRS = module_qtbase
|
addModule(qtbase)
|
||||||
|
addModule(qtx11extras, qtbase)
|
||||||
exists(qtsvg/qtsvg.pro) {
|
addModule(qlalr, qtbase)
|
||||||
SUBDIRS += module_qtsvg
|
addModule(qtsvg, qtbase)
|
||||||
# These modules do not require qtsvg, but can use it if it is available
|
addModule(qtxmlpatterns, qtbase)
|
||||||
module_qtdeclarative.depends += module_qtsvg
|
addModule(qtjsbackend, qtbase)
|
||||||
module_qtquick1.depends += module_qtsvg
|
addModule(qtdeclarative, qtjsbackend, qtsvg qtxmlpatterns)
|
||||||
}
|
addModule(qtquickcontrols, qtdeclarative)
|
||||||
exists(qtxmlpatterns/qtxmlpatterns.pro) {
|
addModule(qtmultimedia, qtdeclarative)
|
||||||
SUBDIRS += module_qtxmlpatterns
|
addModule(qtactiveqt, qtbase)
|
||||||
# These modules do not require qtxmlpatterns, but can use it if it is available
|
addModule(qt3d, qtdeclarative)
|
||||||
module_qtdeclarative.depends += module_qtxmlpatterns
|
addModule(qtjsondb, qtdeclarative)
|
||||||
module_qtquick1.depends += module_qtxmlpatterns
|
addModule(qtsystems, qtbase, qtdeclarative qtjsondb)
|
||||||
}
|
addModule(qtlocation, qtbase, qt3d qtjsondb qtsystems qtmultimedia)
|
||||||
|
addModule(qtsensors, qtbase, qtdeclarative)
|
||||||
exists(qtjsbackend/qtjsbackend.pro): SUBDIRS += module_qtjsbackend
|
addModule(qtconnectivity, qtsystems)
|
||||||
exists(qtdeclarative/qtdeclarative.pro): SUBDIRS += module_qtdeclarative
|
addModule(qtfeedback, qtdeclarative, qtmultimedia)
|
||||||
exists(qt3d/qt3d.pro): SUBDIRS += module_qt3d
|
addModule(qtpim, qtdeclarative, qtjsondb)
|
||||||
exists(qtscript/qtscript.pro): SUBDIRS += module_qtscript
|
addModule(qtwebkit, qtdeclarative, qtlocation qtsensors, WebKit.pro)
|
||||||
exists(qtlocation/qtlocation.pro) {
|
addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
|
||||||
SUBDIRS += module_qtlocation
|
addModule(qtwebkit-examples-and-demos, qtwebkit qttools)
|
||||||
# These modules do not require qtlocation, but can use it if it is available
|
addModule(qtimageformats, qtbase)
|
||||||
module_qtwebkit.depends += module_qtlocation
|
addModule(qtgraphicaleffects, qtdeclarative)
|
||||||
}
|
addModule(qtscript, qtbase)
|
||||||
exists(qtsensors/qtsensors.pro) {
|
addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit qttools)
|
||||||
SUBDIRS += module_qtsensors
|
addModule(qtdocgallery, qtdeclarative, qtjsondb)
|
||||||
# These modules do not require qtsensors, but can use it if it is available
|
!win32:!mac:addModule(qtwayland, qtbase, qtdeclarative)
|
||||||
module_qtwebkit.depends += module_qtsensors
|
addModule(qtserialport, qtbase)
|
||||||
}
|
addModule(qttranslations, qttools)
|
||||||
exists(qtsystems/qtsystems.pro) {
|
addModule(qtdoc, qtdeclarative)
|
||||||
SUBDIRS += module_qtsystems
|
addModule(qtqa, qtbase)
|
||||||
# These modules do not require qtsystems, but can use it if it is available
|
|
||||||
module_qtlocation.depends += module_qtsystems
|
|
||||||
}
|
|
||||||
exists(qtmultimedia/qtmultimedia.pro) {
|
|
||||||
SUBDIRS += module_qtmultimedia
|
|
||||||
# These modules do not require qtmultimedia, but can use it if it is available
|
|
||||||
module_qtfeedback.depends += module_qtmultimedia
|
|
||||||
module_qtlocation.depends += module_qtmultimedia
|
|
||||||
}
|
|
||||||
exists(qtfeedback/qtfeedback.pro): SUBDIRS += module_qtfeedback
|
|
||||||
exists(qtpim/qtpim.pro): SUBDIRS += module_qtpim
|
|
||||||
exists(qtconnectivity/qtconnectivity.pro): SUBDIRS += module_qtconnectivity
|
|
||||||
exists(qtactiveqt/qtactiveqt.pro) {
|
|
||||||
SUBDIRS += module_qtactiveqt
|
|
||||||
module_qttools.depends += module_qtactiveqt
|
|
||||||
}
|
|
||||||
exists(qtwebkit/WebKit.pro) {
|
|
||||||
SUBDIRS += module_qtwebkit
|
|
||||||
module_qttools.depends += module_qtwebkit
|
|
||||||
}
|
|
||||||
exists(qttools/qttools.pro) {
|
|
||||||
SUBDIRS += module_qttools
|
|
||||||
module_qtquick1.depends += module_qttools
|
|
||||||
}
|
|
||||||
exists(qtwebkit/WebKit.pro):exists(qtwebkit-examples-and-demos/qtwebkit-examples-and-demos.pro): \
|
|
||||||
SUBDIRS += module_qtwebkit_examples_and_demos
|
|
||||||
exists(qtquick1/qtquick1.pro): SUBDIRS += module_qtquick1
|
|
||||||
!win32:!mac:exists(qtwayland/qtwayland.pro): SUBDIRS += module_qtwayland
|
|
||||||
exists(qtimageformats/qtimageformats.pro): SUBDIRS += module_qtimageformats
|
|
||||||
exists(qtgraphicaleffects/qtgraphicaleffects.pro): SUBDIRS += module_qtgraphicaleffects
|
|
||||||
exists(qttranslations/qttranslations.pro): SUBDIRS += module_qttranslations
|
|
||||||
exists(qtdoc/qtdoc.pro): SUBDIRS += module_qtdoc
|
|
||||||
exists(qtqa/qtqa.pro): SUBDIRS += module_qtqa
|
|
||||||
exists(qlalr/qlalr.pro): SUBDIRS += module_qlalr
|
|
||||||
|
|||||||
2
qt3d
2
qt3d
Submodule qt3d updated: 5a14306a84...6b8ee028ac
Submodule qtactiveqt updated: 26ebb99a49...b8169e058a
2
qtbase
2
qtbase
Submodule qtbase updated: 62b0f41ae0...a3f74835f8
Submodule qtconnectivity updated: 6801d35523...fee6b50154
Submodule qtdeclarative updated: 5162fa11a5...f7ada9b932
2
qtdoc
2
qtdoc
Submodule qtdoc updated: 0490488500...aa5cfcd91e
1
qtdocgallery
Submodule
1
qtdocgallery
Submodule
Submodule qtdocgallery added at f3fa41d4a9
Submodule qtfeedback updated: 58b8233d7e...0d85e95a06
Submodule qtgraphicaleffects updated: f93b069454...23a1dc2817
Submodule qtimageformats updated: 0d9856b2a7...50731469be
Submodule qtjsbackend updated: e49f760da4...c97afb08eb
1
qtjsondb
Submodule
1
qtjsondb
Submodule
Submodule qtjsondb added at 3b693a54e5
Submodule qtlocation updated: 059388adce...fd330db9e5
Submodule qtmultimedia updated: 8a3706a5a1...570f05c2d3
2
qtpim
2
qtpim
Submodule qtpim updated: a869b9ab41...099111a9fb
2
qtqa
2
qtqa
Submodule qtqa updated: 0d416ebca4...e7115f55a8
2
qtquick1
2
qtquick1
Submodule qtquick1 updated: 49a3f16a0c...3eb583f6e6
1
qtquickcontrols
Submodule
1
qtquickcontrols
Submodule
Submodule qtquickcontrols added at 73b217015c
Submodule qtrepotools updated: d61e3d6388...5453e0fb31
2
qtscript
2
qtscript
Submodule qtscript updated: 89219f11b8...a5116f19e5
Submodule qtsensors updated: e4ae48b675...6a4f3ba1b1
1
qtserialport
Submodule
1
qtserialport
Submodule
Submodule qtserialport added at 104780b1c8
2
qtsvg
2
qtsvg
Submodule qtsvg updated: 27862077b5...9c79ef0046
Submodule qtsystems updated: f2e1341908...620592b4bc
2
qttools
2
qttools
Submodule qttools updated: aad7955756...c216d3ced5
Submodule qttranslations updated: e9ff668fd9...4e896d9ed3
Submodule qtwayland updated: eaa78cf339...7334963a79
2
qtwebkit
2
qtwebkit
Submodule qtwebkit updated: 2e2ba8ff45...2a43c88430
Submodule qtwebkit-examples-and-demos updated: 821a77e6f8...08118e8627
94
qtwebkit.pri
94
qtwebkit.pri
@@ -1,94 +0,0 @@
|
|||||||
# Wrapper profile for QtWebkit.
|
|
||||||
#
|
|
||||||
# This is needed because webkit builds via a script.
|
|
||||||
# Technically this script is a .pro file, but we name it .pri to avoid clashing
|
|
||||||
# with qt.pro.
|
|
||||||
|
|
||||||
isEmpty(vcproj) {
|
|
||||||
QMAKE_LINK = @: IGNORE THIS LINE
|
|
||||||
OBJECTS_DIR =
|
|
||||||
win32:CONFIG -= embed_manifest_exe
|
|
||||||
} else {
|
|
||||||
CONFIG += console
|
|
||||||
PHONY_DEPS = .
|
|
||||||
phony_src.input = PHONY_DEPS
|
|
||||||
phony_src.output = phony.c
|
|
||||||
phony_src.variable_out = GENERATED_SOURCES
|
|
||||||
phony_src.commands = echo int main() { return 0; } > phony.c
|
|
||||||
phony_src.name = CREATE phony.c
|
|
||||||
phony_src.CONFIG += combine
|
|
||||||
QMAKE_EXTRA_COMPILERS += phony_src
|
|
||||||
}
|
|
||||||
|
|
||||||
DS = $$QMAKE_DIR_SEP
|
|
||||||
contains(DS, /) {
|
|
||||||
env_export = export
|
|
||||||
OPTI=+
|
|
||||||
SBC=$$quote($$QMAKE_CHK_DIR_EXISTS qtwebkit || mkdir qtwebkit &&)
|
|
||||||
} else {
|
|
||||||
env_export = set
|
|
||||||
GNUTOOLS = $$quote("set \"PATH=$$PWD/gnuwin32/bin;%PATH%\" &&")
|
|
||||||
}
|
|
||||||
|
|
||||||
# Any configuration making use of QMAKE_POST_LINK will not work for this project,
|
|
||||||
# since the building is done by webkit's own build script and qmake at this level
|
|
||||||
# does not know the real TARGET. Disable them here.
|
|
||||||
CONFIG -= separate_debug_info
|
|
||||||
|
|
||||||
exists($$PWD/qtwebkit/WebKitTools):qtwebkit_tools_dir = WebKitTools
|
|
||||||
else:qtwebkit_tools_dir = Tools
|
|
||||||
|
|
||||||
QTWEBKIT_BUILD_CONFIG =
|
|
||||||
contains(CONFIG, release):!contains(CONFIG, debug_and_release): {QTWEBKIT_BUILD_CONFIG = --release}
|
|
||||||
|
|
||||||
# WebKit2 is not yet supported on Windows, so avoid trying to build it
|
|
||||||
# Disable WebKit2 until https://bugs.webkit.org/show_bug.cgi?id=94914 is fixed.
|
|
||||||
QTWEBKIT_BUILD_CONFIG += --no-webkit2
|
|
||||||
|
|
||||||
# The '+' is to make parallel "make" work across the script boundary.
|
|
||||||
module_qtwebkit.commands = $${OPTI}$${SBC}cd qtwebkit && \
|
|
||||||
$$env_export \"WEBKITOUTPUTDIR=$$OUT_PWD/qtwebkit/WebKitBuild\" && $$GNUTOOLS \
|
|
||||||
perl $$PWD$${DS}qtwebkit$${DS}$${qtwebkit_tools_dir}$${DS}Scripts$${DS}build-webkit \
|
|
||||||
--qt \
|
|
||||||
--qmake=$(QMAKE) \
|
|
||||||
--install-libs=$$[QT_INSTALL_LIBS] \
|
|
||||||
--qmakearg=CONFIG+=production_build \
|
|
||||||
$$QTWEBKIT_BUILD_CONFIG
|
|
||||||
# "--makeargs=\"-$(MAKEFLAGS)\""
|
|
||||||
# Trick to force dependency on this rule.
|
|
||||||
#module_qtwebkit.commands += $$escape_expand(\\n)make_default: module-qtwebkit
|
|
||||||
module_qtwebkit.target = module-qtwebkit
|
|
||||||
|
|
||||||
# The '+' is to make parallel "make" work across the script boundary.
|
|
||||||
module_qtwebkit_clean.commands = $${OPTI}$${SBC}cd qtwebkit && \
|
|
||||||
$$env_export \"WEBKITOUTPUTDIR=$$OUT_PWD/qtwebkit/WebKitBuild\" && $$GNUTOOLS \
|
|
||||||
perl $$PWD$${DS}qtwebkit$${DS}$${qtwebkit_tools_dir}$${DS}Scripts$${DS}build-webkit \
|
|
||||||
--qt \
|
|
||||||
--qmake=$(QMAKE) \
|
|
||||||
--install-libs=$$[QT_INSTALL_LIBS] \
|
|
||||||
$$QTWEBKIT_BUILD_CONFIG \
|
|
||||||
"--makeargs=\"$(MAKEFLAGS)\"" \
|
|
||||||
--clean
|
|
||||||
# Trick to force dependency on this rule.
|
|
||||||
module_qtwebkit_clean.commands += $$escape_expand(\\n)clean: module-qtwebkit-clean
|
|
||||||
module_qtwebkit_clean.target = module-qtwebkit-clean
|
|
||||||
|
|
||||||
module_qtwebkit_install.commands = $${OPTI}$${SBC}cd qtwebkit/WebKitBuild/Release && $(MAKE) install
|
|
||||||
# Trick to force dependency on this rule.
|
|
||||||
module_qtwebkit_install.commands+= $$escape_expand(\\n)install: module-qtwebkit-install
|
|
||||||
module_qtwebkit_install.target = module-qtwebkit-install
|
|
||||||
|
|
||||||
module_qtwebkit_uninstall.commands = $${OPTI}$${SBC}cd qtwebkit && \
|
|
||||||
$$env_export \"WEBKITOUTPUTDIR=$$OUT_PWD/qtwebkit/WebKitBuild\" && $$GNUTOOLS \
|
|
||||||
perl $$PWD$${DS}qtwebkit$${DS}$${qtwebkit_tools_dir}$${DS}Scripts$${DS}build-webkit \
|
|
||||||
--qt \
|
|
||||||
--qmake=$(QMAKE) \
|
|
||||||
--install-libs=$$[QT_INSTALL_LIBS] \
|
|
||||||
"--makeargs=\"uninstall\""
|
|
||||||
# Trick to force dependency on this rule.
|
|
||||||
module_qtwebkit_uninstall.commands+= $$escape_expand(\\n)uninstall: module-qtwebkit-uninstall
|
|
||||||
module_qtwebkit_uninstall.target = module-qtwebkit-uninstall
|
|
||||||
|
|
||||||
# WebKit needs a nonstandard target because the build has to be initiated by the bundled script.
|
|
||||||
QMAKE_EXTRA_TARGETS += module_qtwebkit module_qtwebkit_clean module_qtwebkit_install module_qtwebkit_uninstall
|
|
||||||
PRE_TARGETDEPS += module-qtwebkit
|
|
||||||
1
qtx11extras
Submodule
1
qtx11extras
Submodule
Submodule qtx11extras added at 0ce7f8ac3d
Submodule qtxmlpatterns updated: 75d13b247f...18d558b4ab
Reference in New Issue
Block a user