On systems that do not follow the Filesystem Hierarchy Standard, such as
guix, the hardcoded `/bin/pwd` will fail to be found so that the script
will fail.
Use `pwd`, instead, so that the command can be found through the normal
path search mechanism.
Change-Id: I519d535bcaf53119c8800cc5545da9a0e48e677a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Calling configure will now implicitly run init-repository when
appropriate. See further down below for what "appropriate" means.
All supported init-repository options can be passed to configure as
except for -mirror, -oslo, -berlin.
This includes useful options like -submodules, -no-resolve-deps and
-no-optional-deps.
When running configure on a qt5.git clone without any submodules
cloned, configure will exit with a helpful error message suggesting to
pass -init-submodules, so it automatically clones missing repositories.
This means cloning is opt-in, so that internet access is not done
implicitly.
The error message also suggests passing the -submodules option.
This will affect which submodules will be cloned by init-repository
and which submodules will be configured by configure.
In this case -submodules is effectively an alias of
init-repository's -module-subset for cloning purposes.
When calling configure a second time, without -init-submodules, on an
already configured repo, init-repository behavior is entirely skipped.
-submodules now accepts init-repository-style special values like
"essential", "addon", "all", "existing", "-deprecated" for the purpose
of cloning submodules. The values are then translated into actual repos
that should also be configured or skipped by configure.
The default subset of cloned submodules is currently the same one as
init-repository, "default", which clones 44 actively maintained
repositories as well as deprecated submodules.
If configure is called a second time WITH -init-submodules, it's the
same as calling init-repository --force to re-initialize submodules.
In this case passing something like
--submodules existing,<additional-submodules>
might make sense to add or remove submodules.
As a drive-by this also fixes the bug where you couldn't pass a
configure -- -DFOO=0
parameter to configure, because it got treated as '0>', redirecting
from a different stream than stdout, leading to empty content in the
file.
[ChangeLog][General][Build System] The configure script now implicitly
calls init-repository when appropriate and accepts init-repository
command line options.
Fixes: QTBUG-120030
Task-number: QTBUG-122622
Change-Id: Iedbfcbf0a87c8ee89e40d00b6377b68296a65a62
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The license should be GPLv3-EXCEPT, like for the same file in qtbase.
Pick-to: 5.15
Change-Id: I59c63c0a693394dc9f8de4706c2e113fe2ea4130
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Remove hard-coded path to pwd; there is no need to have it, and for example
NixOS doesn't actually have it at this location, leading to such an error:
./configure: line 36: /bin/pwd: No such file or directory
/qtbase/configure not found. Did you forget to run "init-repository"?
Change-Id: If3372db3390ba5f39c5003d12ff2a466f39ff353
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: Ieb3be34b0d4061fb8dc886991528951f59dbd67e
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
call it with the "secret" -top-level option, which shifts the makefile
generation one level up.
this makes the configure call the last thing we do, thus also avoiding
the problems we had with the -help switch (and the previous attempts at
fixing it).
Change-Id: I80ba4a09b260a140a9d1b976277c30fd1436b4d6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Using the absolute path to configure, otherwise you get:
[user@locahost qt5]$ ./configure -minimal
+ cd qtbase
+ ./qtbase/configure -minimal
./configure: line 58: ./qtbase/configure: No such file or directory
Change-Id: Ic7568cc571aaa52c56bcd28fa1b6bde8abb32c8e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
otherwise the whole no-syncqt-and-thus-perl-needed stunt in qtbase would
be fairly useless for top-level builds.
Task-number: QTBUG-31786
Change-Id: I9f9b38091155a2d50ffec169267e0363fc24d3c0
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Change copyrights and license headers from Nokia to Digia
Change-Id: Ieac8fb85896427cd5e3c6d91698c455a0dc9e495
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
at this point, the cache is needed only to aggregate the modules,
not to "export" qtbase internals. the modules now have private caches
for "real" config data.
Change-Id: I4c70d220bbc054023710680545a04c171e238aff
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
so one has a base directory for paths it reports.
Task-number: QTBUG-25190
Change-Id: Ib222e2d7b07bf986a9eccd6934e51574b5a5a052
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The return value from system() is an exit status (e.g. returned value
from waitpid) and needs to be shifted right by 8 bits to get an exit
code.
Change-Id: Ibbcc58491b27ef6d9d299427aeb78f57b41c92e2
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
There is at least one case in configure where it exist with a code of 0
but does not create .qmake.cache. Detect this and avoid continuing.
Change-Id: I0554991e5d4a50b7072494c080fa2c593e03b726
Reviewed-on: http://codereview.qt-project.org/6094
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>