diff options
Diffstat (limited to 'bin/syncqt')
-rwxr-xr-x | bin/syncqt | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/bin/syncqt b/bin/syncqt index 2523959032..3fd9316637 100755 --- a/bin/syncqt +++ b/bin/syncqt @@ -69,7 +69,7 @@ $qtbasedir = dirname(dirname($0)) if (!$qtbasedir); $qtbasedir =~ s=\\=/=g if (defined $qtbasedir); # will be defined based on the modules sync.profile -our (%modules, %moduleheaders, @allmoduleheadersprivate, %classnames, %mastercontent, %modulepris); +our (%modules, %moduleheaders, @allmoduleheadersprivate, %classnames, %mastercontent, %modulepris, %explicitheaders); # global variables (modified by options) my $isunix = 0; @@ -1057,14 +1057,24 @@ foreach my $lib (@modules_to_sync) { # if ($class =~ m/::/) { # class =~ s,::,/,g; # } - $class_lib_map_contents .= "QT_CLASS_LIB($full_class, $lib, $header_base)\n"; - $header_copies++ if(syncHeader($lib, "$out_basedir/include/$lib/$class", "$out_basedir/include/$lib/$header", 0, $ts)); + + if (defined $explicitheaders{$lib}{$class}) { + $header_copies++ if(syncHeader($lib, "$out_basedir/include/$lib/$class", "$out_basedir/include/$lib/$explicitheaders{$lib}{$class}", 0, $ts)); + } else { + $class_lib_map_contents .= "QT_CLASS_LIB($full_class, $lib, $header_base)\n"; + $header_copies++ if(syncHeader($lib, "$out_basedir/include/$lib/$class", "$out_basedir/include/$lib/$header", 0, $ts)); + } # KDE-Compat headers for Phonon if ($lib eq "phonon") { $header_copies++ if (syncHeader($lib, "$out_basedir/include/phonon_compat/Phonon/$class", "$out_basedir/include/$lib/$header", 0, $ts)); } } + + if ($explicitheaders{$lib}{basename($header)}) { + $header_copies++ if(syncHeader($lib, "$out_basedir/include/$lib/$explicitheaders{$lib}{basename($header)}", "$out_basedir/include/$lib/$header", 0, $ts)); + } + } elsif ($create_private_headers) { if ($module_version) { @headers = ( "$out_basedir/include/$lib/$module_version/$lib/private/$header" ); @@ -1094,6 +1104,10 @@ foreach my $lib (@modules_to_sync) { $pri_install_classes .= $class_header unless($pri_install_classes =~ $class_header); } + if ($explicitheaders{$lib}{basename($iheader)}) { + my $compat_header = fixPaths("$out_basedir/include/$lib/$explicitheaders{$lib}{basename($iheader)}", $current_dir) . " "; + $pri_install_files .= $compat_header unless($pri_install_files =~ $compat_header); + } $pri_install_files.= "$pri_install_iheader ";; } } |