changeset 14271:b4cc3c41ca79

libposix: Add _HEADERS primaries to posix modules. Modify gnulib-tool to strip them from generated Makefile.am-s where they are not needed. Also, replace M4 macro prefixes when requested. Finally, omit calls to error() for libposix.
author Bruce Korb <bkorb@gnu.org>
date Sat, 05 Feb 2011 08:22:48 -0800
parents 9dc44fa092bd
children 1af1ed4871ed
files .gitignore ChangeLog gnulib-tool lib/openat-die.c lib/xalloc-die.c modules/alloca-opt modules/arg-nonnull modules/argz modules/arpa_inet modules/byteswap modules/c++defs modules/ctype modules/dirent modules/errno modules/fcntl-h modules/float modules/fnmatch modules/getopt-posix modules/glob modules/iconv-h modules/iconv_open modules/inttypes modules/langinfo modules/link-warning modules/locale modules/math modules/netdb modules/netinet_in modules/poll-h modules/pthread modules/pty modules/sched modules/search modules/selinux-h modules/signal modules/spawn modules/stdarg modules/stdbool modules/stddef modules/stdint modules/stdio modules/stdlib modules/string modules/strings modules/sys_file modules/sys_ioctl modules/sys_select modules/sys_socket modules/sys_stat modules/sys_time modules/sys_times modules/sys_utsname modules/sys_wait modules/sysexits modules/termios modules/time modules/unistd modules/unitypes modules/unused-parameter modules/warn-on-use modules/wchar modules/wctype
diffstat 62 files changed, 260 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,5 @@
 allsnippets.tmp
 amsnippet.tmp
 testdir*
+*.diff
+*.patch
--- a/ChangeLog
+++ b/ChangeLog
@@ -1910,6 +1910,13 @@
 	* doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
 	* doc/posix-functions/localtime_r.texi: Likewise.
 
+2010-12-30  Bruce Korb  <bkorb@gnu.org>
+
+	libposix: avoid calling error() within libposix
+	* lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
+	is defined.
+	* lib/xalloc-die.c: Same thing.
+
 2010-12-29  Eric Blake  <eblake@redhat.com>
 
 	mountlist: tweak previous commit
@@ -3555,6 +3562,13 @@
 	* lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
 	* modules/ftoastr: New files.
 
