diff options
Diffstat (limited to 'lib/Makefile.am')
-rw-r--r-- | lib/Makefile.am | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am index 85ecfeef0..eaaf84014 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -91,11 +91,11 @@ libfetish_a_LIBADD = @LIBOBJS@ @ALLOCA@ 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 @@ SUFFIXES = .sed .sin 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 $@ |