gnucash/make-gnucash-potfiles.in

53 lines
1.1 KiB
Plaintext
Raw Normal View History

#!@-PERL-@ -w
# -*- perl -*-
#
# This perl script is used to make po/POTFILES.in, the list
# of C files to be searched for translatable strings.
#
# Author: Dave Peticolas <dave@krondo.com>
use strict;
use File::Basename;
my @cvsignores = `find src -name '.cvsignore'`;
my @cfiles = `find src -name '*.c'`;
chomp(my $cwd = `pwd`);
my %ignores;
foreach my $one_ignore (@cvsignores) {
chomp($one_ignore);
my ($name, $path) = fileparse($one_ignore);
$path =~ s/^\.\///;
open (IG, $one_ignore);
chdir $path;
foreach my $fl (<IG>) {
chomp $fl;
next unless $fl;
my @matches = glob ($fl);
foreach my $match (@matches) {
chomp($match);
next unless $match;
$ignores{$path . $match} = 1;
}
}
close (IG);
chdir $cwd;
}
print "# List of files which containing translatable strings.\n";
print "# This file was generated by ../make-gnucash-potfiles.in.\n";
print "\n";
foreach my $cfile (@cfiles) {
chomp($cfile);
my ($name, $path) = fileparse($cfile);
$path =~ s/^\.\///;
next if $ignores{$path . $name};
print $path . $name . "\n";
}