summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-03-20 12:08:14 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-03-22 15:49:19 +0000
commit28e9867a3c3f6fe20c2e2d04fa295667f7ff1270 (patch)
tree04778f25e4be4c443b16a80648946e5a496d1b97
parent1d647a22f3924459ceff0d663eb1d7343fb54d2e (diff)
don't try to timestamp injected qvulkanfunctions.h
the target of the injected forwarding header doesn't exist at qmake time, as it is generated by an extra compiler, so the touch() calls in qt_module_headers.prf would fail. the error scenario described in ce942a226 is not applicable to gui/vulkan, as no bootstrapped modules are involved. therefore, we can just suppress the timestamping. Change-Id: I1c9b6fcdf3717069fdbb654e3cb5d73b199192f4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
-rwxr-xr-xbin/syncqt.pl7
-rw-r--r--mkspecs/features/qt_module_headers.prf7
-rw-r--r--sync.profile2
3 files changed, 10 insertions, 6 deletions
diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index 372aa2b331..d62ffcbc37 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -1004,13 +1004,16 @@ foreach my $lib (@modules_to_sync) {
@headers = grep(!/^qt[a-z0-9]+-config(_p)?\.h$/, @headers);
if (defined $inject_headers{$subdir}) {
foreach my $if (@{$inject_headers{$subdir}}) {
- @headers = grep(!/^\Q$if\E$/, @headers); #in case we configure'd previously
+ my $cif = $if;
+ $cif =~ s/^\^//;
+ @headers = grep(!/^\Q$cif\E$/, @headers); #in case we configure'd previously
push @headers, "*".$if;
}
}
my $header_dirname = "";
foreach my $header (@headers) {
my $shadow = ($header =~ s/^\*//);
+ my $no_stamp = $shadow && ($header =~ s/^\^//);
$header = 0 if ($header =~ /^ui_.*\.h$/);
foreach (@ignore_headers) {
$header = 0 if($header eq $_);
@@ -1106,7 +1109,7 @@ foreach my $lib (@modules_to_sync) {
$pri_install_pfiles.= "$pri_install_iheader ";;
}
$pri_injections .= fixPaths($iheader, "$out_basedir/include/$lib")
- .":".fixPaths($oheader, "$out_basedir/include/$lib")
+ .":".($no_stamp ? "^" : "").fixPaths($oheader, "$out_basedir/include/$lib")
.$injection." " if ($shadow);
}
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 5139a08ec5..06117a6bc2 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -119,18 +119,19 @@ exists($$OUT_PWD/qt$${MODULE}-config.h) {
for (injection, SYNCQT.INJECTIONS) {
injects = $$split(injection, :)
dst_hdr = $$absolute_path($$member(injects, 0), $$MODULE_INC_OUTDIR)
- fwd_hdr = $$member(injects, 1)
+ ofwd_hdr = $$member(injects, 1)
+ fwd_hdr = $$replace(ofwd_hdr, ^\\^, )
MAIN_FWD = $$MODULE_INC_OUTDIR/$$fwd_hdr
MAIN_FWD_CONT = '$${LITERAL_HASH}include "$$relative_path($$dst_hdr, $$dirname(MAIN_FWD))"'
write_file($$MAIN_FWD, MAIN_FWD_CONT)|error()
- touch($$MAIN_FWD, $$dst_hdr)
+ equals(fwd_hdr, ofwd_hdr): touch($$MAIN_FWD, $$dst_hdr)
!git_build: QMAKE_DISTCLEAN += $$MAIN_FWD
injects = $$member(injects, 2, -1)
for (inject, injects) {
CLASS_FWD = $$MODULE_INC_OUTDIR/$$inject
CLASS_FWD_CONT = '$${LITERAL_HASH}include "$$fwd_hdr"'
write_file($$CLASS_FWD, CLASS_FWD_CONT)|error()
- touch($$CLASS_FWD, $$dst_hdr)
+ touch($$CLASS_FWD, $$MAIN_FWD)
!git_build: QMAKE_DISTCLEAN += $$CLASS_FWD
}
}
diff --git a/sync.profile b/sync.profile
index 5c42a27708..8ef2a126b3 100644
--- a/sync.profile
+++ b/sync.profile
@@ -84,5 +84,5 @@ my @zlib_headers = ( "zconf.h", "zlib.h" );
@ignore_for_qt_begin_namespace_check = ( "qt_windows.h", @zlib_headers, @angle_headers);
%inject_headers = (
"$basedir/src/corelib/global" => [ "qconfig.h", "qconfig_p.h" ],
- "$basedir/src/gui/vulkan" => [ "qvulkanfunctions.h" ]
+ "$basedir/src/gui/vulkan" => [ "^qvulkanfunctions.h" ]
);