Alexandre Julliard : transl: Also retrieve .mc sources from the makefile.
Alexandre Julliard
julliard at winehq.org
Fri Jul 3 11:27:22 CDT 2009
Module: tools
Branch: master
Commit: cd74b5cfc59d16788f3cc2424ffb34aeaae5c4f2
URL: http://source.winehq.org/git/tools.git/?a=commit;h=cd74b5cfc59d16788f3cc2424ffb34aeaae5c4f2
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Jul 3 18:07:01 2009 +0200
transl: Also retrieve .mc sources from the makefile.
---
transl/scripts/checkmakefile.pl | 45 +++++++++++++++++++++++++-------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/transl/scripts/checkmakefile.pl b/transl/scripts/checkmakefile.pl
index 0b98088..bdc9fcf 100755
--- a/transl/scripts/checkmakefile.pl
+++ b/transl/scripts/checkmakefile.pl
@@ -1,11 +1,15 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
# Helper script - analyze one Makefile, run wrc --verify-translation
# on resource files and call ver.pl to parse the results
+use strict;
use Cwd;
use File::Basename;
+# configuration parameters
+my (%CONFIG, $srcdir, $objdir, $toolsdir, $workdir, $scriptsdir, $wrc);
+
sub shell($)
{
my $cmd = shift;
@@ -29,13 +33,23 @@ sub mycheck
}
my @rcfiles;
+ my @srcs;
foreach my $f (@files)
{
next if $f =~ m/^\s*$/;
if ($f =~ m/version.rc$/) {
- print "--- Ignoring ".$files[$i]."\n" unless (exists $ENV{"NOVERBOSE"});
+ print "--- Ignoring $f\n" unless (exists $ENV{"NOVERBOSE"});
next;
}
+ if ($f =~ m/.mc$/)
+ {
+ $f .= ".rc";
+ push @srcs, "$objdir/$dir/$f";
+ }
+ else
+ {
+ push @srcs, "$srcdir/$dir/$f";
+ }
push @rcfiles, $f;
}
return unless @rcfiles;
@@ -50,7 +64,7 @@ sub mycheck
$norm_fn =~ s/[^a-zA-Z0-9]/-/g;
my $targets = join( " ", map { (my $ret = $_) =~ s/.rc$/.res/; $ret; } @rcfiles );
- my $srcs = join( " ", map { "$srcdir/$dir/$_"; } @rcfiles );
+ my $srcs = join( " ", @srcs );
my $objs = join( " ", map { (my $ret = "$objdir/$dir/$_") =~ s/.rc$/.res/; $ret; } @rcfiles );
shell "make -C $objdir/$dir -s $targets";
@@ -59,7 +73,7 @@ sub mycheck
if ("$dir" eq "dlls/kernel32") {
shell "$scriptsdir/ver.pl \"$dir\" \"$workdir\" nonlocale $scriptsdir <$workdir/ver.txt";
- print STDERR "*** $name [$defs] (locale run)\n";
+ print STDERR "*** $dir [$defs] (locale run)\n";
shell "$scriptsdir/ver.pl \"$dir\" \"$workdir\" locale $scriptsdir <$workdir/ver.txt";
} else {
shell "$scriptsdir/ver.pl \"$dir\" \"$workdir\" normal $scriptsdir <$workdir/ver.txt";
@@ -117,7 +131,7 @@ if ($srcdir eq "" || $wrc eq "/tools/wrc/wrc" || $workdir eq "")
die("Config entry for SOURCEROOT, WRCROOT or WORKDIR missing\n");
}
- at makefiles = @ARGV;
+my @makefiles = @ARGV;
if (!@makefiles)
{
@makefiles = split(/\s/,`find $srcdir/ -name Makefile.in -print`);
@@ -138,27 +152,26 @@ foreach my $makefile (@makefiles)
}
my $defs = "";
+ my @files = ();
open(MAKEFILE, "<$makefile") or die "cannot open $makefile";
while (<MAKEFILE>)
{
+ while (m/\\$/)
+ {
+ chop;
+ chop;
+ $_ .= <MAKEFILE>;
+ }
if (m/EXTRARCFLAGS\s*=\s*(.*)/)
{
$defs = $1;
last if ($defs =~ /res16/); # 16-bit resources not supported
}
- if (m/^RC_SRCS *=/)
+ if (m/^(MC|RC)_SRCS\s*=\s*(.*)$/)
{
- while (m/\\$/)
- {
- chop;
- chop;
- $_ .= <MAKEFILE>;
- }
- m/^RC_SRCS\s*=\s*(.*)$/;
- my @files = split(/\s+/, $1);
- &mycheck($path,$defs, at files);
- last;
+ push @files, split(/\s+/, $2);
}
}
close MAKEFILE;
+ &mycheck($path,$defs, at files) if @files;
}
More information about the wine-cvs
mailing list