(EXTRA_DIST): Add unlocked-io.hin.
authorJim Meyering <jim@meyering.net>
Sun, 15 Jul 2001 15:14:18 +0000 (15:14 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 15 Jul 2001 15:14:18 +0000 (15:14 +0000)
(BUILT_SOURCES): Add unlocked-io.h.
(io_functions): Define.
(unlocked-io.h): New rule.

lib/Makefile.am

index 85ecfeef01df626d8cba2b10a6b6c59377cb5959..eaaf840142fc9ac3b71ce6e04f0cea746cef6d95 100644 (file)
@@ -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 $@