+2010-11-16  Bruce Korb  <bkorb@gnu.org>
+
+	libposix: Libposix module will be created on the fly
+	* modules/libposix: remove
+	* modules/*: Use pkginclude_HEADERS instead of plain "include".
+	* gnulib-tool: adjust here, too
+
 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
 
 	bootstrap: port to Solaris sed
@@ -4134,6 +4148,74 @@
 	and use malloc rather than the stack for the same reason as
 	mentioned in the comment justifying the other allocation.
 
+2010-10-12  Gary V. Vaughan  <gary@gnu.org>
+
+	libposix: use git-version-gen for version numbering
+	* build-aux/git-version-gen: In order to work inside the
+	libposix subdirectory, also check the parent directory for .git
+	before assuming git describe will not work.
+
+	add _HEADERS primaries to Makefile.am snippets for installable headers
+	* modules/alloca-opt, modules/arg-nonnull, modules/argz,
+	modules/arpa_inet, modules/byteswap, modules/c++defs, modules/ctype,
+	modules/dirent, modules/errno, modules/fcntl-h, modules/float,
+	modules/fnmatch, modules/getopt-posix, modules/glob, modules/iconv-h,
+	modules/iconv_open, modules/inttypes, modules/langinfo,
+	modules/link-warning, modules/locale, modules/math, modules/netdb,
+	modules/netinet_in, modules/poll-h, modules/pthread, modules/pty,
+	modules/sched, modules/search, modules/selinux-h, modules/signal,
+	modules/spawn, modules/stdarg, modules/stdbool, modules/stddef,
+	modules/stdint, modules/stdio, modules/stdlib, modules/string,
+	modules/strings, modules/sys_file, modules/sys_ioctl,
+	modules/sys_select, modules/sys_socket, modules/sys_stat,
+	modules/sys_time, modules/sys_times, modules/sys_utsname,
+	modules/sys_wait, modules/sysexits, modules/termios, modules/time,
+	modules/unistd, modules/unitypes, modules/unused-parameter,
+	modules/warn-on-use, modules/wchar, modules/wctype (Makefile.am):
+	Add nodist_include_HEADERS, nobase_nodist_include_HEADERS and
+	EXTRA_HEADERS declarations for potentially installable header files.
+	* gnulib-tool: Initialize nodist_include_HEADERS,
+	nobase_nodist_include_HEADERS and EXTRA_HEADERS to prime for new
+	`.*_HEADERS +=' declarations.
+	(func_emit_lib_Makefile_am): Edit away new nodist_include_HEADERS,
+	nobase_nodist_include_HEADERS and EXTRA_HEADERS declarations by
+	default, reverting the Makefile.am snippets above to their original
+	condition prior to this change *unless* the gnulib library is being
+	installed.
+
+	New module `libposix'.
+	* modules/libposix: New module to facilitate an installable
+	library of posix modules.
+	(Makefile.am): Use lib_LTLIBRARIES to mark libposix.la as
+	installable.
+	(Depends-On): List all the modules found by `posix-modules',
+	except `strdup' which is spurious, and with the addition of
+	`alloca' to satisfy an otherwise undefined LTALLOCA definition;
+	and `progname' to provide a non-extern program_name symbol so that
+	compilation with `-no-undefined' symbols can work.
+
+	iconv_open: reduce not-trivial repetition of file-list
+	* modules/iconv_open (iconv_headers): New make macro to hold list of
+	iconv header files.
+	(BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Use it instead of
+	multiple hard-coded copies.
+
+	gnulib-tool: transform hard-coded libgnu.a to $libname.l?a
+	* gnulib-tool (func_emit_lib_Makefile_am): transform hard-coded
+	`libgnu.a' in Makefile.am snippets to be either `$libname.a' or
+	`$libname.la', depending on whether --libtool/--no-libtool options
+	were given.
+
+2010-10-12  Sam Steingold  <sds@gnu.org>
+	    Gary V. Vaughan  <gary@gnu.org>
+
+	gnulib-tool: transform include guards with `--macro-prefix'
+	* gnulib-tool (func_import): support multiple gllib directories:
+	headers are generated for each gllib differently, depending on which
+	features are actually used, so we need to be able to include all
+	these generated headers without fear that one will shadow another,
+	so we prepend the macro-prefix before the guard macros.
+
 2010-10-11  Bruno Haible  <bruno@clisp.org>
 
 	stdlib: Allow multiple gnulib generated replacements to coexist.
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -2815,6 +2815,11 @@
   echo
   uses_subdirs=
   {
+    if test false = "$libtool"; then
+      sed_transform_libgnu_a="s, libgnu\\.a, $libname.a,g"
+    else
+      sed_transform_libgnu_a="s, libgnu\\.a, $libname.la,g"
+    fi
     for module in $modules; do
       func_verify_nontests_module
       if test -n "$module"; then
@@ -2827,6 +2832,7 @@
                 -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' \
                 -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \
                 -e 's,lib%_LTLIBRARIES,lib_LTLIBRARIES,g' \
+		-e "$sed_transform_libgnu_a" \
                 -e "$sed_transform_check_PROGRAMS"
           if test "$module" = 'alloca'; then
             echo "${libname}_${libext}_LIBADD += @${perhapsLT}ALLOCA@"
@@ -2866,6 +2872,8 @@
   echo
   if test -z "$makefile_name"; then
     echo "SUBDIRS ="
+    echo "nodist_pkginclude_HEADERS ="
+    echo "nobase_nodist_pkginclude_HEADERS ="
     echo "noinst_HEADERS ="
     echo "noinst_LIBRARIES ="
     echo "noinst_LTLIBRARIES ="
@@ -2875,6 +2883,7 @@
       echo "pkgdata_DATA ="
     fi
     echo "EXTRA_DIST ="
+    echo "EXTRA_HEADERS ="
     echo "BUILT_SOURCES ="
     echo "SUFFIXES ="
   fi
@@ -2914,11 +2923,18 @@
           && test -f "$sourcebase/Makefile.am" \
           && LC_ALL=C grep "^[a-zA-Z0-9_]*_${perhapsLT}LIBRARIES *+\{0,1\}= *$libname\\.$libext\$" "$sourcebase/Makefile.am" > /dev/null; \
         }; then
+    # Install associated header files, per module Makefile.am snippets.
+    sed_transform_HEADERS_primaries="$sed_noop"
     # One of the snippets or the user's Makefile.am already specifies an
     # installation location for the library. Don't confuse automake by saying
     # it should not be installed.
     :
   else
+    # Don't install header files when generated library is not installed.
+    sed_transform_HEADERS_primaries="\
+        /^\(nobase_\)\{0,1\}nodist_pkginclude_HEADERS *=.*$/d
+        /^EXTRA_HEADERS *=.*$/d
+    "
     # By default, the generated library should not be installed.
     echo "noinst_${perhapsLT}LIBRARIES += $libname.$libext"
   fi
@@ -2950,7 +2966,8 @@
     echo
   fi
   cat "$tmp"/allsnippets \
-    | sed -e 's|\$(top_srcdir)/build-aux/|$(top_srcdir)/'"$auxdir"'/|g'
+    | sed -e 's|\$(top_srcdir)/build-aux/|$(top_srcdir)/'"$auxdir"'/|g' \
+          -e "$sed_transform_HEADERS_primaries"
   echo
   echo "mostlyclean-local: mostlyclean-generic"
   echo "	@for dir in '' \$(MOSTLYCLEANDIRS); do \\"
@@ -3164,6 +3181,8 @@
   if ! $for_test; then
     echo "check_PROGRAMS ="
   fi
+  echo "nodist_pkginclude_HEADERS ="
+  echo "nobase_nodist_pkginclude_HEADERS ="
   echo "noinst_HEADERS ="
   echo "noinst_LIBRARIES ="
   if $use_libtests; then
@@ -3179,6 +3198,7 @@
     echo "pkgdata_DATA ="
   fi
   echo "EXTRA_DIST ="
+  echo "EXTRA_HEADERS ="
   echo "BUILT_SOURCES ="
   echo "SUFFIXES ="
   echo "MOSTLYCLEANFILES = core *.stackdump"
@@ -3847,6 +3867,9 @@
       break
     fi
   done
+  test -n "${macro_prefix}" && sed_transform_lib_file=$sed_transform_lib_file"
+    s/_GL_\(.*\)_H/_${macro_prefix}_GL_\1_H/g
+  "
   sed_transform_main_lib_file="$sed_transform_lib_file"
   if test -n "$do_copyrights"; then
     if test -n "$lgpl"; then
@@ -3885,6 +3908,10 @@
       s/version 2\(.1\)\{0,1\}\([ ,]\)/version 3\2/g
     '
   fi
+  test -n "${macro_prefix}" \
+    && sed_transform_build_aux_file=$sed_transform_build_aux_file"
+         s/_GL_\(.*\)_H/_${macro_prefix}_GL_\1_H/g
+       "
 
   # Determine script to apply to library files that go into $testsbase/.
   sed_transform_testsrelated_lib_file="$sed_transform_lib_file"
--- a/lib/openat-die.c
+++ b/lib/openat-die.c
@@ -21,7 +21,10 @@
 
 #include <stdlib.h>
 
+#ifndef GNULIB_LIBPOSIX
 #include "error.h"
+#endif
+
 #include "exitfail.h"
 
 #include "gettext.h"
@@ -30,9 +33,10 @@
 void
 openat_save_fail (int errnum)
 {
+#ifndef GNULIB_LIBPOSIX
   error (exit_failure, errnum,
          _("unable to record current working directory"));
-
+#endif
   /* The `noreturn' attribute cannot be applied to error, since it returns
      when its first argument is 0.  To help compilers understand that this
      function does not return, call abort.  Also, the abort is a
@@ -48,8 +52,10 @@
 void
 openat_restore_fail (int errnum)
 {
+#ifndef GNULIB_LIBPOSIX
   error (exit_failure, errnum,
          _("failed to return to initial working directory"));
+#endif
 
   /* As above.  */
   abort ();
--- a/lib/xalloc-die.c
+++ b/lib/xalloc-die.c
@@ -22,7 +22,10 @@
 
 #include <stdlib.h>
 
+#ifndef GNULIB_LIBPOSIX
 #include "error.h"
+#endif
+
 #include "exitfail.h"
 
 #include "gettext.h"
@@ -31,7 +34,9 @@
 void
 xalloc_die (void)
 {
+#ifndef GNULIB_LIBPOSIX
   error (exit_failure, 0, "%s", _("memory exhausted"));
+#endif
 
   /* The `noreturn' cannot be given to error, since it may return if
      its first argument is 0.  To help compilers understand the
--- a/modules/alloca-opt
+++ b/modules/alloca-opt
@@ -13,6 +13,9 @@
 gl_FUNC_ALLOCA
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(ALLOCA_H)
+EXTRA_HEADERS += alloca.h
+
 BUILT_SOURCES += $(ALLOCA_H)
 
 # We need the following in order to create <alloca.h> when the system
--- a/modules/arg-nonnull
+++ b/modules/arg-nonnull
@@ -12,6 +12,8 @@
 configure.ac:
 
 Makefile.am:
+nodist_pkginclude_HEADERS += arg-nonnull.h
+
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
 # statements but through direct file reference. Therefore this snippet must be
 # present in all Makefile.am that need it. This is ensured by the applicability
--- a/modules/argz
+++ b/modules/argz
@@ -18,6 +18,9 @@
 gl_FUNC_ARGZ
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(ARGZ_H)
+EXTRA_HEADERS += argz.h
+
 BUILT_SOURCES += $(ARGZ_H)
 
 # We need the following in order to create <argz.h> when the system
--- a/modules/arpa_inet
+++ b/modules/arpa_inet
@@ -17,6 +17,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += arpa/inet.h
+
 BUILT_SOURCES += arpa/inet.h
 
 # We need the following in order to create <arpa/inet.h> when the system
--- a/modules/byteswap
+++ b/modules/byteswap
@@ -11,6 +11,9 @@
 gl_BYTESWAP
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(BYTESWAP_H)
+EXTRA_HEADERS += byteswap.h
+
 BUILT_SOURCES += $(BYTESWAP_H)
 
 # We need the following in order to create <byteswap.h> when the system
--- a/modules/c++defs
+++ b/modules/c++defs
@@ -12,6 +12,8 @@
 configure.ac:
 
 Makefile.am:
+nodist_pkginclude_HEADERS += c++defs.h
+
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
 # statements but through direct file reference. Therefore this snippet must be
 # present in all Makefile.am that need it. This is ensured by the applicability
--- a/modules/ctype
+++ b/modules/ctype
@@ -14,6 +14,8 @@
 gl_CTYPE_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += ctype.h
+
 BUILT_SOURCES += ctype.h
 
 # We need the following in order to create <ctype.h> when the system
--- a/modules/dirent
+++ b/modules/dirent
@@ -16,6 +16,8 @@
 gl_DIRENT_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += dirent.h
+
 BUILT_SOURCES += dirent.h
 
 # We need the following in order to create <dirent.h> when the system
--- a/modules/errno
+++ b/modules/errno
@@ -12,6 +12,9 @@
 gl_HEADER_ERRNO_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(ERRNO_H)
+EXTRA_HEADERS += errno.h
+
 BUILT_SOURCES += $(ERRNO_H)
 
 # We need the following in order to create <errno.h> when the system
--- a/modules/fcntl-h
+++ b/modules/fcntl-h
@@ -18,6 +18,8 @@
 gl_FCNTL_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += fcntl.h
+
 BUILT_SOURCES += fcntl.h
 
 # We need the following in order to create <fcntl.h> when the system
--- a/modules/float
+++ b/modules/float
@@ -12,6 +12,9 @@
 gl_FLOAT_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(FLOAT_H)
+EXTRA_HEADERS += float.h
+
 BUILT_SOURCES += $(FLOAT_H)
 
 # We need the following in order to create <float.h> when the system
--- a/modules/fnmatch
+++ b/modules/fnmatch
@@ -24,6 +24,9 @@
 gl_FUNC_FNMATCH_POSIX
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(FNMATCH_H)
+EXTRA_HEADERS += fnmatch.h
+
 BUILT_SOURCES += $(FNMATCH_H)
 
 # We need the following in order to create <fnmatch.h> when the system
--- a/modules/getopt-posix
+++ b/modules/getopt-posix
@@ -19,6 +19,9 @@
 gl_FUNC_GETOPT_POSIX
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(GETOPT_H)
+EXTRA_HEADERS += getopt.h
+
 BUILT_SOURCES += $(GETOPT_H)
 
 # We need the following in order to create <getopt.h> when the system
--- a/modules/glob
+++ b/modules/glob
@@ -30,6 +30,9 @@
 gl_GLOB
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(GLOB_H)
+EXTRA_HEADERS += glob.h
+
 BUILT_SOURCES += $(GLOB_H)
 
 # We need the following in order to create <glob.h> when the system
--- a/modules/iconv-h
+++ b/modules/iconv-h
@@ -15,6 +15,9 @@
 gl_ICONV_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(ICONV_H)
+EXTRA_HEADERS += iconv.h
+
 BUILT_SOURCES += $(ICONV_H)
 
 # We need the following in order to create <iconv.h> when the system
--- a/modules/iconv_open
+++ b/modules/iconv_open
@@ -21,6 +21,9 @@
 gl_FUNC_ICONV_OPEN
 
 Makefile.am:
+iconv_headers = iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
+nodist_pkginclude_HEADERS += $(iconv_headers)
+
 iconv_open-aix.h: iconv_open-aix.gperf
 	$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
 	mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
@@ -36,10 +39,10 @@
 iconv_open-solaris.h: iconv_open-solaris.gperf
 	$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
 	mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
-BUILT_SOURCES        += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
+BUILT_SOURCES        += $(iconv_headers)
 MOSTLYCLEANFILES     += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t
-MAINTAINERCLEANFILES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
-EXTRA_DIST           += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
+MAINTAINERCLEANFILES += $(iconv_headers)
+EXTRA_DIST           += $(iconv_headers)
 
 Include:
 <iconv.h>
--- a/modules/inttypes
+++ b/modules/inttypes
@@ -17,6 +17,8 @@
 gl_INTTYPES_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += inttypes.h
+
 BUILT_SOURCES += inttypes.h
 
 # We need the following in order to create <inttypes.h> when the system
--- a/modules/langinfo
+++ b/modules/langinfo
@@ -15,6 +15,8 @@
 gl_LANGINFO_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += langinfo.h
+
 BUILT_SOURCES += langinfo.h
 
 # We need the following in order to create an empty placeholder for
--- a/modules/link-warning
+++ b/modules/link-warning
@@ -13,6 +13,8 @@
 AC_REQUIRE([gl_FEATURES_H])
 
 Makefile.am:
+nodist_pkginclude_HEADERS += link-warning.h
+
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
 # statements but through direct file reference. Therefore this snippet must be
 # present in all Makefile.am that need it. This is ensured by the applicability
--- a/modules/locale
+++ b/modules/locale
@@ -17,6 +17,8 @@
 gl_LOCALE_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += locale.h
+
 BUILT_SOURCES += locale.h
 
 # We need the following in order to create <locale.h> when the system
--- a/modules/math
+++ b/modules/math
@@ -15,6 +15,8 @@
 gl_MATH_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += math.h
+
 BUILT_SOURCES += math.h
 
 # We need the following in order to create <math.h> when the system
--- a/modules/netdb
+++ b/modules/netdb
@@ -16,6 +16,8 @@
 gl_HEADER_NETDB
 
 Makefile.am:
+nodist_pkginclude_HEADERS += netdb.h
+
 BUILT_SOURCES += netdb.h
 
 # We need the following in order to create <netdb.h> when the system
--- a/modules/netinet_in
+++ b/modules/netinet_in
@@ -14,6 +14,9 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += $(NETINET_IN_H)
+EXTRA_HEADERS += netinet/in.h
+
 BUILT_SOURCES += $(NETINET_IN_H)
 
 # We need the following in order to create <netinet/in.h> when the system
--- a/modules/poll-h
+++ b/modules/poll-h
@@ -15,6 +15,8 @@
 gl_POLL_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += poll.h
+
 BUILT_SOURCES += poll.h
 
 # We need the following in order to create <poll.h> when the system
--- a/modules/pthread
+++ b/modules/pthread
@@ -13,6 +13,9 @@
 gl_PTHREAD_CHECK
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(PTHREAD_H)
+EXTRA_HEADERS += pthread.h
+
 BUILT_SOURCES += $(PTHREAD_H)
 
 # We need the following in order to create <pthread.h> when the system
--- a/modules/pty
+++ b/modules/pty
@@ -14,6 +14,8 @@
 gl_PTY_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += pty.h
+
 BUILT_SOURCES += pty.h
 
 # We need the following in order to create <pty.h> when the system
--- a/modules/sched
+++ b/modules/sched
@@ -12,6 +12,9 @@
 gl_SCHED_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(SCHED_H)
+EXTRA_HEADERS += sched.h
+
 BUILT_SOURCES += $(SCHED_H)
 
 # We need the following in order to create a replacement for <sched.h> when
--- a/modules/search
+++ b/modules/search
@@ -15,6 +15,8 @@
 gl_SEARCH_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += search.h
+
 BUILT_SOURCES += search.h
 
 # We need the following in order to create <search.h> when the system
--- a/modules/selinux-h
+++ b/modules/selinux-h
@@ -18,6 +18,8 @@
 AC_REQUIRE([AC_C_INLINE])
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += selinux/selinux.h
+
 lib_SOURCES += se-context.in.h se-selinux.in.h
 
 BUILT_SOURCES += selinux/selinux.h
--- a/modules/signal
+++ b/modules/signal
@@ -15,6 +15,8 @@
 gl_SIGNAL_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += signal.h
+
 BUILT_SOURCES += signal.h
 
 # We need the following in order to create <signal.h> when the system
--- a/modules/spawn
+++ b/modules/spawn
@@ -16,6 +16,8 @@
 gl_SPAWN_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += spawn.h
+
 BUILT_SOURCES += spawn.h
 
 # We need the following in order to create a replacement for <spawn.h> when
--- a/modules/stdarg
+++ b/modules/stdarg
@@ -19,6 +19,9 @@
 gl_STDARG_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(STDARG_H)
+EXTRA_HEADERS += stdarg.h
+
 BUILT_SOURCES += $(STDARG_H)
 
 # We need the following in order to create <stdarg.h> when the system
--- a/modules/stdbool
+++ b/modules/stdbool
@@ -12,6 +12,9 @@
 AM_STDBOOL_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(STDBOOL_H)
+EXTRA_HEADERS += stdbool.h
+
 BUILT_SOURCES += $(STDBOOL_H)
 
 # We need the following in order to create <stdbool.h> when the system
--- a/modules/stddef
+++ b/modules/stddef
@@ -13,6 +13,9 @@
 gl_STDDEF_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(STDDEF_H)
+EXTRA_HEADERS += stddef.h
+
 BUILT_SOURCES += $(STDDEF_H)
 
 # We need the following in order to create <stddef.h> when the system
--- a/modules/stdint
+++ b/modules/stdint
@@ -20,6 +20,9 @@
 gl_STDINT_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(STDINT_H)
+EXTRA_HEADERS += stdint.h
+
 BUILT_SOURCES += $(STDINT_H)
 
 # We need the following in order to create <stdint.h> when the system
--- a/modules/stdio
+++ b/modules/stdio
@@ -19,6 +19,8 @@
 gl_STDIO_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += stdio.h
+
 BUILT_SOURCES += stdio.h
 
 # We need the following in order to create <stdio.h> when the system
--- a/modules/stdlib
+++ b/modules/stdlib
@@ -18,6 +18,8 @@
 gl_STDLIB_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += stdlib.h
+
 BUILT_SOURCES += stdlib.h
 
 # We need the following in order to create <stdlib.h> when the system
--- a/modules/string
+++ b/modules/string
@@ -17,6 +17,8 @@
 gl_HEADER_STRING_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += string.h
+
 BUILT_SOURCES += string.h
 
 # We need the following in order to create <string.h> when the system
--- a/modules/strings
+++ b/modules/strings
@@ -14,6 +14,8 @@
 gl_HEADER_STRINGS_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += strings.h
+
 BUILT_SOURCES += strings.h
 
 # We need the following in order to create <strings.h> when the system
--- a/modules/sys_file
+++ b/modules/sys_file
@@ -14,6 +14,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/file.h
+
 BUILT_SOURCES += sys/file.h
 
 # We need the following in order to create <sys/file.h> when the system
--- a/modules/sys_ioctl
+++ b/modules/sys_ioctl
@@ -16,6 +16,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/ioctl.h
+
 BUILT_SOURCES += sys/ioctl.h
 
 # We need the following in order to create <sys/ioctl.h> when the system
--- a/modules/sys_select
+++ b/modules/sys_select
@@ -17,6 +17,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/select.h
+
 BUILT_SOURCES += sys/select.h
 
 # We need the following in order to create <sys/select.h> when the system
--- a/modules/sys_socket
+++ b/modules/sys_socket
@@ -20,6 +20,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/socket.h
+
 BUILT_SOURCES += sys/socket.h
 
 # We need the following in order to create <sys/socket.h> when the system
--- a/modules/sys_stat
+++ b/modules/sys_stat
@@ -18,6 +18,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/stat.h
+
 BUILT_SOURCES += sys/stat.h
 
 # We need the following in order to create <sys/stat.h> when the system
--- a/modules/sys_time
+++ b/modules/sys_time
@@ -16,6 +16,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/time.h
+
 BUILT_SOURCES += sys/time.h
 
 # We need the following in order to create <sys/time.h> when the system
--- a/modules/sys_times
+++ b/modules/sys_times
@@ -15,6 +15,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/times.h
+
 BUILT_SOURCES += sys/times.h
 
 # We need the following in order to create <sys/times.h> when the system
--- a/modules/sys_utsname
+++ b/modules/sys_utsname
@@ -15,6 +15,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/utsname.h
+
 BUILT_SOURCES += sys/utsname.h
 
 # We need the following in order to create <sys/utsname.h> when the system
--- a/modules/sys_wait
+++ b/modules/sys_wait
@@ -15,6 +15,8 @@
 AC_PROG_MKDIR_P
 
 Makefile.am:
+nobase_nodist_pkginclude_HEADERS += sys/wait.h
+
 BUILT_SOURCES += sys/wait.h
 
 # We need the following in order to create <sys/wait.h> when the system
--- a/modules/sysexits
+++ b/modules/sysexits
@@ -12,6 +12,9 @@
 gl_SYSEXITS
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(SYSEXITS_H)
+EXTRA_HEADERS += sysexits.h
+
 BUILT_SOURCES += $(SYSEXITS_H)
 
 # We need the following in order to create <sysexits.h> when the system
--- a/modules/termios
+++ b/modules/termios
@@ -14,6 +14,8 @@
 gl_TERMIOS_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += termios.h
+
 BUILT_SOURCES += termios.h
 
 # We need the following in order to create <termios.h> when the system
--- a/modules/time
+++ b/modules/time
@@ -17,6 +17,8 @@
 gl_HEADER_TIME_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += time.h
+
 BUILT_SOURCES += time.h
 
 # We need the following in order to create <time.h> when the system
--- a/modules/unistd
+++ b/modules/unistd
@@ -16,6 +16,8 @@
 gl_UNISTD_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += unistd.h
+
 BUILT_SOURCES += unistd.h
 
 # We need the following in order to create an empty placeholder for
--- a/modules/unitypes
+++ b/modules/unitypes
@@ -12,6 +12,9 @@
 gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
 
 Makefile.am:
+nodist_pkginclude_HEADERS += $(LIBUNISTRING_UNITYPES_H)
+EXTRA_HEADERS += unitypes.h
+
 BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H)
 
 unitypes.h: unitypes.in.h
--- a/modules/unused-parameter
+++ b/modules/unused-parameter
@@ -12,6 +12,8 @@
 configure.ac:
 
 Makefile.am:
+nodist_pkginclude_HEADERS += unused-parameter.h
+
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
 # statements but through direct file reference. Therefore this snippet must be
 # present in all Makefile.am that need it. This is ensured by the applicability
--- a/modules/warn-on-use
+++ b/modules/warn-on-use
@@ -13,6 +13,8 @@
 configure.ac:
 
 Makefile.am:
+nodist_pkginclude_HEADERS += warn-on-use.h
+
 BUILT_SOURCES += warn-on-use.h
 # The warn-on-use.h that gets inserted into generated .h files is the same as
 # build-aux/warn-on-use.h, except that it has the copyright header cut off.
--- a/modules/wchar
+++ b/modules/wchar
@@ -17,6 +17,8 @@
 gl_WCHAR_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += wchar.h
+
 BUILT_SOURCES += wchar.h
 
 # We need the following in order to create <wchar.h> when the system
--- a/modules/wctype
+++ b/modules/wctype
@@ -16,6 +16,8 @@
 gl_WCTYPE_H
 
 Makefile.am:
+nodist_pkginclude_HEADERS += wctype.h
+
 BUILT_SOURCES += wctype.h
 
 # We need the following in order to create <wctype.h> when the system