diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-01-04 01:11:00 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-01-04 01:11:00 +0000 |
commit | dfda0cb34b738e8d555c93e3f4f316a2594a9d25 (patch) | |
tree | 4f295e79675d1c9d62354c0c23719c00b77183f1 /configure | |
parent | c17325b87a0a99d79e776e4c805dc22ae21cef67 (diff) | |
download | mandoc-dfda0cb34b738e8d555c93e3f4f316a2594a9d25.tar.gz |
Clean up feature tests:
* Split the configure steering script out of the Makefile.
* Let the configure step depend on the test sources.
* Clean up the test programs such that they can be run.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/configure b/configure new file mode 100755 index 00000000..1d164697 --- /dev/null +++ b/configure @@ -0,0 +1,45 @@ +#!/bin/sh +# +# Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +set -e +exec > config.h 2> config.log + +CFLAGS="${CFLAGS} -Wno-unused -Werror" + +runtest() { + echo ${CC} ${CFLAGS} -o test-${1} test-${1}.c 1>&2 + ${CC} ${CFLAGS} -o "test-${1}" "test-${1}.c" 1>&2 || return 0 + "./test-${1}" && echo "#define HAVE_${2}" \ + || echo FAILURE: test-${1} returned $? 1>&2 + rm "test-${1}" +} + +cat config.h.pre +echo +echo "#define VERSION \"${VERSION}\"" +runtest fgetln FGETLN +runtest getsubopt GETSUBOPT +runtest mmap MMAP +runtest ohash OHASH +runtest strcasestr STRCASESTR +runtest strlcat STRLCAT +runtest strlcpy STRLCPY +runtest strptime STRPTIME +runtest strsep STRSEP +echo +cat config.h.post + +exit 0 |