changeset 14517:8636d98120a9

merge to current master
author Bruce Korb <bkorb@gnu.org>
date Fri, 01 Apr 2011 08:10:58 -0700
parents f4f244f523bd (diff) 8b5a7d072ac7 (current diff)
children 04ce36b456cc
files .gitignore ChangeLog build-aux/git-version-gen gnulib-tool lib/openat-die.c lib/unictype/combining.c lib/unictype/combining.h lib/xalloc-die.c m4/dos.m4 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/unictype/bidicategory-byname-tests modules/unictype/bidicategory-name-tests modules/unictype/bidicategory-of-tests modules/unictype/bidicategory-test-tests modules/unistd modules/unitypes modules/unused-parameter modules/warn-on-use modules/wchar modules/wctype modules/wctype-c++-tests modules/wctype-tests tests/test-wctype-c++.cc tests/test-wctype.c tests/unictype/test-combining.c
diffstat 69 files changed, 728 insertions(+), 4 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
@@ -3823,6 +3823,12 @@
 	we now support aggregates.  Also specify exactly
 	when the GCC warn_unused_result feature was added.
 
+2011-01-07  Bruce Korb  <bkorb@gnu.org>
+
+	libposix/bootstrap: disable testing of error-module-using modules
+	* libposix/bootstrap (opts): append --avoid=${mod}-tests
+	for each module that has the error reference removed
+
 2011-01-06  Eric Blake  <eblake@redhat.com>
 
 	ignore-value: support aggregate types
@@ -4263,6 +4269,18 @@
 	* 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/bootstrap (posix_list): remove unnecessary temp file
+	(modules): install all modules to tmp/modules that reference
+	the 'error' module.
+	* libposix/configure.ac (GNULIB_LIBPOSIX): define this in
+	config.h so that openat-die.c can omit calls to error().
+	* lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
+	is defined.
+	* lib/xalloc-die.c: Same thing.
+	* libposix/lib/mk-lpx-config-h.sh (GNULIB_TEST): remove these defines
+
 2010-12-29  Eric Blake  <eblake@redhat.com>
 
 	mountlist: tweak previous commit
@@ -5429,6 +5447,32 @@
 	* doc/posix-functions/pipe.texi (pipe): Update documentation.
 	* MODULES.html.sh (File descriptor based Input/Output): Likewise.
 
+2010-12-08  Gary V. Vaughan  <gary@gnu.org>
+
+	libposix: generate compile and runtime versions with configure
+	* libposix/lib/version.c, libposix/lib/version.h.in: Templates
+	for code to allow runtime and compile time checking of libposix
+	version numbers.
+	* libposix/configure.ac (AC_CONFIG_FILES): Use the already
+	calculated libposix version number to generate libposix/
+	lib/version.h.
+	* libposix/mk-tarball (func_mkver): Removed. Adjust all callers.
+	Don't generate files required by the build in an optionally
+	used script, and incidentally avoid recalculating the version
+	number that configure already knows.
+
+2010-12-07  Gary V. Vaughan  <gary@gnu.org>
+
+	libposix: version filter script was adding a newline
+	* libposix/configure.ac (AC_INIT): Use the output of
+	git-version-gen unmodified, os per other GNU projects...
+	otherwise the spurious newline added to the version number
+	breaks operation of the configure script (tested with
+	Autoconf-2.68).
+	* libposix/mk-tarball: Remove the filter here too, otherwise
+	we'll end up with two conflicting version numbers in the same
+	release!
+
 2010-12-07  Bruno Haible  <bruno@clisp.org>
 
 	unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
@@ -5869,6 +5913,28 @@
 	maint.mk: add a URL discussing the no-@acronym policy
 	* top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
 
