## Process this file with automake to produce Makefile.in
-AM_CPPFLAGS = \
+HEADERS_CPPFLAGS = \
-I$(top_builddir) \
- -isystem $(top_srcdir)/include/bsd/ \
-include $(top_builddir)/config.h \
- -DLIBBSD_OVERLAY -DLIBBSD_DISABLE_DEPRECATED \
+ -DLIBBSD_DISABLE_DEPRECATED \
-D__REENTRANT
+AM_CPPFLAGS = \
+ -isystem $(top_srcdir)/include/bsd/ \
+ $(HEADERS_CPPFLAGS) \
+ -DLIBBSD_OVERLAY
+
+AM_TESTS_ENVIRONMENT = \
+ export CC="$(CC)"; \
+ export CPPFLAGS="$(HEADERS_CPPFLAGS)"; \
+ export top_srcdir="$(top_srcdir)"; \
+ $(nil)
+
LDADD = $(top_builddir)/src/libbsd.la
+EXTRA_DIST = \
+ headers-overlay.sh \
+ headers-system.sh \
+ $(nil)
+
+check_SCRIPTS = \
+ headers-overlay.sh \
+ headers-system.sh \
+ $(nil)
+
check_PROGRAMS = \
- headers \
overlay \
bzero \
closefrom \
proctitle_init_SOURCES = proctitle.c
proctitle_init_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_USE_SETPROCTITLE_INIT=1
-TESTS = $(check_PROGRAMS)
+TESTS = $(check_SCRIPTS) $(check_PROGRAMS)
--- /dev/null
+#!/bin/sh
+
+set -e
+
+run()
+{
+ echo "$@"
+ "$@"
+}
+
+incdir="${top_srcdir}/include/bsd"
+CPPFLAGS="$CPPFLAGS -DLIBBSD_OVERLAY"
+
+for inc in $(cd $incdir; find -name '*.h' | sort | cut -c3-); do
+ cat >headers-gen.c <<SOURCE
+#include <$inc>
+int main() { return 0; }
+SOURCE
+
+ echo "testing header $inc"
+ run $CC -isystem "$incdir" $CPPFLAGS headers-gen.c -o /dev/null
+ echo
+
+ rm -f headers-gen*
+done
--- /dev/null
+#!/bin/sh
+
+set -e
+
+run()
+{
+ echo "$@"
+ "$@"
+}
+
+incdir="${top_srcdir}/include"
+
+for inc in $(cd $incdir; find -name '*.h' | sort | cut -c3-); do
+ cat >headers-gen.c <<SOURCE
+#include <$inc>
+int main() { return 0; }
+SOURCE
+
+ echo "testing header $inc"
+ run $CC -isystem "$incdir" $CPPFLAGS headers-gen.c -o /dev/null
+ echo
+
+ rm -f headers-gen.*
+done
+++ /dev/null
-/*
- * Copyright © 2012 Guillem Jover <guillem@hadrons.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* Check that all libbsd overlayed headers preprocess. */
-#include <sys/cdefs.h>
-#include <sys/endian.h>
-#include <sys/bitstring.h>
-#include <sys/queue.h>
-#include <sys/tree.h>
-#include <sys/poll.h>
-
-#include <err.h>
-#include <getopt.h>
-#include <libutil.h>
-#include <md5.h>
-#include <nlist.h>
-#include <readpassphrase.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <vis.h>
-
-int
-main()
-{
- return 0;
-}