From 6d55934c65607a0db77403b6b364af25e7ae1a70 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sat, 4 Jan 2014 01:11:00 +0000 Subject: 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. --- configure | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 configure (limited to 'configure') 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 +# +# 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 -- cgit v1.2.3-56-ge451