.
authorJim Meyering <jim@meyering.net>
Sun, 15 Jul 2001 16:28:39 +0000 (16:28 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 15 Jul 2001 16:28:39 +0000 (16:28 +0000)
lib/Makefile.in

index 0b7ee7b4f9ce2f41a1bdedf7363d80ea2200777b..d9c5e8007a1632de2d8148e7c2d9276c3fa46845 100644 (file)
@@ -197,11 +197,11 @@ libfetish_a_SOURCES = \
 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
+DISTCLEANFILES = lstat.c stat.c unlocked-io.h
 
-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
 
 charset_alias = $(DESTDIR)$(libdir)/charset.alias
 charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
@@ -209,6 +209,17 @@ charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
 SUFFIXES = .sed .sin
 
 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
 EXEEXT =
 OBJEXT = o
 subdir = lib
@@ -933,7 +944,7 @@ stat.c: xstat.in
 # On systems with glibc-2.1 or newer, the file is redundant, therefore we
 # avoid installing it.
 
-all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c
+all-local: charset.alias ref-add.sed ref-del.sed lstat.c stat.c unlocked-io.h
 install-exec-local: all-local
        $(mkinstalldirs) $(DESTDIR)$(libdir)
        if test -f $(charset_alias); then \
@@ -966,6 +977,23 @@ charset.alias: config.charset
 .sin.sed:
        sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > $@-t
        mv $@-t $@
+
+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 $@
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT: