## 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 \
+c-bs-a.m4 \
check-decl.m4 \
chown.m4 \
+codeset.m4 \
d-ino.m4 \
d-type.m4 \
-decl.m4 \
+dos.m4 \
error.m4 \
fnmatch.m4 \
+fpending.m4 \
fstypename.m4 \
+fsusage.m4 \
+ftruncate.m4 \
getgroups.m4 \
getline.m4 \
getloadavg.m4 \
-gettext.m4 \
glibc.m4 \
+glibc21.m4 \
+gnu-source.m4 \
group-member.m4 \
+iconv.m4 \
inttypes_h.m4 \
isc-posix.m4 \
jm-glibc-io.m4 \
jm-mktime.m4 \
jm-winsz1.m4 \
jm-winsz2.m4 \
-largefile.m4 \
lchown.m4 \
lcmessage.m4 \
+lib-check.m4 \
+libintl.m4 \
+link-follow.m4 \
ls-mntd-fs.m4 \
lstat.m4 \
malloc.m4 \
+mbrtowc.m4 \
+mbstate_t.m4 \
+mbswidth.m4 \
memcmp.m4 \
-mktime.m4 \
+nanosleep.m4 \
perl.m4 \
prereq.m4 \
progtest.m4 \
readdir.m4 \
realloc.m4 \
regex.m4 \
+rename.m4 \
+rmdir-errno.m4 \
search-libs.m4 \
-ssize_t.m4 \
st_dm_mode.m4 \
st_mtim.m4 \
stat.m4 \
+strerror_r.m4 \
strftime.m4 \
+timespec.m4 \
uintmax_t.m4 \
ulonglong.m4 \
+unlink-busy.m4 \
uptime.m4 \
utimbuf.m4 \
utime.m4 \
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