| #!/usr/bin/env perl |
| # |
| # Copyright (C) 2006, 2021 Apple Inc. |
| # |
| # This library is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Library General Public |
| # License as published by the Free Software Foundation; either |
| # version 2 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Library General Public License for more details. |
| # |
| # You should have received a copy of the GNU Library General Public License |
| # along with this library; see the file COPYING.LIB. If not, write to |
| # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| # Boston, MA 02110-1301, USA. |
| # |
| |
| # Usage: preprocess-localized-strings.pl <header> <output> <input> ... |
| |
| use strict; |
| use warnings; |
| use FindBin; |
| use lib "$FindBin::Bin/bindings/scripts"; |
| |
| use Getopt::Long; |
| |
| my $defines; |
| my $preprocessor; |
| GetOptions('defines=s' => \$defines, |
| 'preprocessor=s' => \$preprocessor); |
| |
| my $out = $ARGV[0]; |
| shift; |
| |
| open OUT, ">", $out or die; |
| |
| for my $in (@ARGV) { |
| $in =~ /(\w+)\.txt$/ or $in =~ /(\w+)\.strings$/ or die; |
| |
| my $text; |
| require preprocessor; |
| $text = join('', applyPreprocessor($in, $defines, $preprocessor, "YES")); |
| |
| print OUT $text; |
| } |