[Development] two questions about the build system of Qt

Cor-Paul Bezemer cpbezemer at gmail.com
Tue Nov 29 19:53:41 CET 2016


Hi, I am a researcher in a team that is working on build systems and we are
doing a case study on missing dependencies in the Qt 5.3.0 build system. I
know that Qt 5.3.0 is an old version but the case study is part of a paper
that has been under review for more than a year now.

We found two things that we cannot explain.. Could anyone confirm/clarify
to me whether these are bugs in the build system or features?

1. In the Makefile in qtbase/tests/auto/other/qaccessibilitylinux, the
target cache_adaptor.h has no dependencies on the header files (e.g.
Qtcore/QObject) that it uses. Hence, if those header files change,
cache_adaptor.h (and therefore cache_adaptor.cpp) are never rebuilt, which
will leave .obj/cache_adaptor.o outdated. Or am I overlooking something?


2. The target for .obj/qgrayraster.o in the Makefile in qtbase/src/gui has
a dependency on .pch/Qt5Gui.gch/c, but we noticed that during the build,
the .pch/Qt5Gui.gch/c++ file is also read. Is there a reason why gcc would
read the c++ file during the build? E.g. because c and c++ code is being
mixed? We do not observe similar behaviour (i.e., the c file being read by
g++) for targets that are compiled from .cpp files.

Thank you!

Cor-Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20161129/c01c5631/attachment.html>


More information about the Development mailing list