r3918 - in trunk: . po shell slowtests slowtests/audio slowtests/filecheck tests



Author: timj
Date: 2006-09-28 14:04:37 -0400 (Thu, 28 Sep 2006)
New Revision: 3918

Modified:
   trunk/ChangeLog
   trunk/Makefile.decl
   trunk/autogen.sh
   trunk/intltool-extract.in
   trunk/po/Makefile.intltool
   trunk/po/intltool-scm-35.diff
   trunk/shell/Makefile.am
   trunk/slowtests/Makefile.am
   trunk/slowtests/audio/Makefile.am
   trunk/slowtests/filecheck/Makefile.am
   trunk/tests/Makefile.am
Log:
Thu Sep 28 19:52:02 2006  Tim Janik  <timj gtk org>                                                                                                           
                                                                                                                                                              
        * Makefile.decl: added recursive slowcheck: rule, intended for checks                                                                                 
        that take too long for an ordinary make check. added check-before: and                                                                                
        check-after: aliases for check-am and check-local. fixed all Makefiles                                                                                
        to use check-before: and check-after: where appropriate.                                                                                              
                                                                                                                                                              
        * intltool-extract.in: patched to support multiline scheme strings.                                                                                   
                                                                                                                                                              
        * po/Makefile.intltool: added dummy slowcheck: rule.                                                                                                  
                                                                                                                                                              
        * po/intltool-scm-35.diff: updates.                                                                                                                   
                                                                                                                                                              


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/ChangeLog	2006-09-28 18:04:37 UTC (rev 3918)
@@ -1,3 +1,16 @@
+Thu Sep 28 19:52:02 2006  Tim Janik  <timj gtk org>
+
+	* Makefile.decl: added recursive slowcheck: rule, intended for checks
+	that take too long for an ordinary make check. added check-before: and
+	check-after: aliases for check-am and check-local. fixed all Makefiles
+	to use check-before: and check-after: where appropriate.
+
+	* intltool-extract.in: patched to support multiline scheme strings.
+
+	* po/Makefile.intltool: added dummy slowcheck: rule.
+
+	* po/intltool-scm-35.diff: updates.
+
 Thu Sep 28 19:35:04 2006  Tim Janik  <timj gtk org>
 
 	* autogen.sh: skip checking and running intltool.

Modified: trunk/Makefile.decl
===================================================================
--- trunk/Makefile.decl	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/Makefile.decl	2006-09-28 18:04:37 UTC (rev 3918)
@@ -18,8 +18,8 @@
 AM_CXXFLAGS = -D_BIRNET_SOURCE_EXTENSIONS
 
 # === distfile-list ===
-# recursive rule supported by all Makefiles to generate a list of all
-# files listed as DISTFILES.
+# recursive rule supported by all Makefiles to generate a list of all files
+# listed as DISTFILES. this asserts a writable file named $DISTFILE_LIST.
 .PHONY: distfile-list
 distfile-list:
 	@if test ! -f "$(DISTFILE_LIST)" ; then				\
@@ -35,3 +35,18 @@
 	  test -e "$$file" &&					\
 	    echo "$(subdir)/$$file" >> $(DISTFILE_LIST) ;	\
 	done ; true
+
+# === slowcheck ===
+# recursive rule supported by all Makefiles to run time consuming checks
+.PHONY: slowcheck slowcheck-recursive
+slowcheck: slowcheck-recursive
+slowcheck-recursive:
+	@for subdir in $(SUBDIRS) ; do				\
+	  test "$$subdir" = '.' ||				\
+	    $(MAKE) -C "$$subdir" $(AM_MAKEFLAGS) slowcheck ||	\
+	    exit 1 ;						\
+	done
+.PHONY: check-before check-after
+check-am: check-before
+check-local: check-after
+check-local:

Modified: trunk/autogen.sh
===================================================================
--- trunk/autogen.sh	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/autogen.sh	2006-09-28 18:04:37 UTC (rev 3918)
@@ -159,7 +159,7 @@
 echo "Providing our own patched intltool..."
 # echo "Running: intltoolize"
 # intltoolize --force --copy || exit $?
-# echo "Patching intltool for SCM, LINGUAS and custom rules"
+# echo "Patching intltool for SCM and custom Makefile rules"
 # patch -p0 -b <po/intltool-scm-35.diff || exit $?
 echo "Overriding gettext po/Makefile.in.in with intltool version"
 rm -f po/Makefile.in.in && cp -v po/Makefile.intltool po/Makefile.in.in || exit $?

