diff --git a/.gitmodules b/.gitmodules index 9c31b262..d8c8bd28 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,57 +1,96 @@ [submodule "qtbase"] path = qtbase - url = git://gitorious.org/qt/qtbase.git + url = ../qtbase.git [submodule "qtsvg"] path = qtsvg - url = git://gitorious.org/qt/qtsvg.git + url = ../qtsvg.git [submodule "qtdeclarative"] path = qtdeclarative - url = git://gitorious.org/qt/qtdeclarative.git + url = ../qtdeclarative.git [submodule "qtactiveqt"] path = qtactiveqt - url = git://gitorious.org/qt/qtactiveqt.git + url = ../qtactiveqt.git [submodule "qtscript"] path = qtscript - url = git://gitorious.org/qt/qtscript.git + url = ../qtscript.git [submodule "qtmultimedia"] path = qtmultimedia - url = git://gitorious.org/qt/qtmultimedia.git + url = ../qtmultimedia.git [submodule "qttools"] path = qttools - url = git://gitorious.org/qt/qttools.git + url = ../qttools.git [submodule "qtxmlpatterns"] path = qtxmlpatterns - url = git://gitorious.org/qt/qtxmlpatterns.git + url = ../qtxmlpatterns.git [submodule "qttranslations"] path = qttranslations - url = git://gitorious.org/qt/qttranslations.git + url = ../qttranslations.git [submodule "qtdoc"] path = qtdoc - url = git://gitorious.org/qt/qtdoc.git + url = ../qtdoc.git +[submodule "qlalr"] + path = qlalr + url = ../qlalr.git [submodule "qtrepotools"] path = qtrepotools - url = git://gitorious.org/qt/qtrepotools.git + url = ../qtrepotools.git [submodule "qtwebkit"] path = qtwebkit - url = git://gitorious.org/qt/qtwebkit.git -[submodule "qtwebkit-examples-and-demos"] - path = qtwebkit-examples-and-demos - url = git://gitorious.org/qt/qtwebkit-examples-and-demos.git + url = ../qtwebkit.git +[submodule "qtwebkit-examples"] + path = qtwebkit-examples + url = ../qtwebkit-examples.git [submodule "qtqa"] path = qtqa - url = git://gitorious.org/qt/qtqa.git + url = ../qtqa.git +[submodule "qtlocation"] + path = qtlocation + url = ../qtlocation.git +[submodule "qtsensors"] + path = qtsensors + url = ../qtsensors.git +[submodule "qtsystems"] + path = qtsystems + url = ../qtsystems.git +[submodule "qtfeedback"] + path = qtfeedback + url = ../qtfeedback.git +[submodule "qtdocgallery"] + path = qtdocgallery + url = ../qtdocgallery.git +[submodule "qtpim"] + path = qtpim + url = ../qtpim.git +[submodule "qtconnectivity"] + path = qtconnectivity + url = ../qtconnectivity.git +[submodule "qtwayland"] + path = qtwayland + url = ../qtwayland.git +[submodule "qtjsondb"] + path = qtjsondb + url = ../qtjsondb.git +[submodule "qt3d"] + path = qt3d + url = ../qt3d.git [submodule "qtjsbackend"] path = qtjsbackend - url = git://gitorious.org/qt/qtjsbackend.git + url = ../qtjsbackend.git [submodule "qtimageformats"] path = qtimageformats - url = git://gitorious.org/qt/qtimageformats.git + url = ../qtimageformats.git [submodule "qtquick1"] path = qtquick1 - url = git://gitorious.org/qt/qtquick1.git + url = ../qtquick1.git [submodule "qtgraphicaleffects"] path = qtgraphicaleffects - url = git://gitorious.org/qt/qtgraphicaleffects.git + url = ../qtgraphicaleffects.git +[submodule "qtquickcontrols"] + path = qtquickcontrols + url = ../qtquickcontrols.git +[submodule "qtserialport"] + path = qtserialport + url = ../qtserialport.git [submodule "qtx11extras"] path = qtx11extras - url = git://gitorious.org/qt/qtx11extras.git + url = ../qtx11extras.git diff --git a/README b/README index 392d7eb2..06b57840 100644 --- a/README +++ b/README @@ -59,9 +59,6 @@ HOW TO BUILD QT5 configure -prefix %CD%\qtbase -opensource -nomake tests nmake // jom // mingw32-make - For MinGW (gcc version 4.6 or later), ensure that the compiler can - be found in the path. - To accelerate the bootstrap of qmake with MSVC, it may be useful to pass "-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. @@ -124,3 +121,4 @@ HOW TO BUILD QT5 ===================== 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. diff --git a/init-repository b/init-repository index 34e18ac9..3bd600ff 100755 --- a/init-repository +++ b/init-repository @@ -91,6 +91,8 @@ git repository. Only initialize the specified subset of modules given as the argument. Specified 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 @@ -217,27 +219,56 @@ my %GERRIT_REPOS = map { $_ => "qt/$_" } qw( qtconnectivity qtdeclarative qtdoc + qtdocgallery qtfeedback qtgraphicaleffects qtimageformats + qtjsondb qtjsbackend qtlocation qtmultimedia qtpim qtqa qtquick1 + qtquickcontrols qtrepotools qtscript qtsensors + qtserialport qtsvg qtsystems qttools qttranslations qtwayland qtwebkit - qtwebkit-examples-and-demos - qtxmlpatterns + qtwebkit-examples 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 + qtx11extras + qtxmlpatterns ); my $GERRIT_SSH_BASE @@ -288,7 +319,7 @@ sub parse_arguments 'protocol' => "", 'update' => 1 , 'webkit' => 1 , - 'module-subset' => "", + 'module-subset' => join(",", @DEFAULT_REPOS), ); GetOptionsFromArray(\@args, @@ -329,7 +360,9 @@ sub parse_arguments # Replace any double trailing slashes from end of mirror $self->{'mirror-url'} =~ s{//+$}{/}; - if ($self->{'module-subset'}) { + if ($self->{'module-subset'} eq "all") { + $self->{'module-subset'} = ""; + } else { $self->{'module-subset'} = { map { $_ => 1 } split(qr{,}, $self->{'module-subset'}) }; @@ -386,7 +419,7 @@ sub git_disable_webkit_submodule my ($self) = @_; $self->exe('git', 'config', '--remove', 'submodule.qtwebkit'); - $self->exe('git', 'config', '--remove', 'submodule.qtwebkit-examples-and-demos'); + $self->exe('git', 'config', '--remove', 'submodule.qtwebkit-examples'); return; } diff --git a/qlalr b/qlalr new file mode 160000 index 00000000..cf0e872f --- /dev/null +++ b/qlalr @@ -0,0 +1 @@ +Subproject commit cf0e872fecfd2c8d829c7528a9893ddf5cd2c895 diff --git a/qt.pro b/qt.pro index 62468b27..218701ab 100644 --- a/qt.pro +++ b/qt.pro @@ -1,134 +1,86 @@ # Create the super cache so modules will add themselves to it. cache(, super) +CONFIG += build_pass # hack to disable the .qmake.super auto-add +load(qt_build_config) + TEMPLATE = subdirs -CONFIG += prepare_docs qt_docs_targets testcase_targets +defineReplace(moduleName) { + return(module_$$replace(1, -, _)) +} -module_qtbase.subdir = qtbase -module_qtbase.target = module-qtbase +# Arguments: module name, [mandatory deps], [optional deps], [project file] +defineTest(addModule) { + contains(QT_SKIP_MODULES, $$1): return(false) + mod = $$moduleName($$1) -module_qtsvg.subdir = qtsvg -module_qtsvg.target = module-qtsvg -module_qtsvg.depends = module_qtbase + isEmpty(4) { + !exists($$1/$${1}.pro): return(false) + $${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_qtxmlpatterns.subdir = qtxmlpatterns -module_qtxmlpatterns.target = module-qtxmlpatterns -module_qtxmlpatterns.depends = module_qtbase + for(d, 2) { + dn = $$moduleName($$d) + !contains(SUBDIRS, $$dn): \ + return(false) + $${mod}.depends += $$dn + } + for(d, 3) { + dn = $$moduleName($$d) + contains(SUBDIRS, $$dn): \ + $${mod}.depends += $$dn + } + !isEmpty($${mod}.depends): \ + export($${mod}.depends) -module_qtscript.subdir = qtscript -module_qtscript.target = module-qtscript -module_qtscript.depends = module_qtbase + $${mod}.target = module-$$1 + export($${mod}.target) -module_qtjsbackend.subdir = qtjsbackend -module_qtjsbackend.target = module-qtjsbackend -module_qtjsbackend.depends = module_qtbase - -module_qtdeclarative.subdir = qtdeclarative -module_qtdeclarative.target = module-qtdeclarative -module_qtdeclarative.depends = module_qtbase module_qtjsbackend - -module_qtwebkit.file = qtwebkit/WebKit.pro -module_qtwebkit.makefile = Makefile -module_qtwebkit.depends = module_qtbase module_qtdeclarative -module_qtwebkit.target = module-qtwebkit - -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_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_qtqa.subdir = qtqa -module_qtqa.target = module-qtqa -module_qtqa.depends = module_qtbase - -module_qtmultimedia.subdir = qtmultimedia -module_qtmultimedia.target = module-qtmultimedia -module_qtmultimedia.depends = module_qtbase - -module_qtx11extras.subdir = qtx11extras -module_qtx11extras.target = module-qtx11extras -module_qtx11extras.depends = module_qtbase - -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 + SUBDIRS += $$mod + export(SUBDIRS) + return(true) +} # only qtbase is required to exist. The others may not - but it is the # users responsibility to ensure that all needed dependencies exist, or # it may not build. -SUBDIRS = module_qtbase - -exists(qtsvg/qtsvg.pro) { - SUBDIRS += module_qtsvg - # These modules do not require qtsvg, but can use it if it is available - module_qtdeclarative.depends += module_qtsvg - module_qtquick1.depends += module_qtsvg -} -exists(qtxmlpatterns/qtxmlpatterns.pro) { - SUBDIRS += module_qtxmlpatterns - # These modules do not require qtxmlpatterns, but can use it if it is available - module_qtdeclarative.depends += module_qtxmlpatterns - module_qtquick1.depends += module_qtxmlpatterns -} - -exists(qtjsbackend/qtjsbackend.pro): SUBDIRS += module_qtjsbackend -exists(qtdeclarative/qtdeclarative.pro) { - SUBDIRS += module_qtdeclarative - # These modules do not require qtdeclarative, but can use it if it is available - module_qttools.depends += module_qtdeclarative - module_qtmultimedia.depends += module_qtdeclarative -} -exists(qtscript/qtscript.pro): SUBDIRS += module_qtscript -exists(qtmultimedia/qtmultimedia.pro): SUBDIRS += module_qtmultimedia -exists(qtactiveqt/qtactiveqt.pro) { - SUBDIRS += module_qtactiveqt - module_qttools.depends += module_qtactiveqt -} -exists(qtwebkit/WebKit.pro) { - mac|contains(QT_CONFIG, icu) { - SUBDIRS += module_qtwebkit - module_qttools.depends += module_qtwebkit - module_qtquick1.depends += module_qtwebkit - exists(qtwebkit-examples-and-demos/qtwebkit-examples-and-demos.pro) { - SUBDIRS += module_qtwebkit_examples_and_demos - } - } else { - message("WebKit: Qt was built without ICU support, WebKit disabled.") - } -} -exists(qttools/qttools.pro) { - SUBDIRS += module_qttools - module_qtquick1.depends += module_qttools -} -exists(qtquick1/qtquick1.pro): SUBDIRS += module_qtquick1 -exists(qtimageformats/qtimageformats.pro): SUBDIRS += module_qtimageformats -exists(qtgraphicaleffects/qtgraphicaleffects.pro): SUBDIRS += module_qtgraphicaleffects -exists(qtx11extras/qtx11extras.pro): SUBDIRS += module_qtx11extras -exists(qttranslations/qttranslations.pro): SUBDIRS += module_qttranslations -exists(qtdoc/qtdoc.pro): SUBDIRS += module_qtdoc -exists(qtqa/qtqa.pro): SUBDIRS += module_qtqa +addModule(qtbase) +addModule(qtx11extras, qtbase) +addModule(qlalr, qtbase) +addModule(qtsvg, qtbase) +addModule(qtxmlpatterns, qtbase) +addModule(qtjsbackend, qtbase) +addModule(qtdeclarative, qtjsbackend, qtsvg qtxmlpatterns) +addModule(qtquickcontrols, qtdeclarative) +addModule(qtmultimedia, qtdeclarative) +addModule(qtactiveqt, qtbase) +addModule(qt3d, qtdeclarative) +addModule(qtjsondb, qtdeclarative) +addModule(qtsystems, qtbase, qtdeclarative qtjsondb) +addModule(qtlocation, qtbase, qt3d qtjsondb qtsystems qtmultimedia) +addModule(qtsensors, qtbase, qtdeclarative) +addModule(qtconnectivity, qtsystems) +addModule(qtfeedback, qtdeclarative, qtmultimedia) +addModule(qtpim, qtdeclarative, qtjsondb) +addModule(qtwebkit, qtdeclarative, qtlocation qtsensors, WebKit.pro) +addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit) +addModule(qtwebkit-examples, qtwebkit qttools) +addModule(qtimageformats, qtbase) +addModule(qtgraphicaleffects, qtdeclarative) +addModule(qtscript, qtbase) +addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit qttools) +addModule(qtdocgallery, qtdeclarative, qtjsondb) +!win32:!mac:addModule(qtwayland, qtbase, qtdeclarative) +addModule(qtserialport, qtbase) +addModule(qttranslations, qttools) +addModule(qtdoc, qtdeclarative) +addModule(qtqa, qtbase) diff --git a/qt3d b/qt3d new file mode 160000 index 00000000..be0194e9 --- /dev/null +++ b/qt3d @@ -0,0 +1 @@ +Subproject commit be0194e99d113444d13b658d1abae095af4f840a diff --git a/qtconnectivity b/qtconnectivity new file mode 160000 index 00000000..a57166ab --- /dev/null +++ b/qtconnectivity @@ -0,0 +1 @@ +Subproject commit a57166abc42d0af55191ae77cecb7a50363c580b diff --git a/qtdocgallery b/qtdocgallery new file mode 160000 index 00000000..3f9a8c3c --- /dev/null +++ b/qtdocgallery @@ -0,0 +1 @@ +Subproject commit 3f9a8c3c4f6c382de5ce6809d0c4365f390d9fd2 diff --git a/qtfeedback b/qtfeedback new file mode 160000 index 00000000..80f56cc8 --- /dev/null +++ b/qtfeedback @@ -0,0 +1 @@ +Subproject commit 80f56cc88c7bcc17f3cdf761b69e0fbae3245852 diff --git a/qtjsondb b/qtjsondb new file mode 160000 index 00000000..c9e541d3 --- /dev/null +++ b/qtjsondb @@ -0,0 +1 @@ +Subproject commit c9e541d3ad9ff4b3d1847ddb48190e373e033c92 diff --git a/qtlocation b/qtlocation new file mode 160000 index 00000000..ccf162dd --- /dev/null +++ b/qtlocation @@ -0,0 +1 @@ +Subproject commit ccf162dd075eb1f40c8bdedf70bc73a285d8e43f diff --git a/qtpim b/qtpim new file mode 160000 index 00000000..13b5e372 --- /dev/null +++ b/qtpim @@ -0,0 +1 @@ +Subproject commit 13b5e3721633038e594f821a5b7f5032059ac6d9 diff --git a/qtquickcontrols b/qtquickcontrols new file mode 160000 index 00000000..070943e7 --- /dev/null +++ b/qtquickcontrols @@ -0,0 +1 @@ +Subproject commit 070943e78d32aab9eb6e825c5badc2da35851f3a diff --git a/qtsensors b/qtsensors new file mode 160000 index 00000000..50c16eab --- /dev/null +++ b/qtsensors @@ -0,0 +1 @@ +Subproject commit 50c16eab20a6d9884ab3149ef59137a10de63e6d diff --git a/qtserialport b/qtserialport new file mode 160000 index 00000000..0add3b93 --- /dev/null +++ b/qtserialport @@ -0,0 +1 @@ +Subproject commit 0add3b934b8405fc5b65efeba9f05cc1dc353e64 diff --git a/qtsystems b/qtsystems new file mode 160000 index 00000000..b7b67d11 --- /dev/null +++ b/qtsystems @@ -0,0 +1 @@ +Subproject commit b7b67d1130a2e38ecf52a6c64c9c9cf8356b4ba9 diff --git a/qtwayland b/qtwayland new file mode 160000 index 00000000..894adf8a --- /dev/null +++ b/qtwayland @@ -0,0 +1 @@ +Subproject commit 894adf8a447865119be7c6c4d01577d8032f4177 diff --git a/qtwebkit-examples-and-demos b/qtwebkit-examples similarity index 100% rename from qtwebkit-examples-and-demos rename to qtwebkit-examples