Merge commit 'a39d4083cab589d7cd6a13e8a4b8db8875261d75'
[gnulib.git] / modules / fnmatch
index 64d3cd9..a5a49f9 100644 (file)
@@ -10,29 +10,40 @@ m4/fnmatch.m4
 
 Depends-on:
 extensions
-alloca
-stdbool
-wchar
-wctype
-memchr
-memcmp
-mbsrtowcs
-mbsinit
+snippet/arg-nonnull
+alloca          [test -n "$FNMATCH_H"]
+stdbool         [test -n "$FNMATCH_H"]
+wchar           [test -n "$FNMATCH_H"]
+wctype-h        [test -n "$FNMATCH_H"]
+memchr          [test -n "$FNMATCH_H"]
+memcmp          [test -n "$FNMATCH_H"]
+mbsrtowcs       [test -n "$FNMATCH_H"]
+mbsinit         [test -n "$FNMATCH_H"]
 
 configure.ac:
 gl_FUNC_FNMATCH_POSIX
+if test -n "$FNMATCH_H"; then
+  AC_LIBOBJ([fnmatch])
+  gl_PREREQ_FNMATCH
+fi
 
 Makefile.am:
 BUILT_SOURCES += $(FNMATCH_H)
 
 # We need the following in order to create <fnmatch.h> when the system
 # doesn't have one that supports the required API.
-fnmatch.h: fnmatch.in.h
-       rm -f $@-t $@
+if GL_GENERATE_FNMATCH_H
+fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
+       $(AM_V_GEN)rm -f $@-t $@ && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/fnmatch.in.h; \
-       } > $@-t
+         sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             < $(srcdir)/fnmatch.in.h; \
+       } > $@-t && \
        mv -f $@-t $@
+else
+fnmatch.h: $(top_builddir)/config.status
+       rm -f $@
+endif
 MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t
 
 Include: