From 0b76b7ab8a37aa49a8aa7261f3e079bd8674ee47 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 4 Jun 2012 17:12:24 +0200 Subject: auto-generate module pris Change-Id: I654428771034221ccf424be34d5d9c7764daf3b4 Reviewed-by: Joerg Bornemann --- bin/syncqt | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'bin') diff --git a/bin/syncqt b/bin/syncqt index e72a4f1a58..30a870f195 100755 --- a/bin/syncqt +++ b/bin/syncqt @@ -811,12 +811,24 @@ my %allmoduleheadersprivate = map { $_ => 1 } @allmoduleheadersprivate; $isunix = checkUnix; #cache checkUnix +my $qt_version = fileContents($qtbasedir."/mkspecs/qconfig.pri"); +if (length($qt_version)) { + $qt_version =~ s,.*^QT_VERSION\h*=\h*(\S+).*,$1,sm; +} else { + $qt_version = fileContents($basedir."/src/corelib/global/qglobal.h"); + $qt_version =~ s,.*^#\h*define\h+QT_VERSION_STR\h+"([^"]+)".*,$1,sm; +} foreach my $lib (@modules_to_sync) { #iteration info my $dir = $modules{$lib}; - my $module_version = ""; - if (-e "$modulepris{$lib}") { + my $project = $dir; + $project =~ s,/([^/]+)$,/$1/$1.pro,; + my $module_version = fileContents($project); + $module_version = $qt_version unless ($module_version =~ s,.*^VERSION\h*=\h*(\S+).*,$1,sm); + + # Backwards compatibility for modules with checked in .pri files. + if (defined $modulepris{$lib} and -e "$modulepris{$lib}") { my $content = fileContents($modulepris{$lib}); my @version_rows = grep(/QT\..*\.VERSION/, split('\n', $content)); if(@version_rows) { @@ -827,7 +839,6 @@ foreach my $lib (@modules_to_sync) { $module_version =~ s/\s+$//; } } - print "$lib: WARNING: Module\'s pri missing QT..VERSION variable! Private headers not versioned!\n" if (!$module_version); my $pathtoheaders = ""; $pathtoheaders = $moduleheaders{$lib} if ($moduleheaders{$lib}); @@ -856,6 +867,7 @@ foreach my $lib (@modules_to_sync) { my $content = $mastercontent{$_}; $master_contents .= $content if ($content); } + last; #consecutive appearances are assumed to be private dependencies } } close(F); @@ -1011,17 +1023,9 @@ foreach my $lib (@modules_to_sync) { } } elsif ($create_private_headers && !$qpa_header) { - if ($module_version) { - @headers = ( "$out_basedir/include/$lib/$module_version/$lib/private/$header" ); - } else { - @headers = ( "$out_basedir/include/$lib/private/$header" ); - } + @headers = ( "$out_basedir/include/$lib/$module_version/$lib/private/$header" ); } elsif ($create_private_headers) { - if ($module_version) { - @headers = ( "$out_basedir/include/$lib/$module_version/$lib/qpa/$header" ); - } else { - @headers = ( "$out_basedir/include/$lib/qpa/$header" ); - } + @headers = ( "$out_basedir/include/$lib/$module_version/$lib/qpa/$header" ); } foreach(@headers) { #sync them @@ -1102,11 +1106,7 @@ foreach my $lib (@modules_to_sync) { my $header_path = "$out_basedir/include/$lib/"; unless ($public_header) { - if ($module_version) { - $header_path .= "$module_version/$lib/private/"; - } else { - $header_path .= "private/"; - } + $header_path .= "$module_version/$lib/private/"; } $header_path .= "$header"; -- cgit v1.2.3