Right now, we use the QT_DEFINES variable to help split a Qt module coming from a single tarball into multiple ports.
Part of the process is done with the qt-post-install target to use the definitions from QT_DEFINES to define some Qt macros in qconfig-<portname>.h, and cause qconfig-modules.h to include it.
Problems I can think of:
* We need to account for changes such as ports r448361, which dropped QT_DEFINES and QT_DIST. This stopped installing qconfig-webkit.h while not dropping the corresponding #include's from qconfig-modules.h.
* We end up with multiple duplicated includes in qconfig-modules.h.
* Knowing when to set QT_DEFINES and which values to pass is not intuitive and is mostly a manual process.
A commit references this bug:
Date: Sun Aug 27 14:06:06 UTC 2017
New revision: 448821
Ensure qconfig-modules.h does not include qconfig-webkit.h
r448361 updated Qt WebKit and dropped QT_DIST and QT_DEFINES, which led to
existing installations being upgraded to remove qconfig-webkit.h while not
removing the corresponding #include <QtCore/modules/qconfig-webkit.h> from
Consequently, any build that uses existing Qt5 ports (i.e. building a port
locally, or any project using Qt5) fails with errors like:
/usr/local/include/qt5/QtCore/qconfig-modules.h:8:10: fatal error:
'QtCore/modules/qconfig-webkit.h' file not found
Add a pkg-install that takes care of removing any offending lines from
Reviewed by: tcberner, Adriaan de Groot <email@example.com>
Forgotten to close?
Nope, this still needs to be done.
The commit in comment #1 was just addressing the immediate issue we had in qt5-webkit (it also reminds me a similar problem appeared in qt5-multimedia and was "fixed" differently in ports r458882).
Ok, thanks for reply.
This is now done elsewhere in the framework (Uses/qt.mk)