Modified: trunk/intltool-extract.in
===================================================================
--- trunk/intltool-extract.in	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/intltool-extract.in	2006-09-28 18:04:37 UTC (rev 3918)
@@ -185,11 +185,13 @@
 sub extract {
     &determine_type;
 
-    &convert;
-
     open OUT, ">$OUTFILE";
     binmode (OUT) if $^O eq 'MSWin32';
-    &msg_write;
+
+    my $need_msg_write;
+    $need_msg_write = convert();
+    &msg_write if $need_msg_write;
+
     close OUT;
 
     print "Wrote $OUTFILE\n" unless $QUIET_ARG;
@@ -205,6 +207,11 @@
 	$input = <IN>;
     }
 
+    if ($gettext_type eq "scm-funcs") {
+      &transform_scm_funcs;
+      return 0; # no need for msg_write()
+    }
+    
     &type_ini if $gettext_type eq "ini";
     &type_keys if $gettext_type eq "keys";
     &type_xml if $gettext_type eq "xml";
@@ -212,6 +219,7 @@
     &type_scheme if $gettext_type eq "scheme";
     &type_schemas  if $gettext_type eq "schemas";
     &type_rfc822deb  if $gettext_type eq "rfc822deb";
+    return 1; # need msg_write()
 }
 
 sub entity_decode_minimal
@@ -786,6 +794,56 @@
     }
 }
 
+sub transform_scm_funcs {
+  my $scheme_subident = "abcdefghijklmnopqrstuvwxyz"."ABCDEFGHIJKLMNOPQRSTUVWXYZ".'!$%&*/:<=>?^_~'."0123456789".'+-.@';
+  my $state = 0;
+  my $letter = "";
+  for (my $i = 0; $i < length($input); $i++) {
+    my $char = substr($input,$i,1);
+    # here, we process the input char by char
+    # print $char;
+    # we use a simple state machine, states:
+    # 0 - normal state
+    # 1 - in string
+    # 2 - in backslash escape within string
+    # 3 - in comment
+    # 4 - in scheme expresssion after i18n letter
+    # 5 - maybe reading gettext identifier
+    # 6 - in scheme expresssion
+    if      ($state == 0) { # normal reading
+      $letter = "";
+      if    ($char eq "'")  { print OUT "&";	 	$state = 0; }
+      elsif ($char eq "#")  { print OUT "&";	 	$state = 0; }
+      elsif ($char eq '"')  { print OUT $char;	 	$state = 1; }
+      elsif ($char eq ";")  { print OUT '/*';	 	$state = 3; }
+      elsif ($char eq "(")  {                  	 	$state = 6; }
+      else                  { print OUT $char; }
+    } elsif ($state == 1) { # in string
+      if    ($char eq '"')  { print OUT $char;   	$state = 0; }
+      elsif ($char eq '\\') { print OUT $char;    	$state = 2; }
+      else                  { print OUT $char; }
+    } elsif ($state == 2) { # backslash escape
+      if    (1)             { print OUT $char;    	$state = 1; }
+    } elsif ($state == 3) { # comment
+      if    ($char eq "\n") { print OUT "*/\n";   	$state = 0; }
+      else                  { print OUT $char; }
+    } elsif ($state == 4) { # expression, consumed i18n letter, unprinted: '(?'
+      if    ($char eq "_")  {                  	 	$state = 5; }
+      else                  { print OUT "($letter";	$state = 0; $i -= 1; }
+    } elsif ($state == 5) { # maybe gettext, unprinted: '(_' or '(?_'
+      if    (index ($scheme_subident, $char) > -1)
+                            { print OUT "($letter"."_"; $state = 0; $i -= 1; }
+      else 		    { print OUT "$letter"."_(";	$state = 0; $i -= 1; }
+    } elsif ($state == 6) { # expression, unprinted: '('
+      if    ($char eq "_")  {                  	 	$state = 5; }
+      elsif ($char eq "N")  { $letter = "N";   	 	$state = 4; }
+      elsif ($char eq "Q")  { $letter = "Q";   	 	$state = 4; }
+      elsif ($char eq "U")  { $letter = "U";   	 	$state = 4; }
+      else                  { print OUT "(";      	$state = 0; $i -= 1; }
+    }
+  }
+}
+
 sub msg_write {
     my @msgids;
     if (%count)

Modified: trunk/po/Makefile.intltool
===================================================================
--- trunk/po/Makefile.intltool	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/po/Makefile.intltool	2006-09-28 18:04:37 UTC (rev 3918)
@@ -205,6 +205,9 @@
 	  fi; \
 	done
 
+distfile-list:
+slowcheck:
+
 Makefile POTFILES: stamp-it
 	@if test ! -f $@; then \
 	  rm -f stamp-it; \

Modified: trunk/po/intltool-scm-35.diff
===================================================================
--- trunk/po/intltool-scm-35.diff	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/po/intltool-scm-35.diff	2006-09-28 18:04:37 UTC (rev 3918)
@@ -1,12 +1,12 @@
---- po/Makefile.in.in.orig	2006-09-28 13:10:28.000000000 +0200
-+++ po/Makefile.in.in	2006-09-28 13:12:51.000000000 +0200
+--- po/Makefile.intltool.orig	2006-09-28 13:10:28.000000000 +0200
++++ po/Makefile.intltool	2006-09-28 13:12:51.000000000 +0200
 @@ -205,6 +205,9 @@ update-po: Makefile
  	  fi; \
  	done
  
 +distfile-list:
++slowcheck:
 +
-+
  Makefile POTFILES: stamp-it
  	@if test ! -f $@; then \
  	  rm -f stamp-it; \

Modified: trunk/shell/Makefile.am
===================================================================
--- trunk/shell/Makefile.am	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/shell/Makefile.am	2006-09-28 18:04:37 UTC (rev 3918)
@@ -50,7 +50,7 @@
 # many tests require a working bsescm. but the shell will only
 # operate correctly after proper installation. so this rule
 # ensures proper initialization upon make check.
-check-am: check-installation
+check-before: check-installation
 .PHONY: check-installation
 check-installation:
 	@for p in $(bin_PROGRAMS) ; do					\

Modified: trunk/slowtests/Makefile.am
===================================================================
--- trunk/slowtests/Makefile.am	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/slowtests/Makefile.am	2006-09-28 18:04:37 UTC (rev 3918)
@@ -56,8 +56,7 @@
 noinst_PROGRAMS += testresampler
 testresampler_SOURCES = testresampler.cc
 testresampler_LDADD = $(progs_ldadd)
-check-am: resampler-checks # runs resampler tests before ordinare checks
-#check-local: resampler-checks # runs resampler tests after ordinare checks
+check-before: resampler-checks
 resampler-checks:
 	: ## test SSE filter implementation
 	./testresampler filter-impl

Modified: trunk/slowtests/audio/Makefile.am
===================================================================
--- trunk/slowtests/audio/Makefile.am	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/slowtests/audio/Makefile.am	2006-09-28 18:04:37 UTC (rev 3918)
@@ -19,8 +19,7 @@
 
 # === run tests upon make check ===
 FEATURE_TESTS = 
-check-am: check-feature-tests # run test rules *before* ordinary tests
-# check-local: check-feature-tests # run test rules *after* ordinary tests
+check-before: check-feature-tests
 .PHONY: check-feature-tests $(FEATURE_TESTS)
 FEATURE_TESTS_MSG = "All $(words $(FEATURE_TESTS)) audio tests passed"
 check-feature-tests: # $(FEATURE_TESTS)

Modified: trunk/slowtests/filecheck/Makefile.am
===================================================================
--- trunk/slowtests/filecheck/Makefile.am	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/slowtests/filecheck/Makefile.am	2006-09-28 18:04:37 UTC (rev 3918)
@@ -55,7 +55,7 @@
 	@echo "All BSE files passed loading test"
 	@echo "================================="
 CLEANFILES += distfiles.list warnings.tmp
-check-local: bse-version-check bse-loading-check # run after ordinary tests
+check-after: bse-version-check bse-loading-check
 plugin_globs = '$(top_builddir)/plugins/.libs/*.so:$(top_builddir)/plugins/freeverb/.libs/*.so'
 EXTRA_DIST += checkproject.scm
 BSESCM = $(strip								\

Modified: trunk/tests/Makefile.am
===================================================================
--- trunk/tests/Makefile.am	2006-09-28 17:46:36 UTC (rev 3917)
+++ trunk/tests/Makefile.am	2006-09-28 18:04:37 UTC (rev 3918)
@@ -17,7 +17,7 @@
 # 
 # check for the presence of i18n strings extracted from .scm files.
 # this test should be in po/Makefile.am if we had that.
-check-local: check-scm-strings
+check-after: check-scm-strings
 .PHONY: check-scm-strings
 check-scm-strings:
 	@for lang in $(ALL_LINGUAS) ; do			\




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