move creation of module version header to qt_module_headers

Change-Id: I650b495ec1789eb03b31d796f9f475ba01aab2d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
bb10
Oswald Buddenhagen 2012-04-26 13:18:10 +02:00
parent e0839abbb4
commit 95b2e051f9
2 changed files with 20 additions and 44 deletions

View File

@ -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 <PATH> 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.<module>.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);

View File

@ -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
}