summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2001-07-15 15:14:18 +0000
committerJim Meyering <jim@meyering.net>2001-07-15 15:14:18 +0000
commit982d395b6a54c0752a121ccd026b9a653fb45ce0 (patch)
treedbd4885e77eba02c021315d58f874a59c969c2af
parent11cfdfba16e6665d7e5da8a385d8c0a599e13282 (diff)
downloadcoreutils-982d395b6a54c0752a121ccd026b9a653fb45ce0.tar.xz
(EXTRA_DIST): Add unlocked-io.hin.
(BUILT_SOURCES): Add unlocked-io.h. (io_functions): Define. (unlocked-io.h): New rule.
-rw-r--r--lib/Makefile.am31
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 $@