Description:
A <sys/wait.h> for systems with missing declarations.

Files:
lib/sys_wait.in.h
m4/sys_wait_h.m4

Depends-on:
include_next
snippet/c++defs
snippet/warn-on-use

configure.ac:
gl_SYS_WAIT_H
AC_PROG_MKDIR_P

Makefile.am:
BUILT_SOURCES += sys/wait.h

# We need the following in order to create <sys/wait.h> when the system
# has one that is incomplete.
sys/wait.h: sys_wait.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
	$(AM_V_at)$(MKDIR_P) sys
	$(AM_V_GEN)rm -f $@-t $@ && \
	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
	  sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
	      -e 's|@''NEXT_SYS_WAIT_H''@|$(NEXT_SYS_WAIT_H)|g' \
	      -e 's/@''GNULIB_WAITPID''@/$(GNULIB_WAITPID)/g' \
	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
	      < $(srcdir)/sys_wait.in.h; \
	} > $@-t && \
	mv $@-t $@
MOSTLYCLEANFILES += sys/wait.h sys/wait.h-t
MOSTLYCLEANDIRS += sys

Include:
<sys/wait.h>

License:
LGPLv2+

Maintainer:
all
