#!@-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 use strict; use File::Basename; my @possible_files = `find src -name '*.c' -o -name '*.glade' -o -name '*.desktop.in' -o -name '*.keys.in' |sort`; ## For perl files add the following: # -o -name '*.pl' chomp(my $cwd = `pwd`); # Since we don't have any cvsignore files anymore, add patterns here # that will emulate the old behaviour. Note: These are perl regexp # patterns, *not* normal shell wildcards! my @ignorepatterns = ('gw-', 'test', 'experimental'); my %ignores; ## Unfortunately this won't work anymore since we don't have .cvsignore ## files anymore. # my @cvsignores = `find src -name '.cvsignore'`; # 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 () { # 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 $file (@possible_files) { chomp($file); my ($name, $path) = fileparse($file); $path =~ s/^\.\///; foreach my $one_ignore (@ignorepatterns) { chomp($one_ignore); next unless $one_ignore; if ($name =~ m/$one_ignore/) { $ignores{$path . $name} = 1; #print "not $name\n"; } if ($path =~ m/$one_ignore/) { $ignores{$path . $name} = 1; #print "not $name\n"; } } next if $ignores{$path . $name}; # Ignore unreadable files, e.g. dangling symlinks next unless (-r $path . $name); print $path . $name . "\n"; } # These are additionally added in any case print "lib/libqof/backend/file/qsf-backend.c\n"; print "intl-scm/guile-strings.c\n"; print "doc/tip_of_the_day.list.in\n"