Provide the bundled zlib headers for external access
(Currently, the Qt5 windows packages lack the tiff and mng plugins
from qtimageformats because of this issue.)
If Qt is configured to use its bundled zlib, it is compiled into
QtCore, and the public symbols are exported so that it can be used
by other Qt libraries. However, after modularization, this did not
work for libraries outside qtbase, since they did not have access
to the headers of the bundled zlib.
This commit fixes that.
Ref. also 1f461ac45b
Change-Id: Ie986f47e00fd0c16f2ba04d27f4258a20d61b260
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
parent
d7ab351cdd
commit
ca35995c1b
@ -109,8 +109,15 @@ else:win32:SOURCES += tools/qelapsedtimer_win.cpp tools/qlocale_win.cpp
|
||||
else:integrity:SOURCES += tools/qelapsedtimer_unix.cpp tools/qlocale_unix.cpp
|
||||
else:SOURCES += tools/qelapsedtimer_generic.cpp
|
||||
|
||||
contains(QT_CONFIG, zlib):include($$PWD/../../3rdparty/zlib.pri)
|
||||
else:include($$PWD/../../3rdparty/zlib_dependency.pri)
|
||||
contains(QT_CONFIG, zlib) {
|
||||
include($$PWD/../../3rdparty/zlib.pri)
|
||||
corelib_zlib_headers.files = $$PWD/../../3rdparty/zlib/zconf.h\
|
||||
$$PWD/../../3rdparty/zlib/zlib.h
|
||||
corelib_zlib_headers.path = $$[QT_INSTALL_HEADERS]/QtZlib
|
||||
INSTALLS += corelib_zlib_headers
|
||||
} else {
|
||||
include($$PWD/../../3rdparty/zlib_dependency.pri)
|
||||
}
|
||||
|
||||
contains(QT_CONFIG,icu) {
|
||||
SOURCES += tools/qlocale_icu.cpp
|
||||
|
@ -160,6 +160,7 @@ QMAKE_EXTRA_TARGETS += freeze_target
|
||||
mod_component_base = $$dirname(_QMAKE_CACHE_)
|
||||
QMAKE_SYNCQT += -minimal -module QtCore -module QtDBus -module QtXml \
|
||||
-mkspecsdir $$[QT_HOST_DATA/get]/mkspecs -outdir $$mod_component_base $$dirname(_QMAKE_CONF_)
|
||||
contains(QT_CONFIG, zlib):QMAKE_SYNCQT += -module QtZlib
|
||||
!silent:message($$QMAKE_SYNCQT)
|
||||
system($$QMAKE_SYNCQT)|error("Failed to run: $$QMAKE_SYNCQT")
|
||||
}
|
||||
|
10
sync.profile
10
sync.profile
@ -14,6 +14,7 @@
|
||||
"KHR" => "$basedir/src/3rdparty/angle/include/KHR",
|
||||
"GLES2" => "$basedir/src/3rdparty/angle/include/GLES2",
|
||||
"EGL" => "$basedir/src/3rdparty/angle/include/EGL",
|
||||
"QtZlib" => "$basedir/src/3rdparty/zlib",
|
||||
);
|
||||
%moduleheaders = ( # restrict the module headers to those found in relative path
|
||||
);
|
||||
@ -71,9 +72,12 @@
|
||||
|
||||
@qpa_headers = ( qr/^qplatform/, qr/^qwindowsystem/ );
|
||||
my @angle_headers = ('egl.h', 'eglext.h', 'eglplatform.h', 'gl2.h', 'gl2ext.h', 'gl2platform.h', 'ShaderLang.h', 'khrplatform.h');
|
||||
@ignore_for_include_check = ( "qsystemdetection.h", "qcompilerdetection.h", "qprocessordetection.h", @angle_headers);
|
||||
@ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h", @angle_headers);
|
||||
@ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h", @angle_headers);
|
||||
my @internal_zlib_headers = ( "crc32.h", "deflate.h", "gzguts.h", "inffast.h", "inffixed.h", "inflate.h", "inftrees.h", "trees.h", "zutil.h" );
|
||||
my @zlib_headers = ( "zconf.h", "zlib.h" );
|
||||
@ignore_headers = ( @internal_zlib_headers );
|
||||
@ignore_for_include_check = ( "qsystemdetection.h", "qcompilerdetection.h", "qprocessordetection.h", @zlib_headers, @angle_headers);
|
||||
@ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h", @zlib_headers, @angle_headers);
|
||||
@ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h", @zlib_headers, @angle_headers);
|
||||
@ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtTest}", "$modules{QtDBus}" );
|
||||
%inject_headers = ( "$basedir/src/corelib/global" => [ "qconfig.h" ] );
|
||||
# Module dependencies.
|
||||
|
Loading…
Reference in New Issue
Block a user