[Interest] Current status of the co-installation
Thiago Macieira
thiago.macieira at intel.com
Mon Oct 29 22:23:35 CET 2012
Hello again
Here's the current status:
* Qt Quick 1 and 2 de-conflicting:
The Qt Quick 1 library is renamed and the patches are in. The library is
called QtDeclarative again.
Qt Quick 1 retains its import paths in QLibraryInfo::ImportsPath /
$$[QT_INSTALL_IMPORTS], with no subdir. Qt Quick 2 instead goes to
QLibraryInfo::Qml2ImportsPath / $$[QT_INSTALL_QML]. The patches for both
pending, with a -1 from ossi due to an upcoming conflict with a new feature in
mkspecs/features.
I propose that the tools for Qt Quick 1 retain their exact naming from Qt 4
(qmlplugindump and qmlviewer). The tools from Qt Quick 2 should be prefixed
with "qml2".
Question: qml2scene or qml2viewer? If no one speaks up, it will be qml2scene.
The patches for that are ready, pending approval.
* Default paths:
The defaults on a regular Unix or Windows installs are:
-bindir $prefix/bin [unchanged]
-libdir $prefix/lib [unchanged]
-libexecdir $prefix/lib/qt5/libexec [new]
-docdir [1]
-headerdir $prefix/include
-importdir $prefix/lib/qt5/imports [changed]
-qmldir $prefix/lib/qt5/qml [new]
-datadir $prefix/lib/qt5 [2]
-translationdir $prefix/lib/qt5/translations [changed]
-sysconfdir $prefix/etc/xdg [changed]
-examplesdir $prefix/examples [unchanged]
-testsdir $prefix/tests [unchanged]
[1] docdir is $prefix/share/qt5/doc for installed builds, but remains
$prefix/doc for non-installed builds as well as when qt.conf is found. Unless
someone speaks in support of this staying, I am going to drop the patch. Linux
distributions will change the dir to /usr/share/doc/qt5 anyway..
[2] for non-installed builds, datadir is $prefix, which makes the mkspecs be
found at $prefix/mkspecs.
The patches for all of the above are pending. There's a -1 on one patch
because it probably breaks cross compilations from Linux to Windows --
considering I will not test this configuration, I will only fix it if someone
sends me an exact patch of what to do.
The patches that add libexecdir and qmldir have negative scores. The qmldir
one has the -1 for the qml1_plugin.prf feature, whereas the libexec one has a
-2 on disagreement on the principle. We need an agreement on the mailing list
to decide what to do there.
* Library names:
All libraries get a 5 in their name in all platforms, except Mac when building
frameworks. The 5 is placed after "Qt", so the libraries are now
"libQt5Core.so" and "Qt5Core.dll", which makes for an unfortunate "Qt53D.dll"
(but no more "QtV85.dll").
Patch is pending approval.
* Tooling:
The build for most tools is completely unchanged. For those, the ones that are
from outside qtbase place themselves into the new libexec dir without changes.
The ones in qtbase place themselves into bin, but install into libexec.
A few tools I've modified to install into the bin dir. They are:
assistant
designer
linguist
macdeployqt
makeqpf
pixeltool
qdbus
qdbusviewer
qtconfig (installs as qt5config)
xmlpatterns
xmlpatternsvalidator
qglinfo
They're all in qttools.git except for the two xmlpatterns tools and qglinfo.
I've also added the wrapper tool, called "toolwrapper", which is *also* placed
in the libexec dir. However, its install rule will create a symlink to itself
as $bindir/qmake.
This tool is bootstrapped and unit-tested. It's inside qtbase. I decided
against modifying qmake because it was way too complex.
All the patches are pending approval, except for the one that creates libexec
(-2 from ossi).
The relevant changes are:
Qt Quick 1 & 2:
https://codereview.qt-project.org/37104 (QQ1's imports with no subdir)
https://codereview.qt-project.org/37242 (adds -qmldir)
https://codereview.qt-project.org/37431 (renames qml1plugindump back)
https://codereview.qt-project.org/37434 (renames QQ2 tools to qml2*)
https://codereview.qt-project.org/37539 (use the Qml2ImportPath)
https://codereview.qt-project.org/35521 (changes QQ2 examples dir)
https://codereview.qt-project.org/36711 (doc update about the examples)
https://codereview.qt-project.org/37555 (updates Qt Creator)
Default paths:
https://codereview.qt-project.org/37252 (requirement, breaks Mac
build and I need help)
https://codereview.qt-project.org/37244 (changes datadir)
https://codereview.qt-project.org/35495 (change plugindir, importsdir,
translationsdir and settingsdir)
https://codereview.qt-project.org/37253 (docdir change, I'll abandon)
Library names with 5:
https://codereview.qt-project.org/37256
Tooling:
https://codereview.qt-project.org/38223 (qglinfo)
https://codereview.qt-project.org/38224 (xmlpatterns*)
https://codereview.qt-project.org/38464 (qt5config)
https://codereview.qt-project.org/38465 (qttools apps)
https://codereview.qt-project.org/38342 (requirement, breaks Mac build
and I need help)
https://codereview.qt-project.org/38225 (creates libexec)
https://codereview.qt-project.org/38344 (the toolwrapper)
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20121029/b1b06ff2/attachment.sig>
More information about the Interest
mailing list