[BACK]Return to configure CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

File: [cvsweb.bsd.lv] / mandoc / configure (download)

Revision 1.6, Tue Aug 5 12:50:52 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.5: +2 -0 lines

Since old SQLite versions do not have sqlite3_errstr(),
provide a dummy fallback implementation.
Do not bother to decode the error, SQLite error codes
are not useful enough for that to be worthwhile.
Note that using sqlite3_errmsg(db) would be a bad idea:
On malloc() failure, db is NULL, which would cause a segfault.
Issue noticed by kristaps@.

#!/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} ${3} -o test-${1} test-${1}.c 1>&2
	${CC} ${CFLAGS} ${3} -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 -lutil
runtest reallocarray REALLOCARRAY
runtest sqlite3_errstr SQLITE3_ERRSTR \
	"-I/usr/local/include -L/usr/local/lib -lsqlite3"
runtest strcasestr STRCASESTR
runtest strlcat STRLCAT
runtest strlcpy STRLCPY
runtest strptime STRPTIME
runtest strsep STRSEP
echo
cat config.h.post

exit 0