bug-gv
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-gv] [PATCH] avoid make distcheck failing because of gv-i18n.h


From: Bernhard R. Link
Subject: [bug-gv] [PATCH] avoid make distcheck failing because of gv-i18n.h
Date: Sun, 13 Feb 2011 20:20:10 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

Make distcheck fails because a gv-i18n.h file is left over
after building and dist-cleaning.

To avoid this remove gv-i18n.h from BUILT_SOURCES (it does not
really make sense to add it to EXTRA_DIST and there), and make
sure it is not so easily rebuilt, but not looking at the nls/
directory timestamp but instead having a list of languages in
a nls/LANGUAGES file.
---
 gv/src/Makefile.am   |    6 +++---
 gv/src/gv-i18n.pl    |   31 ++++++++++++-------------------
 gv/src/nls/LANGUAGES |    6 ++++++
 3 files changed, 21 insertions(+), 22 deletions(-)
 create mode 100644 gv/src/nls/LANGUAGES

diff --git a/gv/src/Makefile.am b/gv/src/Makefile.am
index 9b6c370..cb63fcf 100644
--- a/gv/src/Makefile.am
+++ b/gv/src/Makefile.am
@@ -146,7 +146,7 @@ gv_SOURCES = Aaa.c \
              types.h \
              gv-update-userconfig.in
 
-BUILT_SOURCES = gv_spartan.h gv_widgetless.h gv_intern_res_unix.h gv_class.h 
gv-i18n.h
+BUILT_SOURCES = gv_spartan.h gv_widgetless.h gv_intern_res_unix.h gv_class.h
 
 
 # Additional rules for generating styles
@@ -211,8 +211,8 @@ gv_class.h : gv_class.ad
        @echo "creating gv_class.h"
        @sh $(srcdir)/ad2c gv_class.ad > gv_class.h
 
-gv-i18n.h: $(srcdir)/nls $(srcdir)/nls/*
-       perl $(srcdir)/gv-i18n.pl $(srcdir) > gv-i18n.h
+gv-i18n.h: $(srcdir)/nls/LANGUAGES $(srcdir)/nls/*.dat
+       perl $(srcdir)/gv-i18n.pl $(srcdir) > gv-i18n.h || { rm gv-i18n.h ; 
exit 1 ; }
 
 gv_class.ad : $(srcdir)/gv_font_res.dat $(srcdir)/gv_font_res-I18N_mb.dat 
$(srcdir)/gv_layout_res.dat gv_make_res.dat $(srcdir)/gv_misc_res.dat 
$(srcdir)/gv_user_res.dat gv_intern_res_unix.dat
        @echo "creating gv_class.ad"
diff --git a/gv/src/gv-i18n.pl b/gv/src/gv-i18n.pl
index ed6f36c..28358c4 100644
--- a/gv/src/gv-i18n.pl
+++ b/gv/src/gv-i18n.pl
@@ -3,42 +3,35 @@
 $src = ".";
 $src = $ARGV[0] if @ARGV == 1;
 
address@hidden = <$src/nls/*>;
+open(LANGUAGES, '<', "$src/nls/LANGUAGES");
+s!#.*!! for (@languages);
 
-s!^$src/nls/!!g for (@languages);
-
address@hidden = reverse sort @languages;
address@hidden = <LANGUAGES>;
 %lang2 = ();
 
-
 for $lang (@languages)
 {
-   next if $lang !~ m/((\.dat))$/;
+   chomp($lang);
+   next if $lang =~ m/ -> /;
+   next if $lang =~ m/^$/;
 
    $lang2 = $lang;
    $lang2 =~ s/[^a-zA-Z_0-9]/_/g;
-   print "static String gv_nls_${lang2} [] = {\n";
-   system "$src/ad2c $src/nls/$lang";
+   print "static String gv_nls_${lang2}_dat [] = {\n";
+   (system "$src/ad2c '$src/nls/$lang'.dat") == 0 or die "failed to process 
$src/nls/${lang}.dat" ;
    print "0};\n\n";
 }
 
 print "static String* getI18N(char* locale)\n{\n";
 for $lang (@languages)
 {
-   next if $lang !~ m/((\.dat)|(\.lnk))$/;
+   next if $lang =~ m/^$/;
 
    $lang2 = $lang;
-   if ($lang =~ /\.lnk$/ )
-   {
-      open($file, "<", "$src/nls/$lang") or die "Cannot read file $lang";
-      $lang2 = <$file>;
-      chomp $lang2;
-      close($lang);
-   }
+   $lang2 =~ s/^.* -> //g;
    $lang2 =~ s/[^a-zA-Z_0-9]/_/g;
    $lang3 = $lang;
-   $lang3 =~ s/\.lnk$//g;
-   $lang3 =~ s/\.dat$//g;
-   print "   if (!strcmp(locale, \"$lang3\")) return gv_nls_$lang2;\n";
+   $lang3 =~ s/ -> .*$//g;
+   print "   if (!strcmp(locale, \"$lang3\")) return gv_nls_${lang2}_dat;\n";
 }
 print "   return 0;\n}\n";
diff --git a/gv/src/nls/LANGUAGES b/gv/src/nls/LANGUAGES
new file mode 100644
index 0000000..b316b7e
--- /dev/null
+++ b/gv/src/nls/LANGUAGES
@@ -0,0 +1,6 @@
+noint:de
+ko_KR.UTF-8
+ja_JP.UTF-8
+it.UTF-8
+fr.UTF-8
+de.UTF-8
-- 
1.5.6.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]