# HG changeset patch # User jwe # Date 1129274960 0 # Node ID 73a87a67725752764bff9529bf0b00d0c79981dd # Parent b2e882e8b68b449dd86387a044d6226eabb7b8c3 [project @ 2005-10-14 07:29:20 by jwe] diff -r b2e882e8b68b -r 73a87a677257 src/ChangeLog --- a/src/ChangeLog Thu Oct 13 17:51:19 2005 +0000 +++ b/src/ChangeLog Fri Oct 14 07:29:20 2005 +0000 @@ -1,3 +1,8 @@ +2005-10-14 John W. Eaton + + * mk-errno-list: New script. + * Makefile.in (oct-errno.cc): Use it. + 2005-10-13 John W. Eaton * DLD-FUNCTIONS/gplot.l (F__gnuplot_raw__): diff -r b2e882e8b68b -r 73a87a677257 src/Makefile.in --- a/src/Makefile.in Thu Oct 13 17:51:19 2005 +0000 +++ b/src/Makefile.in Fri Oct 14 07:29:20 2005 +0000 @@ -548,7 +548,9 @@ oct-errno.cc: oct-errno.cc.in ../Makeconf Makefile @echo "making $@ from $<" @if test -n "$(PERL)"; then \ - $(PERL) -e 'foreach $$key (keys(%!)) { $$x .= "#if defined ($$key)\n { \"$$key\", $$key, },\n#endif\n"; }; while (<>) { s/^ *\@SYSDEP_ERRNO_LIST\@/$$x/; print; }' $< > $@.t; \ + $(srcdir)/mk-errno-list --perl "$(PERL)" < $< > $@.t; + elif test -n "$(PYTHON)"; then \ + $(srcdir)/mk-errno-list --python "$(PYTHON)" < $< > $@.t; else \ $(SED) '/@SYSDEP_ERRNO_LIST@/D' $< > $@.t; \ fi diff -r b2e882e8b68b -r 73a87a677257 src/mk-errno-list --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/mk-errno-list Fri Oct 14 07:29:20 2005 +0000 @@ -0,0 +1,34 @@ +#! /bin/sh + +if [ $# -ne 2 ]; then + echo "usage: get-errno-list [--perl PERL|--python PYTHON]" 1>&2 + exit 1 +fi + +if [ $1 = "--perl" ]; then + PERL="$2"; + $PERL -e 'foreach $key (keys(%!)) { + $x .= "#if defined ($key)\n { \"$key\", $key, },\n#endif\n"; + } + while (<>) { + s/^ *\@SYSDEP_ERRNO_LIST\@/$ x/; + print; + }' + +elif [ $1 = "--python" ]; then + PYTHON="$2"; + $PYTHON -c ' +from errno import errorcode +from sys import stdin + +t = "#if defined (%s)\n { \"%s\", %s, },\n#endif\n" +errstr = "" +for k in errorcode.keys(): + errstr += t % tuple(3*[errorcode[k]]) + +for l in stdin: + print l.replace("@SYSDEP_ERRNO_LIST@", errstr), +' +fi + +exit $? diff -r b2e882e8b68b -r 73a87a677257 src/oct-errno.cc.in --- a/src/oct-errno.cc.in Thu Oct 13 17:51:19 2005 +0000 +++ b/src/oct-errno.cc.in Fri Oct 14 07:29:20 2005 +0000 @@ -271,7 +271,7 @@ // Others (duplicates are OK). - @SYSDEP_ERRNO_LIST@ +@SYSDEP_ERRNO_LIST@ { 0, 0, }, };