summaryrefslogtreecommitdiff
path: root/libguile/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/Makefile.am')
-rw-r--r--libguile/Makefile.am47
1 files changed, 40 insertions, 7 deletions
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 53b51d728..6515b1515 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -49,7 +49,8 @@ bin_SCRIPTS = guile-snarf
EXTRA_DIST = gscm.c gscm.h ChangeLog-scm dynl-dl.c dynl-dld.c dynl-shl.c \
dynl-vms.c DYNAMIC-LINKING PLUGIN/REQ PLUGIN/guile.config \
-PLUGIN/guile.libs.in errnos_cnvt.awk errnos.default errnos_get.c
+PLUGIN/guile.libs.in cpp_signal.c cpp_errno.c cpp_err_signals \
+cpp_sig_symbols cpp_cnvt_awk
## FIXME: shouldn't directly generate file; instead generate temp file
## and "mv". Consider using timestamp file as well, to avoid
@@ -67,10 +68,42 @@ SUFFIXES = .x
## Add -MG to make the .x magic work with auto-dep code.
MKDEP = gcc -M -MG $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-errnos.list: $(srcdir)/errnos.default
- $(ERRNO_EXTRACT)
-
-errnos.c: errnos.list
- $(AWK) -f $(srcdir)/errnos_cnvt.awk < errnos.list > errnos.c
+cpp_err_symbols.c: cpp_err_symbols
+ $(AWK) -f $(srcdir)/cpp_cnvt.awk < $(srcdir)/cpp_err_symbols > \
+ cpp_err_symbols.c
-CLEANFILES=errnos.c errnos.list
+cpp_sig_symbols.c: cpp_sig_symbols
+ $(AWK) -f $(srcdir)/cpp_cnvt.awk < $(srcdir)/cpp_sig_symbols > \
+ cpp_sig_symbols.c
+
+## Create a new version of the cpp_sig_symbols file, including all SIGXXX
+## macros defined on this platform.
+check_signals:
+ gcc -undef -dM -E $(srcdir)/cpp_signal.c | egrep ' SIG[A-Z]+' \
+ | cut -f2 -d' ' | sort > cpp_sig_symbols_here
+ diff -u $(srcdir)/cpp_sig_symbols cpp_sig_symbols_here | egrep '^\+S' \
+ | cut -c2- > cpp_sig_symbols_diff
+ if test -s cpp_sig_symbols_diff ; then \
+ cat $(srcdir)/cpp_sig_symbols cpp_sig_symbols_diff \
+ | sort > cpp_sig_symbols_new ;\
+ echo "cpp_sig_symbols_new has the following additions:" ;\
+ cat cpp_sig_symbols_diff ;\
+ else echo "No new symbols found."; \
+ fi
+
+## Likewise for cpp_err_symbols.
+check_errnos:
+ gcc -undef -dM -E $(srcdir)/cpp_errno.c | egrep ' E.+' \
+ | cut -f2 -d' ' | sort > cpp_err_symbols_here
+ diff -u $(srcdir)/cpp_err_symbols cpp_err_symbols_here | egrep '^\+E' \
+ | cut -c2- > cpp_err_symbols_diff
+ if test -s cpp_err_symbols_diff ; then \
+ cat $(srcdir)/cpp_err_symbols cpp_err_symbols_diff \
+ | sort > cpp_err_symbols_new ;\
+ echo "cpp_err_symbols_new has the following additions:" ;\
+ cat cpp_err_symbols_diff ;\
+ else echo "No new symbols found."; \
+ fi
+
+CLEANFILES=cpp_err_symbols_here cpp_err_symbols_diff cpp_err_symbols_new \
+ cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new