# HG changeset patch # User Jim Meyering # Date 994059636 0 # Node ID f760217d8fee8746e31ca1608f5896fe494c221b # Parent e711acc10c3feeec8b4252af587d2413cad1ff60 . diff --git a/m4/.cvsignore b/m4/.cvsignore --- a/m4/.cvsignore +++ b/m4/.cvsignore @@ -1,1 +1,2 @@ Makefile +jm-glibc-io.m4 diff --git a/m4/Makefile.am b/m4/Makefile.am --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- ##m4-files-begin -EXTRA_DIST = README Makefile.am.in \ +EXTRA_DIST = README jm-glibc-io.m4n Makefile.am.in \ afs.m4 \ assert.m4 \ bison.m4 \ @@ -75,10 +75,47 @@ Makefile.am: Makefile.am.in rm -f $@ $@t sed -n '1,/^##m4-files-begin/p' $< > $@t - ( (echo EXTRA_DIST = README Makefile.am.in | tr '\012' @); \ + ((echo EXTRA_DIST = README jm-glibc-io.m4n Makefile.am.in|tr '\012' @);\ (echo *.m4|tr ' ' @) ) \ |sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \ >> $@t sed -n '/^##m4-files-end/,$$p' $< >> $@t + echo >> $@t + echo all-local: jm-glibc-io.m4 >> $@t chmod a-w $@t mv $@t $@ + +unlocked_functions = \ + clearerr_unlocked feof_unlocked ferror_unlocked \ + fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked \ + fread_unlocked fwrite_unlocked getc_unlocked getchar_unlocked \ + putc_unlocked putchar_unlocked + +comma_separated = $(shell echo $(unlocked_functions)|tr -s ' ' ,) +base_functions = $(patsubst %_unlocked,%,$(unlocked_functions)) +jm-glibc-io.m4: jm-glibc-io.m4n Makefile + echo 'dnl This file is automatically generated from $<' > $@t + echo '' >> $@t + sed \ + -e 's/@space_separated@/$(unlocked_functions)/g' \ + -e 's/@comma_separated@/$(comma_separated)/g' \ + $< >> $@t + move-if-change $@t $@ + +unlocked-io.h: unlocked-io.hin Makefile.am.in + tmp=t$$$$; \ + echo '' > $$tmp; \ + for f in $(base_functions); do \ + u=`echo $$f|tr '[:lower:]' '[:upper:]'`; \ + 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" $< \ + | sed "/^@replace_this@$$/d" \ + $< > $@t; \ + rm -f $$tmp; \ + mv $@t $@ + +all-local: jm-glibc-io.m4 diff --git a/m4/Makefile.in b/m4/Makefile.in --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -237,7 +237,7 @@ done check-am: all-am check: check-am -all-am: Makefile +all-am: Makefile all-local installdirs: @@ -302,9 +302,9 @@ uninstall-info: uninstall-info-am -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ +.PHONY: all all-am all-local check check-am clean clean-generic \ + distclean distclean-generic distdir dvi dvi-am info info-am \ + install install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am install-man \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ @@ -319,16 +319,18 @@ |sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \ >> $@t sed -n '/^##m4-files-end/,$$p' $< >> $@t + echo >> $@t + echo all-local: jm-glibc-io.m4 >> $@t chmod a-w $@t mv $@t $@ -jm-glibc-io.m4: jm-glibc-io.m4n Makefile.am.in +jm-glibc-io.m4: jm-glibc-io.m4n Makefile echo 'dnl This file is automatically generated from $<' > $@t echo '' >> $@t sed \ -e 's/@space_separated@/$(unlocked_functions)/g' \ -e 's/@comma_separated@/$(comma_separated)/g' \ $< >> $@t - mv $@t $@ + move-if-change $@t $@ unlocked-io.h: unlocked-io.hin Makefile.am.in tmp=t$$$$; \ @@ -345,6 +347,8 @@ $< > $@t; \ rm -f $$tmp; \ mv $@t $@ + +all-local: jm-glibc-io.m4 # 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: