guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] GNU Guile branch, master, updated. release_1-9-11-274-ge


From: Thien-Thi Nguyen
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-11-274-ge6d67f1
Date: Thu, 26 Aug 2010 17:28:20 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=e6d67f1e6913acb884dbacc48670d312e9880782

The branch, master has been updated
       via  e6d67f1e6913acb884dbacc48670d312e9880782 (commit)
      from  d5a1a8cd1bb143e052d6014c160a39665968ded5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e6d67f1e6913acb884dbacc48670d312e9880782
Author: Thien-Thi Nguyen <address@hidden>
Date:   Thu Aug 26 18:36:48 2010 +0200

    [build] Refine libguile/*.doc snarfing.
    
    * libguile/guile-snarf-docs.in: Rewrite to incorporate all
      three phases of snarfing: func-name check, cpp, tokenization.
      Also, require/check new command-line syntax.
    * libguile/Makefile.am (AM_V_FILTER): Delete var.
      (AM_V_FILTER_, AM_V_FILTER_0): Likewise.
      (.c.doc): Run ./guile-snarf-docs; use new command-line syntax.

-----------------------------------------------------------------------

Summary of changes:
 libguile/Makefile.am         |    6 +---
 libguile/guile-snarf-docs.in |   56 ++++++++++++++++++++++++++++++++++++-----
 2 files changed, 50 insertions(+), 12 deletions(-)

diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index d277227..d2f349b 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -648,14 +648,10 @@ snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) 
$(CFLAGS)
 
 SUFFIXES = .x .doc
 
-AM_V_FILTER = $(AM_V_FILTER_$(V))
-AM_V_FILTER_ = $(AM_V_FILTER_$(AM_DEFAULT_VERBOSITY))
-AM_V_FILTER_0 = @echo "  FILTER" $@;
-
 .c.x:
        $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts)
 .c.doc:
-       -$(AM_V_FILTER)$(AWK) -f $(srcdir)/guile-func-name-check $< && 
(./guile-snarf-docs $(snarfcppopts) $< | ./guile_filter_doc_snarfage$(EXEEXT) 
--filter-snarfage) > $@ || { rm $@; false; }
+       $(AM_V_SNARF)./guile-snarf-docs -o $@ $< -- $(snarfcppopts)
 
 $(DOT_X_FILES) $(EXTRA_DOT_X_FILES): scmconfig.h snarf.h guile-snarf.in 
version.h
 
diff --git a/libguile/guile-snarf-docs.in b/libguile/guile-snarf-docs.in
index 1e57f26..c33a5ec 100755
--- a/libguile/guile-snarf-docs.in
+++ b/libguile/guile-snarf-docs.in
@@ -1,26 +1,68 @@
 #!/bin/sh
-# Extract the doc stuff for builtin things.
+# guile-snarf-docs --- Extract the doc stuff for builtin things.
+##
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001,
+#   2006, 2010 Free Software Foundation, Inc.
 #
-#  Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2006 Free Software 
Foundation, Inc.
-# 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU Lesser General Public License as
 # published by the Free Software Foundation; either version 3, or (at
 # your option) any later version.
-# 
+#
 # This program 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
 # Lesser General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU Lesser General Public
 # License along with this software; see the file COPYING.LESSER.  If
 # not, write to the Free Software Foundation, Inc., 51 Franklin
 # Street, Fifth Floor, Boston, MA 02110-1301 USA
+##
+# Usage: guile-snarf-docs -o DOC SRC -- [CPPSNARFOPTS...]
+##
 
-bindir=`dirname $0`
+filter='./address@hidden@'
 
 ## Let the user override the preprocessor autoconf found.
 test -n "${CPP+set}" || CPP="@CPP@"
 
-${CPP} -DSCM_MAGIC_SNARF_DOCS "$@"
+## Likewise for AWK.
+test -n "${AWK+set}" || AWK="@AWK@"
+
+bummer ()
+{
+    echo 'Bad command-line' $1
+    exit 1
+}
+
+test "x$1" = x-o || bummer
+shift
+
+test "x$1" = x && bummer ': missing DOC'
+output="$1"
+temout="$output"T
+shift
+
+test "x$1" && test -r "$1" || bummer ': missing SRC'
+input="$1"
+shift
+
+test "x$1" = x-- || bummer
+shift
+
+# Before snarfing, do the function name check.
+${AWK} -f '@srcdir@/guile-func-name-check' "$input" || exit 1
+
+# Snarfing takes two steps: cpp and tokenization.
+# If cpp fails, don't bother with tokenization.
+if ${CPP} -DSCM_MAGIC_SNARF_DOCS "$@" "$input" > "$temout" ; then
+    $filter --filter-snarfage < "$temout" > "$output"
+    rv=0
+else
+    rv=1
+fi
+rm -f "$temout"
+exit $rv
+
+# guile-snarf-docs ends here


hooks/post-receive
-- 
GNU Guile



reply via email to

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