summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-11-10 18:40:04 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-11-17 20:22:17 +0000
commitded63fbb94088c3b0fbbf9d3b3a421b2b934ab50 (patch)
tree3b54afc34def97c796b4a40a8383fb2f356be8f7
parent3d3b4129cd197e9cb77cd59460749a38e91b087f (diff)
make a proper header-only module for QtZlib
that way other modules can use the headers without hacks. this required making the base directory for paths in headers.pri configurable in syncqt. Change-Id: Id35cfe05bcf4c576d3f2d0d8d09590a5e23d21d3 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
-rwxr-xr-xbin/syncqt.pl1
-rw-r--r--mkspecs/features/qt_module_headers.prf5
-rw-r--r--src/corelib/qtzlib.pro7
-rw-r--r--src/corelib/tools/tools.pri4
-rw-r--r--src/src.pro4
-rw-r--r--src/tools/bootstrap/bootstrap.pro5
-rw-r--r--sync.profile2
7 files changed, 17 insertions, 11 deletions
diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index ff539f5fe0..83e8350f81 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -812,6 +812,7 @@ foreach my $lib (@modules_to_sync) {
my $is_qt = !($module =~ s/^!//);
my @dirs = split(/;/, $module);
my $dir = $dirs[0];
+ shift @dirs if ($dir =~ s/^>//);
my $pathtoheaders = "";
$pathtoheaders = $moduleheaders{$lib} if ($moduleheaders{$lib});
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 3f2383c120..78a1e38bb0 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -38,6 +38,9 @@ git_build: \
else: \
INC_PATH = $$MODULE_BASE_INDIR
include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
+CONFIG += qt_install_headers
+
+alien_syncqt: return()
for (injection, SYNCQT.INJECTIONS) {
injects = $$split(injection, :)
@@ -82,8 +85,6 @@ SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
isEmpty(PRECOMPILED_HEADER): PRECOMPILED_HEADER = $$MODULE_MASTER_DEPS_HEADER
}
-CONFIG += qt_install_headers
-
headersclean:!internal_module {
# Make sure that the header compiles with our strict options
hcleanDEFS = -DQT_NO_CAST_TO_ASCII=1 \
diff --git a/src/corelib/qtzlib.pro b/src/corelib/qtzlib.pro
new file mode 100644
index 0000000000..744750fbbe
--- /dev/null
+++ b/src/corelib/qtzlib.pro
@@ -0,0 +1,7 @@
+TARGET = QtZlib
+MODULE = zlib
+MAKEFILE = Makefile.qtzlib
+CONFIG += internal_module header_module alien_syncqt
+QT =
+
+load(qt_module)
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index c43fd761d8..ed07f70e87 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -155,10 +155,6 @@ else:SOURCES += tools/qelapsedtimer_generic.cpp
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)
}
diff --git a/src/src.pro b/src/src.pro
index a970391382..df5c85fa53 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -2,6 +2,9 @@ TEMPLATE = subdirs
load(qfeatures)
+src_qtzlib.file = $$PWD/corelib/qtzlib.pro
+src_qtzlib.target = sub-zlib
+
src_tools_bootstrap.subdir = tools/bootstrap
src_tools_bootstrap.target = sub-bootstrap
src_tools_bootstrap.CONFIG = host_build
@@ -125,6 +128,7 @@ src_plugins.depends = src_sql src_xml src_network
src_android.subdir = $$PWD/android
# this order is important
+contains(QT_CONFIG, zlib)|cross_compile: SUBDIRS += src_qtzlib
SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc
!contains(QT_DISABLED_FEATURES, regularexpression):pcre {
SUBDIRS += src_3rdparty_pcre
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index b6b16dcd3d..ca05f804a2 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -39,10 +39,7 @@ MODULE_PRIVATE_INCLUDES = \
# We need the forwarding headers before their respective modules are built,
# so do a minimal syncqt run.
CONFIG += minimal_syncqt
-QMAKE_SYNCQT_OPTIONS = -module QtCore -module QtDBus -module QtXml
-contains(QT_CONFIG, zlib): \
- QMAKE_SYNCQT_OPTIONS += -module QtZlib
-QMAKE_SYNCQT_OPTIONS += -version $$QT_VERSION
+QMAKE_SYNCQT_OPTIONS = -module QtCore -module QtDBus -module QtXml -version $$QT_VERSION
load(qt_module)
diff --git a/sync.profile b/sync.profile
index 1700d94fff..bba0ff2b2f 100644
--- a/sync.profile
+++ b/sync.profile
@@ -16,7 +16,7 @@
"QtANGLE/GLES2" => "!$basedir/src/3rdparty/angle/include/GLES2",
"QtANGLE/GLES3" => "!$basedir/src/3rdparty/angle/include/GLES3",
"QtANGLE/EGL" => "!$basedir/src/3rdparty/angle/include/EGL",
- "QtZlib" => "!$basedir/src/3rdparty/zlib",
+ "QtZlib" => "!>$basedir/src/corelib;$basedir/src/3rdparty/zlib",
"QtOpenGLExtensions" => "$basedir/src/openglextensions",
);
%moduleheaders = ( # restrict the module headers to those found in relative path