+2010-11-17  Bruce Korb  <bkorb@gnu.org>
+
+	* libposix/lib/Makefile.am (lpx-config.h): generate the new header
+	and install it.
+	* libposix/lib/mk-lpx-config-h.sh: script for creating the header
+	by massaging the config.h header.
+
+2010-11-17  Bruce Korb  <bkorb@gnu.org>
+
+	* libposix/mk-tarball: script to make a libposix distribution
+	tarball.
+	* libposix/bootstrap: cleanup and ensure the mkdir's are invoked
+	only when needed.
+	* libposix/configure.ac (m4_esyscmd): fix git version suffix
+	* libposix/lib/Makefile.am (HEADERS): include version info
+
+2010-11-17  Bruce Korb  <bkorb@gnu.org>
+
+	* tests/test-dprintf-posix2.c (main): call malloc & free before
+	setrlimit under Linux.  Avoid setrlimit/malloc interaction bug.
+	* tests/test-fprintf-posix3.c: ditto
+
 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
 
 	ftoastr: depend on snprintf, improve comments
@@ -5908,6 +5974,14 @@
 	* 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/bootstrap: generate libposix module file on the fly.
+	* modules/libposix: remove
+	* modules/*: Use pkginclude_HEADERS instead of plain "include".
+	* libposix/lib/Makefile.am: adjust here, too
+	* gnulib-tool: adjust here, too
+
 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
 
 	bootstrap: port to Solaris sed
@@ -6133,6 +6207,13 @@
 	* modules/vasnprintf-posix-tests (Files): Add it.
 	(TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
 
+2010-11-06  Gary V. Vaughan  <gary@gnu.org>
+
+	libposix: vastly simplified bootstrap sanity check
+	* libposix/bootstrap: Use a much simpler script to ensure that the
+	output of the posix-modules script remains in sync with the module
+	list of the libposix module.
+
 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
 
 	[html] Fix copy/paste bug: Use unique name for compiler warnings.
@@ -6487,6 +6568,95 @@
 	and use malloc rather than the stack for the same reason as
 	mentioned in the comment justifying the other allocation.
 
+2010-10-13  Gary V. Vaughan  <gary@gnu.org>
+
+	libposix: reindent with spaces instead of tabs
+	* libposix/Makefile.am: Reindent with spaces instead of tabs.
+	* libposix/bootstrap: Likewise.
+
+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.
+	* libposix/bootstrap: Add git-version-gen to gnulib-tool
+	invocation.
+	* libposix/configure.ac (AC_INIT): Use it to get a unique
+	version number, and a configure time banner.
+
+	libposix: raw files to import an installable libposix project
+	* libposix/bootstrap: New script to import gnulib posix modules
+	and bootstrap configury so that the result is an installable
+	libposix.la.
+	* libposix/configure.ac: New file to configure the new libposix
+	subdirectory.
+	* libposix/Makefile.am: New file to delegate build duties to the
+	generated libposix/lib/Makefile at make time.
+	* libposix/lib/Makefile.am: New file to make sure `-version-info'
+	is passed to libtool at libposix.la link-time.
+
+	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
@@ -2803,6 +2803,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
@@ -2815,6 +2820,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@"
@@ -2854,6 +2860,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 ="
@@ -2863,6 +2871,7 @@
       echo "pkgdata_DATA ="
     fi
     echo "EXTRA_DIST ="
+    echo "EXTRA_HEADERS ="
     echo "BUILT_SOURCES ="
     echo "SUFFIXES ="
   fi
@@ -2902,11 +2911,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
@@ -2938,7 +2954,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 \\"
@@ -3152,6 +3169,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
@@ -3167,6 +3186,7 @@
     echo "pkgdata_DATA ="
   fi
   echo "EXTRA_DIST ="
+  echo "EXTRA_HEADERS ="
   echo "BUILT_SOURCES ="
   echo "SUFFIXES ="
   echo "MOSTLYCLEANFILES = core *.stackdump"
@@ -3835,6 +3855,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
@@ -3886,6 +3909,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/xalloc-die.c
+++ b/lib/xalloc-die.c
@@ -22,7 +22,10 @@
 
 #include <stdlib.h>
 
+#ifndef GNULIB_LIBPOSIX
 #include "error.h"
+#endif /* GNULIB_LIBPOSIX */
+
 #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 /* GNULIB_LIBPOSIX */
 
   /* The `noreturn' cannot be given to error, since it may return if
      its first argument is 0.  To help compilers understand the
new file mode 100644
--- /dev/null
+++ b/libposix/.gitignore
@@ -0,0 +1,51 @@
+.deps
+.libs
+/.tarball-version
+/.version
+*.a
+*.gperf
+*.la
+*.lo
+*.o
+*.output
+*.valgrind
+/*/glthread
+/*/unistr
+/*/uniwidth
+Makefile
+Makefile.in
+aclocal.m4
+arg-nonnull.h
+/autom4te.cache
+c++defs.h
+compile
+config.*
+/config.rpath
+configure
+depcomp
+/git-version-gen
+install-sh
+/lib/*.alias
+/lib/*.c
+/lib/*.h
+/lib/*.mk
+/lib/*.sed
+/lib/*.sin
+/lib/arpa
+/lib/pt_chown
+/lib/sys
+!lib/version.c
+!lib/version.h.in
+libtool
+ltmain.sh
+/m4
+missing
+stamp-h1
+unused-parameter.h
+warn-on-use.h
+/tests
+/tmp
+_b*
+_i*
+/libposix*.tar.*
+/libposix-*
new file mode 100644
--- /dev/null
+++ b/libposix/Makefile.am
@@ -0,0 +1,4 @@
+ACLOCAL_AMFLAGS         = -I m4
+SUBDIRS                 = lib tests
+DIST_SUBDIRS            = $(SUBDIRS)
+EXTRA_DIST              = bootstrap m4/gnulib-cache.m4
new file mode 100755
--- /dev/null
+++ b/libposix/bootstrap
@@ -0,0 +1,82 @@
+#! /bin/sh
+
+PATH=..:$PATH
+
+if test -d tmp
+then
+    if test -d tmp/modules
+    then rm -f tmp/modules/* >/dev/null 2>&1
+    else mkdir tmp/modules
+    fi
+else
+    mkdir tmp tmp/modules
+fi
+
+posix_list=`
+{   echo alloca
+    posix-modules | sed '/^error$/d'
+} | tr -d ' \t' | sed '/^$/d' | sort -u`
+
+cat > tmp/modules/libposix <<- _EOF_
+	Description:
+	Wrap up all the posix modules into an installable libposix.la.
+
+	Files:
+
+	Depends-on:
+	${posix_list}
+
+	configure.ac:
+
+	Makefile.am:
+	lib_LTLIBRARIES = libposix.la
+
+	Include:
+
+	License:
+	LGPL
+
+	Maintainer:
+	Bruce Korb
+	Gary V. Vaughan
+	_EOF_
+
+opts='--local-dir=tmp
+	--import
+	--lib=libposix
+	--makefile-name=gnulib.mk
+	--macro-prefix=LIBPOSIX
+	--libtool
+	--no-changelog
+	--symlink
+	--with-tests
+	--with-c++-tests
+	--with-longrunning-tests'
+
+# We cannot tell which modules will get pulled in via dependencies
+# when gnulib-tool gets run.  Therefore, strip out "error" from all
+# modules that mention it.  Either we won't use the module, or the
+# module will have to be tweaked to remove the dependency for libposix.
+# "GNULIB_LIBPOSIX" is a CPP symbol for libposix.  Also, avoid testing
+# any module that has had its error dependency removed.
+#
+for mod in `egrep -l '^error$' ../modules/[a-z]*`
+do
+    test "X$mod" = Xerror && continue
+    d=`basename $mod`
+    opts="${opts} --avoid=${d}-tests"
+    sed '/^error$/d' ${mod} > tmp/modules/$d
+done >&2
+
+# Bootstrap for autotools.
+#
+echo gnulib-tool ${opts} git-version-gen libposix
+gnulib-tool ${opts} git-version-gen libposix
+
+# No need to maintain a Makefile.am just to include gnulib.mk.
+#
+mv tests/gnulib.mk tests/Makefile.am
+
+# Run autotools.
+#
+autoreconf --force --install --verbose --symlink
new file mode 100644
--- /dev/null
+++ b/libposix/configure.ac
@@ -0,0 +1,38 @@
+AC_INIT([GNU libposix],
+    m4_esyscmd([./git-version-gen .tarball-version]),
+    [bug-gnulib@gnu.org])
+
+AS_BOX([Configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION])
+
+dnl this should be AC_REQUIRED by gnulib modules that need it,
+dnl but either a couple of modules have forgotten it, or else
+dnl AC_REQUIRE is emitting macro expansions out of order
+dnl
+AC_USE_SYSTEM_EXTENSIONS
+
+dnl we can't use AC_CONFIG_AUX_DIR here, because the heuristics
+dnl for finding install-sh in the generated configure script
+dnl consider this directory to be a subproject of gnulib proper,
+dnl and will only look for install-sh in . and .. :(
+dnl AC_CONFIG_AUX_DIR([build-aux])
+dnl
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_HEADER([config.h])
+AC_CONFIG_FILES([Makefile lib/Makefile tests/Makefile])
+AC_CONFIG_FILES([lib/version.h])
+
+AM_INIT_AUTOMAKE([foreign])
+LT_INIT
+
+# libtool interface versioning for libposix.la
+AC_SUBST([LTV_CURRENT], 0)
+AC_SUBST([LTV_REVISION], 0)
+AC_SUBST([LTV_AGE], 0)
+AC_DEFINE_UNQUOTED(GNULIB_LIBPOSIX,1,[we are libposix])
+
+AC_PROG_CC
+LIBPOSIX_EARLY
+AM_PROG_CC_C_O
+LIBPOSIX_INIT
+
+AC_OUTPUT
new file mode 100644
--- /dev/null
+++ b/libposix/lib/Makefile.am
@@ -0,0 +1,22 @@
+BUILT_SOURCES = lpx-config.h
+SUFFIXES =
+
+EXTRA_DIST = mk-lpx-config-h.sh
+EXTRA_HEADERS =
+nodist_pkginclude_HEADERS = lpx-config.h
+nobase_nodist_pkginclude_HEADERS =
+pkginclude_HEADERS = version.h
+
+CLEANFILES =
+MOSTLYCLEANDIRS =
+MOSTLYCLEANFILES = lpx-config.h
+MAINTAINERCLEANFILES =
+
+include gnulib.mk
+
+libposix_la_LDFLAGS += -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE)
+libposix_la_SOURCES += version.c
+
+version.o : lpx-config.h
+lpx-config.h : $(top_builddir)/config.h
+	$(SHELL) $(srcdir)/mk-lpx-config-h.sh $(top_builddir)/config.h $@
new file mode 100755
--- /dev/null
+++ b/libposix/lib/mk-lpx-config-h.sh
@@ -0,0 +1,55 @@
+#! /bin/sh
+# -*- Mode: Shell-script -*-
+
+# Copyright (C) 2002-2010 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+infile=$1
+outfile=$2
+
+{
+    echo '/*'
+    sed '1,/^$/d;s/^#/ */;/http:\/\/www\.gnu\.org/q' $0
+
+    g='_LPX_CONFIG_H_GUARD'
+    cat <<EOF
+ */
+#ifndef $g
+#define $g 1
+/* derived from the libposix config.h by $0 */
+EOF
+
+    # 1. strip comments for eyeball verification of name changes
+    # 2. Change the #define names
+    # 3. Change the #ifdef names
+    # 4. Change the "defined XXX" names in "#if" directives
+    # 5. Clean up whatever we figure out we've missed.
+    #
+    sedcmd='
+	/^\/\*.*\*\/$/d
+	/^\/\*/,/\*\/$/d
+	/^$/d
+	/#define GNULIB_TEST/d
+	s/^\(# *define *\)\([A-Za-z]\)/\1LPX_\2/
+	/^#if/s/\(defined *\)\([A-Za-z]\)/\1LPX_\2/g
+	s/^\(# *ifn*def *\)\([A-Za-z]\)/\1LPX_\2/
+	s/>DIR_FD_MEMBER_NAME/>LPX_DIR_FD_MEMBER_NAME/
+	s/_GL_UNUSED/_LPX_UNUSED/
+	'
+
+    sed "${sedcmd}" $infile
+
+    echo "#endif /* $g */"
+} > $outfile
new file mode 100644
--- /dev/null
+++ b/libposix/lib/version.c
@@ -0,0 +1,19 @@
+/* A C macro and symbol for compile- and run-time libposix version checking.
+   Copyright (C) 2010 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include "version.h"
+
+char const libposix_version_string[] = LIBPOSIX_VERSION;
new file mode 100644
--- /dev/null
+++ b/libposix/lib/version.h.in
@@ -0,0 +1,20 @@
+/* A C macro and symbol for compile- and run-time libposix version checking.
+   Copyright (C) 2010 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef LIBPOSIX_VERSION
+#define LIBPOSIX_VERSION "@PACKAGE_VERSION@"
+extern char const libposix_version_string[];
+#endif
new file mode 100755
--- /dev/null
+++ b/libposix/mk-tarball
@@ -0,0 +1,98 @@
+#! /bin/sh
+# -*- Mode: Shell-script -*-
+
+# Copyright (C) 2002-2010 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+case "$0" in
+*/* )
+  progdir=`echo "$0" | sed 's@/[^/]*$@@'`
+  cd ${progdir}
+  progdir=`pwd`
+  prognam=`echo "$0" | sed 's@.*/@@'`
+  ;;
+
+* )
+  progdir=`pwd`
+  prognam="$0"
+  ;;
+esac
+
+# kill the patriarch process.  If we are not the patriarch,
+# then exit 1 too.
+#
+func_die()
+{
+  echo "${prognam} failure:  $*" >&2
+  kill -${SIGTERM} ${progpid}
+  exit 1
+}
+
+func_init()
+{
+  progpid=$$
+  glibdir=`cd .. >/dev/null ; pwd`
+  SIGTERM=15
+
+  git --version >/dev/null 2>&1 \
+    || func_die "git is not operational"
+
+  test -d _b && rm -rf _b
+
+  case "$*" in
+  *'--clean'* | *'--clob'* )
+    git clean -f -x -d .
+    test $# -eq 1 && exit 0
+    ;;
+  esac
+
+  case "$-" in
+  *x* ) dashx=-x ;;
+  * ) dashx= ;;
+  esac
+}
+
+func_bootstrap()
+{
+  PS4='>bs> ' \
+    /bin/sh ${dashx} ./bootstrap \
+      || func_die bootstrap failure
+}
+
+func_mkdistro()
+{
+  mkdir _b               || func_die mkdir _b
+  cd _b
+  ../configure           || func_die configure
+  make                   || func_die make
+  make distcheck         || func_die make distcheck
+  mv libposix*.tar.gz .. || func_die cannot move tarball
+}
+
+func_init ${1+"$@"}
+func_bootstrap
+func_mkdistro
+
+:
+
+## 
+## Local Variables:
+## mode: shell-script
+## indent-tabs-mode: nil
+## sh-indentation: 2
+## sh-basic-offset: 2
+## End:
+
+# end of mk-tarball
--- 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
@@ -15,6 +15,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
@@ -19,6 +19,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
@@ -16,6 +16,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
@@ -17,6 +17,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