blob: cc8d2be7669a68a3eb99d88ac65f449432be0325 (
plain)
- #!/usr/bin/perl
- # -n do not include custom_ scripts
- # -a build all file
- # -m do not generate missing files
- use FileHandle;
- $basedir = "../..";
- $bindir = "$basedir/bin/mozilla";
- $menufile = "menu.ini";
- foreach $item (@ARGV) {
- $item =~ s/-//g;
- $arg{$item} = 1;
- }
- open(FH, "LANGUAGE");
- $language = <FH>;
- close(FH);
- chomp $language;
- $language =~ s/\((.*)\)/$1/;
- $charset = $1;
- opendir DIR, "$bindir" or die "$!";
- @progfiles = grep { /\.pl/; !/(_|^\.)/ } readdir DIR;
- seekdir DIR, 0;
- @customfiles = grep /_/, readdir DIR;
- closedir DIR;
- # put customized files into @customfiles
- @customfiles = () if ($arg{n});
- if ($arg{n}) {
- @menufiles = ($menufile);
- } else {
- opendir DIR, "$basedir" or die "$!";
- @menufiles = grep { /.*?_$menufile$/ } readdir DIR;
- closedir DIR;
- unshift @menufiles, $menufile;
- }
- if (-f "all") {
- eval { require "all"; };
- %all = %{$self{texts}};
- %{$self{texts}} = ();
- } else {
- # build %all file from individual files
- foreach $file (@progfiles) {
- &scanfile("$bindir/$file");
- }
- }
-
- # remove the old missing file
- if (-f 'missing') {
- unlink "missing";
- }
-
- foreach $file (@progfiles) {
-
- %locale = ();
- %submit = ();
- %subrt = ();
- @missing = ();
- %missing = ();
-
- &scanfile("$bindir/$file");
- # scan custom_{module}.pl or {login}_{module}.pl files
- foreach $customfile (@customfiles) {
- if ($customfile =~ /_$file/) {
- if (-f "$bindir/$customfile") {
- &scanfile("$bindir/$customfile");
- }
- }
- }
-
- # if this is the menu.pl file
- if ($file eq 'menu.pl') {
- foreach $item (@menufiles) {
- &scanmenu("$basedir/$item");
- }
- }
-
- $file =~ s/\.pl//;
-
- if (-f "$file.missing") {
- eval { require "$file.missing"; };
- unlink "$file.missing";
- for (keys %$missing) {
|