maint: factor trap-related code out of two syntax-check rules
authorJim Meyering <meyering@redhat.com>
Mon, 3 May 2010 13:35:56 +0000 (15:35 +0200)
committerJim Meyering <meyering@redhat.com>
Mon, 3 May 2010 13:49:38 +0000 (15:49 +0200)
* cfg.mk (gl_trap_): Define, using a loop and eval'd trap,
rather than repeated "trap" uses.  Also handle "13", SIGPIPE.
(sc_always_defined_macros): Use it.
(sc_system_h_headers): Likewise.

cfg.mk

diff --git a/cfg.mk b/cfg.mk
index 3bdf28c..679ea8e 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -135,13 +135,18 @@ gl_extract_significant_defines_ = \
          > $@-t
        @mv $@-t $@
 
+define gl_trap_
+  Exit () { set +e; (exit $$1); exit $$1; };                           \
+  for sig in 1 2 3 13 15; do                                           \
+    eval "trap 'Exit $$(expr $$sig + 128)' $$sig";                     \
+  done
+endef
+
 # Don't define macros that we already get from gnulib header files.
 sc_always_defined_macros: .re-defmac
        @if test -d $(gnulib_dir); then                                 \
          trap 'rc=$$?; rm -f .re-defmac; exit $$rc' 0;                 \
-         am__exit='(exit $rc); exit $rc';                              \
-         trap "rc=129; $$am__exit" 1; trap "rc=130; $$am__exit" 2;     \
-         trap "rc=131; $$am__exit" 3; trap "rc=143; $$am__exit" 15;    \
+         $(gl_trap_);                                                  \
          grep -f .re-defmac $$($(VC_LIST_EXCEPT))                      \
            && { echo '$(ME): define the above via some gnulib .h file' \
                  1>&2;  exit 1; } || :;                                \
@@ -161,9 +166,7 @@ sc_always_defined_macros: .re-defmac
 sc_system_h_headers: .re-list
        @if test -f $(srcdir)/src/system.h; then                        \
          trap 'rc=$$?; rm -f .re-list; exit $$rc' 0;                   \
-         am__exit='(exit $rc); exit $rc';                              \
-         trap "rc=129; $$am__exit" 1; trap "rc=130; $$am__exit" 2;     \
-         trap "rc=131; $$am__exit" 3; trap "rc=143; $$am__exit" 15;    \
+         $(gl_trap_);                                                  \
          grep -nE -f .re-list                                          \
              $$($(VC_LIST_EXCEPT) | grep '^src/')                      \
            && { echo '$(ME): the above are already included via system.h'\