# HG changeset patch # User Jim Meyering # Date 995210058 0 # Node ID d164b15652a4b71163d59f93719e194110b16417 # Parent 0be2383e4713f2daee38c207485b5a6ad55c187c (EXTRA_DIST): Add unlocked-io.hin. (BUILT_SOURCES): Add unlocked-io.h. (io_functions): Define. (unlocked-io.h): New rule. diff --git a/lib/Makefile.am b/lib/Makefile.am --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -91,11 +91,11 @@ libfetish_a_DEPENDENCIES = $(libfetish_a_LIBADD) -BUILT_SOURCES = getdate.c lstat.c stat.c +BUILT_SOURCES = getdate.c lstat.c stat.c unlocked-io.h MAINTAINERCLEANFILES = $(BUILT_SOURCES) DISTCLEANFILES = lstat.c stat.c -EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin +EXTRA_DIST = xstat.in config.charset ref-add.sin ref-del.sin unlocked-io.hin lstat.c: xstat.in sed \ -e '/@IGNORE@/d' \ @@ -162,3 +162,30 @@ mv $@-t $@ CLEANFILES = charset.alias ref-add.sed ref-del.sed + +############################################### + +# FIXME: CAUTION this list is a duplicate of one in ../Makefile.cfg. +io_functions = \ + clearerr feof ferror fflush fgets fputc fputs \ + fread fwrite getc getchar putc putchar + +a_z=abcdefghijklmnopqrstuvwxyz +A_Z=ABCDEFGHIJKLMNOPQRSTUVWXYZ + +unlocked-io.h: $(srcdir)/unlocked-io.hin Makefile.am + tmp=t$$$$; \ + echo > $$tmp; \ + for b in $(io_functions); do \ + f=$${b}_unlocked; \ + u=`echo $$f|tr $(a_z) $(A_Z)`; \ + echo "# if HAVE_$${u}_UNLOCKED" >> $$tmp; \ + echo "# undef $$f" >> $$tmp; \ + echo "# define $$f(S) $${f}_unlocked (S)" >> $$tmp; \ + echo '#endif' >> $$tmp; \ + done; \ + sed "/^@replace_this@$$/r$$tmp" $(srcdir)/unlocked-io.hin \ + | sed "/^@replace_this@$$/d" \ + > $@t; \ + rm -f $$tmp; \ + mv $@t $@