#!@-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 @possible_files = `find src -name '*.c' -o -name '*.glade' -o -name '*.desktop.in' -o -name '*.keys.in'`;

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 $file (@possible_files) {
  chomp($file);
  my ($name, $path) = fileparse($file);
  $path =~ s/^\.\///;

  next if $ignores{$path . $name};

  print $path . $name . "\n";
}

print "intl-scm/guile-strings.c\n";
