From 95b2e051f96582a0303bcfa873149ea1a2e7d299 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 26 Apr 2012 13:18:10 +0200 Subject: move creation of module version header to qt_module_headers Change-Id: I650b495ec1789eb03b31d796f9f475ba01aab2d3 Reviewed-by: Joerg Bornemann --- bin/syncqt | 44 ---------------------------------- mkspecs/features/qt_module_headers.prf | 20 ++++++++++++++++ 2 files changed, 20 insertions(+), 44 deletions(-) diff --git a/bin/syncqt b/bin/syncqt index 0c1fb098b2..e72a4f1a58 100755 --- a/bin/syncqt +++ b/bin/syncqt @@ -104,7 +104,6 @@ my $create_private_headers = 1; my $module_fwd = ""; my $cache_module_fwd = 0; my $developer_build = 0; -my $no_module_version_header = 0; my $makefile_generator = ""; my @modules_to_sync ; $force_relative = 1 if ( -d "/System/Library/Frameworks" ); @@ -144,8 +143,6 @@ sub showUsage print " fwd includes\n"; print " -developer-build Point libraries and binaries to a common directory for\n"; print " easy development\n"; - print " -no-module-version-header\n"; - print " Don't create module version header file\n"; print " -generator Specify the makefile generator setting (e.g. 'UNIX')\n"; print " -help This help\n"; exit 0; @@ -656,9 +653,6 @@ while ( @ARGV ) { } elsif($arg eq "-developer-build") { $var = "developer_build"; $val = "yes"; - } elsif($arg eq "-no-module-version-header") { - $var = "no_module_version_header"; - $val = "yes"; } elsif($arg =~ /^-no-(.*)$/) { $var = $1; $val = "no"; @@ -778,8 +772,6 @@ while ( @ARGV ) { $developer_build = 1; } elsif ($var eq "makefile_generator") { $makefile_generator = $val; - } elsif ($var eq "no_module_version_header") { - $no_module_version_header = 1; } elsif ($var eq "output") { my $outdir = $val; if(checkRelative($outdir)) { @@ -823,9 +815,6 @@ foreach my $lib (@modules_to_sync) { #iteration info my $dir = $modules{$lib}; my $module_version = ""; - my $module_major_version = 0; - my $module_minor_version = 0; - my $module_patch_version = 0; if (-e "$modulepris{$lib}") { my $content = fileContents($modulepris{$lib}); @@ -836,13 +825,6 @@ foreach my $lib (@modules_to_sync) { chomp $module_version; $module_version =~ s/^\s*QT\..*\.VERSION\s*=\s*([^#]+).*$/$1/; $module_version =~ s/\s+$//; - my @versions = split(/\./, $module_version); - $module_major_version = int($versions[0]); - chomp $module_major_version; - $module_minor_version = int($versions[1]); - chomp $module_minor_version; - $module_patch_version = int($versions[2]); - chomp $module_patch_version; } } print "$lib: WARNING: Module\'s pri missing QT..VERSION variable! Private headers not versioned!\n" if (!$module_version); @@ -930,32 +912,6 @@ foreach my $lib (@modules_to_sync) { } } - # create the version header files for each module - unless ($no_module_version_header) { - my $modulepri = $modulepris{$lib}; - if (-e $modulepri) { - my $modulepriname = basename($modulepri); - my $moduleversionheader = "$modules{$lib}/" . lc($lib) . "version.h"; - $moduleversionheader =~ s,^$quoted_basedir,$out_basedir,; - my $modulehexstring = sprintf("0x%02X%02X%02X", $module_major_version, $module_minor_version, $module_patch_version); - open MODULE_VERSION_HEADER_FILE, ">$moduleversionheader" or die "Can't open $moduleversionheader for writing"; - print MODULE_VERSION_HEADER_FILE "/* This file was generated by syncqt with the info from sync.profile. */\n"; - print MODULE_VERSION_HEADER_FILE "#ifndef QT_". uc($lib) . "_VERSION_H\n"; - print MODULE_VERSION_HEADER_FILE "#define QT_". uc($lib) . "_VERSION_H\n"; - print MODULE_VERSION_HEADER_FILE "\n"; - print MODULE_VERSION_HEADER_FILE "#define " .uc($lib) . "_VERSION_STR \"" . $module_version . "\"\n"; - print MODULE_VERSION_HEADER_FILE "\n"; - print MODULE_VERSION_HEADER_FILE "#define " .uc($lib) . "_VERSION $modulehexstring\n", ; - print MODULE_VERSION_HEADER_FILE "\n"; - print MODULE_VERSION_HEADER_FILE "#endif // QT_". uc($lib) . "_VERSION_H\n"; - close MODULE_VERSION_HEADER_FILE; - basePrettify(\$moduleversionheader) if ($verbose_level < 2); - print "$lib: created version header $moduleversionheader\n" if($verbose_level); - } elsif ($modulepri) { - print "$lib: WARNING: Module\'s pri file '$modulepri' not found.\n$lib: Skipped creating module version header.\n"; - } - } - #create the new ones foreach my $current_dir (split(/;/, $dir)) { my @headers_paths = split(/;/, $pathtoheaders); diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index db697b1137..37146ff6ec 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -2,11 +2,31 @@ include($$MODULE_BASE_OUTDIR/include/$$TARGET/headers.pri, "", true) lctarget = $$lower($$TARGET) +uctarget = $$upper($$TARGET) +# Create module version header MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$) count(MODULE_VERSION_HEADER, 1) { MODULE_VERSION_HEADER = $$absolute_path($$MODULE_VERSION_HEADER, $$_PRO_FILE_PWD_) + !build_pass { + majorhexstr = $$format_number($$section(VERSION, ., 0, 0), width=2 zeropad obase=16) + minorhexstr = $$format_number($$section(VERSION, ., 1, 1), width=2 zeropad obase=16) + patchhexstr = $$format_number($$section(VERSION, ., 2, 2), width=2 zeropad obase=16) + modulehexstring = 0x$${majorhexstr}$${minorhexstr}$${patchhexstr} + MODULE_VERSION_HEADER_CONT = \ + "/* This file was generated by qmake with the info from $${_PRO_FILE_}. */" \ + "$${LITERAL_HASH}ifndef QT_$${uctarget}_VERSION_H" \ + "$${LITERAL_HASH}define QT_$${uctarget}_VERSION_H" \ + "" \ + "$${LITERAL_HASH}define $${uctarget}_VERSION_STR \"$$VERSION\"" \ + "" \ + "$${LITERAL_HASH}define $${uctarget}_VERSION $$modulehexstring" \ + "" \ + "$${LITERAL_HASH}endif // QT_$${uctarget}_VERSION_H" + write_file($$MODULE_VERSION_HEADER, MODULE_VERSION_HEADER_CONT)|error("Aborting.") + } + HEADERS += $$MODULE_VERSION_HEADER } -- cgit v1.2.3