changeset 3302:d164b15652a4

(EXTRA_DIST): Add unlocked-io.hin. (BUILT_SOURCES): Add unlocked-io.h. (io_functions): Define. (unlocked-io.h): New rule.
author Jim Meyering <jim@meyering.net>
date Sun, 15 Jul 2001 15:14:18 +0000
parents 0be2383e4713
children 316e64df991a
files lib/Makefile.am
diffstat 1 files changed, 29 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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 $@