diff options
author | Thien-Thi Nguyen <ttn@gnuvola.org> | 2010-08-18 19:34:46 +0200 |
---|---|---|
committer | Thien-Thi Nguyen <ttn@gnuvola.org> | 2010-08-18 19:48:12 +0200 |
commit | 319b53dd1c177891990d7436fd89f987abe0d1bc (patch) | |
tree | 644fdb3cb4fb10ffa5e5ec9369ba42522845a71b | |
parent | b405cdb4c5ad31888a0a54b6fd98b466bf711a66 (diff) | |
download | guile-319b53dd1c177891990d7436fd89f987abe0d1bc.tar.gz |
[build] Fix sed portability bug: Don't use '\n' in sed script.
Regression introduced 2010-07-22, "[build] Overhaul
<errno.h>, <signal.h> cpp symbol extraction/checking".
See: <http://autobuild.josefsson.org/guile/log-201008181002653292000.txt>
* libguile/Makefile.am (.syms.c): Convert
one-liner sed script to while-read-echo loop.
-rw-r--r-- | libguile/Makefile.am | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libguile/Makefile.am b/libguile/Makefile.am index f12c11b56..fbc1efd04 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -721,10 +721,15 @@ MKDEP = gcc -M -MG $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) # #ifdef SYMBOL # scm_c_define ("SYMBOL", scm_from_int (SYMBOL)); # #endif -# writing output to foo.c. +# writing output to foo.c. We use a while-read loop instead of a +# one-line sed script because some seds (e.g., FreeBSD) don't read +# '\n' as a newline (like GNU sed does). Sad, but true. .syms.c: - sed 's/.*/#ifdef &\nscm_c_define ("&", scm_from_int (&));\n#endif/' \ - $< > $@T + cat $< | while read sym ; do \ + echo "#ifdef $$sym" ; \ + echo "scm_c_define (\"$$sym\", scm_from_int ($$sym));" ; \ + echo "#endif" ; \ + done > $@T mv $@T $@ # Write $(srcdir)/cpp-{E,SIG}.syms.NEW if there are any not-yet-seen |