1274876Sbapt#!/bin/sh 2274876Sbapt# 3322249Sbapt# $Id: configure,v 1.64 2017/07/01 09:47:30 schwarze Exp $ 4316420Sbapt# 5322249Sbapt# Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze <schwarze@openbsd.org> 6274876Sbapt# 7274876Sbapt# Permission to use, copy, modify, and distribute this software for any 8274876Sbapt# purpose with or without fee is hereby granted, provided that the above 9274876Sbapt# copyright notice and this permission notice appear in all copies. 10274876Sbapt# 11274876Sbapt# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12274876Sbapt# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13274876Sbapt# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14274876Sbapt# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15274876Sbapt# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16274876Sbapt# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17274876Sbapt# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18274876Sbapt 19274876Sbaptset -e 20274876Sbapt 21294113Sbapt[ -w config.log ] && mv config.log config.log.old 22294113Sbapt[ -w config.h ] && mv config.h config.h.old 23274876Sbapt 24275432Sbapt# Output file descriptor usage: 25275432Sbapt# 1 (stdout): config.h, Makefile.local 26275432Sbapt# 2 (stderr): original stderr, usually to the console 27275432Sbapt# 3: config.log 28275432Sbapt 29275432Sbaptexec 3> config.log 30275432Sbaptecho "config.log: writing..." 31275432Sbapt 32275432Sbapt# --- default settings ------------------------------------------------- 33275432Sbapt# Initialize all variables here, 34275432Sbapt# such that nothing can leak in from the environment. 35275432Sbapt 36322249SbaptSOURCEDIR=`dirname "$0"` 37322249Sbapt 38322249SbaptMANPATH_BASE="/usr/share/man:/usr/X11R6/man" 39294113SbaptMANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/local/man" 40275432SbaptOSNAME= 41316420SbaptUTF8_LOCALE= 42275432Sbapt 43316420SbaptCC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | env -i make -sf -` 44316420SbaptCFLAGS="-g -W -Wall -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings" 45316420SbaptCFLAGS="${CFLAGS} -Wno-unused-parameter" 46307795SbaptLDADD= 47307795SbaptLDFLAGS= 48316420SbaptLD_NANOSLEEP= 49307795SbaptLD_OHASH= 50322249SbaptLD_RECVMSG= 51275432SbaptSTATIC="-static" 52275432Sbapt 53275432SbaptBUILD_CGI=0 54322249SbaptBUILD_CATMAN=0 55316420SbaptINSTALL_LIBMANDOC=0 56275432Sbapt 57322249SbaptHAVE_CMSG= 58322249SbaptHAVE_CMSG_XPG42=0 59275432SbaptHAVE_DIRENT_NAMLEN= 60316420SbaptHAVE_EFTYPE= 61316420SbaptHAVE_ENDIAN= 62294113SbaptHAVE_ERR= 63275432SbaptHAVE_FTS= 64316420SbaptHAVE_FTS_COMPARE_CONST= 65294113SbaptHAVE_GETLINE= 66275432SbaptHAVE_GETSUBOPT= 67294113SbaptHAVE_ISBLANK= 68294113SbaptHAVE_MKDTEMP= 69316420SbaptHAVE_NANOSLEEP= 70316420SbaptHAVE_NTOHL= 71322249SbaptHAVE_O_DIRECTORY= 72316420SbaptHAVE_OHASH= 73316420SbaptHAVE_PATH_MAX= 74294113SbaptHAVE_PLEDGE= 75294113SbaptHAVE_PROGNAME= 76275432SbaptHAVE_REALLOCARRAY= 77322249SbaptHAVE_RECALLOCARRAY= 78322249SbaptHAVE_RECVMSG= 79294113SbaptHAVE_REWB_BSD= 80294113SbaptHAVE_REWB_SYSV= 81307795SbaptHAVE_SANDBOX_INIT= 82275432SbaptHAVE_STRCASESTR= 83294113SbaptHAVE_STRINGLIST= 84275432SbaptHAVE_STRLCAT= 85275432SbaptHAVE_STRLCPY= 86275432SbaptHAVE_STRPTIME= 87275432SbaptHAVE_STRSEP= 88279527SbaptHAVE_STRTONUM= 89316420SbaptHAVE_SYS_ENDIAN= 90294113SbaptHAVE_VASPRINTF= 91275432SbaptHAVE_WCHAR= 92275432Sbapt 93275432SbaptPREFIX="/usr/local" 94275432SbaptBINDIR= 95275432SbaptSBINDIR= 96322249SbaptBIN_FROM_SBIN= 97275432SbaptINCLUDEDIR= 98275432SbaptLIBDIR= 99275432SbaptMANDIR= 100279527SbaptHOMEBREWDIR= 101275432Sbapt 102275432SbaptWWWPREFIX="/var/www" 103275432SbaptHTDOCDIR= 104275432SbaptCGIBINDIR= 105275432Sbapt 106276219SbaptBINM_APROPOS="apropos" 107322249SbaptBINM_CATMAN="catman" 108294113SbaptBINM_MAKEWHATIS="makewhatis" 109276219SbaptBINM_MAN="man" 110294113SbaptBINM_SOELIM="soelim" 111276219SbaptBINM_WHATIS="whatis" 112276219SbaptMANM_MAN="man" 113294113SbaptMANM_MANCONF="man.conf" 114276219SbaptMANM_MDOC="mdoc" 115276219SbaptMANM_ROFF="roff" 116276219SbaptMANM_EQN="eqn" 117276219SbaptMANM_TBL="tbl" 118276219Sbapt 119275432SbaptINSTALL="install" 120275432SbaptINSTALL_PROGRAM= 121275432SbaptINSTALL_LIB= 122275432SbaptINSTALL_MAN= 123275432SbaptINSTALL_DATA= 124322249SbaptLN="ln -f" 125275432Sbapt 126275432Sbapt# --- manual settings from configure.local ----------------------------- 127275432Sbapt 128294113Sbaptif [ -r ./configure.local ]; then 129275432Sbapt echo "configure.local: reading..." 1>&2 130275432Sbapt echo "configure.local: reading..." 1>&3 131275432Sbapt cat ./configure.local 1>&3 132275432Sbapt . ./configure.local 133275432Sbaptelse 134275432Sbapt echo "configure.local: no (fully automatic configuration)" 1>&2 135275432Sbapt echo "configure.local: no (fully automatic configuration)" 1>&3 136275432Sbaptfi 137275432Sbaptecho 1>&3 138275432Sbapt 139275432Sbapt# --- tests for config.h ---------------------------------------------- 140275432Sbapt 141275432SbaptCOMP="${CC} ${CFLAGS} -Wno-unused -Werror" 142275432Sbapt 143275432Sbapt# Check whether this HAVE_ setting is manually overridden. 144275432Sbapt# If yes, use the override, if no, do not decide anything yet. 145275432Sbapt# Arguments: lower-case test name, manual value 146275432Sbaptismanual() { 147316420Sbapt [ -z "${3}" ] && return 1 148316420Sbapt echo "${1}: manual (HAVE_${2}=${3})" 1>&2 149316420Sbapt echo "${1}: manual (HAVE_${2}=${3})" 1>&3 150275432Sbapt echo 1>&3 151275432Sbapt return 0 152275432Sbapt} 153275432Sbapt 154275432Sbapt# Run a single autoconfiguration test. 155275432Sbapt# In case of success, enable the feature. 156275432Sbapt# In case of failure, do not decide anything yet. 157275432Sbapt# Arguments: lower-case test name, upper-case test name, additional CFLAGS 158275432Sbaptsingletest() { 159275432Sbapt cat 1>&3 << __HEREDOC__ 160316420Sbapt${1}${3}: testing... 161316420Sbapt${COMP} -o test-${1} test-${1}.c ${3} 162275432Sbapt__HEREDOC__ 163275432Sbapt 164322249Sbapt if ${COMP} -o "test-${1}" "${SOURCEDIR}/test-${1}.c" ${3} 1>&3 2>&3 165322249Sbapt then 166316420Sbapt echo "${1}${3}: ${CC} succeeded" 1>&3 167275432Sbapt else 168316420Sbapt echo "${1}${3}: ${CC} failed with $?" 1>&3 169275432Sbapt echo 1>&3 170275432Sbapt return 1 171275432Sbapt fi 172275432Sbapt 173275432Sbapt if ./test-${1} 1>&3 2>&3; then 174316420Sbapt echo "${1}${3}: yes" 1>&2 175316420Sbapt echo "${1}${3}: yes" 1>&3 176275432Sbapt echo 1>&3 177275432Sbapt eval HAVE_${2}=1 178275432Sbapt rm "test-${1}" 179275432Sbapt return 0 180275432Sbapt else 181316420Sbapt echo "${1}${3}: execution failed with $?" 1>&3 182275432Sbapt echo 1>&3 183275432Sbapt rm "test-${1}" 184275432Sbapt return 1 185275432Sbapt fi 186275432Sbapt} 187275432Sbapt 188275432Sbapt# Run a complete autoconfiguration test, including the check for 189275432Sbapt# a manual override and disabling the feature on failure. 190275432Sbapt# Arguments: lower case name, upper case name, additional CFLAGS 191274876Sbaptruntest() { 192275432Sbapt eval _manual=\${HAVE_${2}} 193316420Sbapt ismanual "${1}" "${2}" "${_manual}" && return 0 194275432Sbapt singletest "${1}" "${2}" "${3}" && return 0 195316420Sbapt echo "${1}${3}: no" 1>&2 196275432Sbapt eval HAVE_${2}=0 197275432Sbapt return 1 198274876Sbapt} 199274876Sbapt 200316420Sbapt# Select a UTF-8 locale. 201316420Sbaptget_locale() { 202316420Sbapt [ -n "${HAVE_WCHAR}" ] && [ "${HAVE_WCHAR}" -eq 0 ] && return 0 203316420Sbapt ismanual UTF8_LOCALE UTF8_LOCALE "$UTF8_LOCALE" && return 0 204316420Sbapt echo "UTF8_LOCALE: testing..." 1>&3 205316420Sbapt UTF8_LOCALE=`locale -a | grep -i '^en_US\.UTF-*8$' | head -n 1` 206316420Sbapt if [ -z "${UTF8_LOCALE}" ]; then 207316420Sbapt UTF8_LOCALE=`locale -a | grep -i '\.UTF-*8' | head -n 1` 208316420Sbapt [ -n "${UTF8_LOCALE}" ] || return 1 209316420Sbapt fi 210316420Sbapt echo "UTF8_LOCALE=${UTF8_LOCALE}" 1>&2 211316420Sbapt echo "UTF8_LOCALE=${UTF8_LOCALE}" 1>&3 212316420Sbapt echo 1>&3 213316420Sbapt return 0; 214316420Sbapt} 215316420Sbapt 216316420Sbapt 217275432Sbapt# --- library functions --- 218275432Sbaptruntest dirent-namlen DIRENT_NAMLEN || true 219316420Sbaptruntest be32toh ENDIAN || true 220316420Sbaptruntest be32toh SYS_ENDIAN -DSYS_ENDIAN || true 221316420Sbaptruntest EFTYPE EFTYPE || true 222294113Sbaptruntest err ERR || true 223294113Sbaptruntest getline GETLINE || true 224275432Sbaptruntest getsubopt GETSUBOPT || true 225294113Sbaptruntest isblank ISBLANK || true 226294113Sbaptruntest mkdtemp MKDTEMP || true 227316420Sbaptruntest ntohl NTOHL || true 228322249Sbaptruntest O_DIRECTORY O_DIRECTORY || true 229316420Sbaptruntest PATH_MAX PATH_MAX || true 230294113Sbaptruntest pledge PLEDGE || true 231307795Sbaptruntest sandbox_init SANDBOX_INIT || true 232294113Sbaptruntest progname PROGNAME || true 233275432Sbaptruntest reallocarray REALLOCARRAY || true 234322249Sbaptruntest recallocarray RECALLOCARRAY || true 235294113Sbaptruntest rewb-bsd REWB_BSD || true 236294113Sbaptruntest rewb-sysv REWB_SYSV || true 237275432Sbaptruntest strcasestr STRCASESTR || true 238294113Sbaptruntest stringlist STRINGLIST || true 239275432Sbaptruntest strlcat STRLCAT || true 240275432Sbaptruntest strlcpy STRLCPY || true 241275432Sbaptruntest strptime STRPTIME || true 242275432Sbaptruntest strsep STRSEP || true 243279527Sbaptruntest strtonum STRTONUM || true 244294113Sbaptruntest vasprintf VASPRINTF || true 245275432Sbapt 246316420Sbaptif [ ${HAVE_ENDIAN} -eq 0 -a \ 247316420Sbapt ${HAVE_SYS_ENDIAN} -eq 0 -a \ 248316420Sbapt ${HAVE_NTOHL} -eq 0 ]; then 249316420Sbapt echo "FATAL: no endian conversion functions found" 1>&2 250316420Sbapt echo "FATAL: no endian conversion functions found" 1>&3 251316420Sbapt exit 1 252275432Sbaptfi 253316420Sbapt 254316420Sbaptif ismanual fts FTS ${HAVE_FTS}; then 255316420Sbapt HAVE_FTS_COMPARE_CONST=0 256316420Sbaptelif runtest fts FTS_COMPARE_CONST -DFTS_COMPARE_CONST; then 257316420Sbapt HAVE_FTS=1 258316420Sbaptelse 259316420Sbapt runtest fts FTS || true 260275432Sbaptfi 261275432Sbapt 262316420Sbapt# --- wide character and locale support --- 263316420Sbaptif get_locale; then 264316420Sbapt runtest wchar WCHAR -DUTF8_LOCALE=\"${UTF8_LOCALE}\" || true 265275432Sbaptelse 266316420Sbapt HAVE_WCHAR=0 267316420Sbapt echo "wchar: no (no UTF8_LOCALE)" 1>&2 268316420Sbapt echo "wchar: no (no UTF8_LOCALE)" 1>&3 269275432Sbaptfi 270275432Sbapt 271316420Sbapt# --- nanosleep --- 272316420Sbaptif [ -n "${LD_NANOSLEEP}" ]; then 273316420Sbapt runtest nanosleep NANOSLEEP "${LD_NANOSLEEP}" || true 274316420Sbaptelif singletest nanosleep NANOSLEEP; then 275316420Sbapt : 276316420Sbaptelif runtest nanosleep NANOSLEEP "-lrt"; then 277316420Sbapt LD_NANOSLEEP="-lrt" 278316420Sbaptfi 279316420Sbaptif [ "${HAVE_NANOSLEEP}" -eq 0 ]; then 280316420Sbapt echo "FATAL: nanosleep: no" 1>&2 281316420Sbapt echo "FATAL: nanosleep: no" 1>&3 282316420Sbapt exit 1 283316420Sbaptfi 284316420Sbapt 285322249Sbaptif [ ${BUILD_CATMAN} -gt 0 ]; then 286322249Sbapt # --- recvmsg --- 287322249Sbapt if [ -n "${LD_RECVMSG}" ]; then 288322249Sbapt runtest recvmsg RECVMSG "${LD_RECVMSG}" || true 289322249Sbapt elif singletest recvmsg RECVMSG; then 290322249Sbapt : 291322249Sbapt elif runtest recvmsg RECVMSG "-lsocket"; then 292322249Sbapt LD_RECVMSG="-lsocket" 293322249Sbapt fi 294322249Sbapt if [ "${HAVE_RECVMSG}" -eq 0 ]; then 295322249Sbapt echo "FATAL: recvmsg: no" 1>&2 296322249Sbapt echo "FATAL: recvmsg: no" 1>&3 297322249Sbapt echo "Without recvmsg(2), you cannot BUILD_CATMAN." 1>&2 298322249Sbapt exit 1 299322249Sbapt fi 300322249Sbapt 301322249Sbapt # --- cmsg --- 302322249Sbapt if singletest cmsg CMSG; then 303322249Sbapt : 304322249Sbapt elif runtest cmsg CMSG "-D_XPG4_2"; then 305322249Sbapt HAVE_CMSG_XPG42=1 306322249Sbapt fi 307322249Sbapt if [ "${HAVE_CMSG}" -eq 0 ]; then 308322249Sbapt echo "FATAL: cmsg: no" 1>&2 309322249Sbapt echo "FATAL: cmsg: no" 1>&3 310322249Sbapt echo "Without CMSG_FIRSTHDR(3), you cannot BUILD_CATMAN." 1>&2 311322249Sbapt exit 1 312322249Sbapt fi 313322249Sbaptfi 314322249Sbapt 315275432Sbapt# --- ohash --- 316316420Sbaptif ismanual ohash OHASH "${HAVE_OHASH}"; then 317275432Sbapt : 318307795Sbaptelif [ -n "${LD_OHASH}" ]; then 319307795Sbapt runtest ohash OHASH "${LD_OHASH}" || true 320275432Sbaptelif singletest ohash OHASH; then 321275432Sbapt : 322275432Sbaptelif runtest ohash OHASH "-lutil"; then 323307795Sbapt LD_OHASH="-lutil" 324275432Sbaptfi 325307795Sbaptif [ "${HAVE_OHASH}" -eq 0 ]; then 326307795Sbapt LD_OHASH= 327275432Sbaptfi 328275432Sbapt 329307795Sbapt# --- LDADD --- 330322249SbaptLDADD="${LDADD} ${LD_NANOSLEEP} ${LD_RECVMSG} ${LD_OHASH} -lz" 331307795Sbaptecho "LDADD=\"${LDADD}\"" 1>&2 332307795Sbaptecho "LDADD=\"${LDADD}\"" 1>&3 333307795Sbaptecho 1>&3 334307795Sbapt 335275432Sbapt# --- write config.h --- 336275432Sbapt 337275432Sbaptexec > config.h 338275432Sbapt 339275432Sbaptcat << __HEREDOC__ 340294113Sbapt#ifdef __cplusplus 341294113Sbapt#error "Do not use C++. See the INSTALL file." 342294113Sbapt#endif 343294113Sbapt 344316420Sbapt#if !defined(__GNUC__) || (__GNUC__ < 4) 345316420Sbapt#define __attribute__(x) 346316420Sbapt#endif 347275432Sbapt 348275432Sbapt#if defined(__linux__) || defined(__MINT__) 349275432Sbapt#define _GNU_SOURCE /* See test-*.c what needs this. */ 350275432Sbapt#endif 351275432Sbapt 352275432Sbapt__HEREDOC__ 353275432Sbapt 354322249Sbapt[ ${HAVE_GETLINE} -eq 0 -o \ 355322249Sbapt ${HAVE_REALLOCARRAY} -eq 0 -o ${HAVE_RECALLOCARRAY} -eq 0 -o \ 356275432Sbapt ${HAVE_STRLCAT} -eq 0 -o ${HAVE_STRLCPY} -eq 0 ] \ 357275432Sbapt && echo "#include <sys/types.h>" 358294113Sbapt[ ${HAVE_VASPRINTF} -eq 0 ] && echo "#include <stdarg.h>" 359294113Sbapt[ ${HAVE_GETLINE} -eq 0 ] && echo "#include <stdio.h>" 360275432Sbapt 361274876Sbaptecho 362294113Sbaptecho "#define MAN_CONF_FILE \"/etc/${MANM_MANCONF}\"" 363322249Sbaptecho "#define MANPATH_BASE \"${MANPATH_BASE}\"" 364294113Sbaptecho "#define MANPATH_DEFAULT \"${MANPATH_DEFAULT}\"" 365275432Sbapt[ -n "${OSNAME}" ] && echo "#define OSNAME \"${OSNAME}\"" 366316420Sbapt[ -n "${UTF8_LOCALE}" ] && echo "#define UTF8_LOCALE \"${UTF8_LOCALE}\"" 367279527Sbapt[ -n "${HOMEBREWDIR}" ] && echo "#define HOMEBREWDIR \"${HOMEBREWDIR}\"" 368316420Sbapt[ ${HAVE_EFTYPE} -eq 0 ] && echo "#define EFTYPE EINVAL" 369322249Sbapt[ ${HAVE_O_DIRECTORY} -eq 0 ] && echo "#define O_DIRECTORY 0" 370316420Sbapt[ ${HAVE_PATH_MAX} -eq 0 ] && echo "#define PATH_MAX 4096" 371316420Sbaptif [ ${HAVE_ENDIAN} -eq 0 -a ${HAVE_SYS_ENDIAN} -eq 0 ]; then 372316420Sbapt echo "#define be32toh ntohl" 373316420Sbapt echo "#define htobe32 htonl" 374316420Sbaptfi 375275432Sbapt 376275432Sbaptcat << __HEREDOC__ 377322249Sbapt#define HAVE_CMSG_XPG42 ${HAVE_CMSG_XPG42} 378275432Sbapt#define HAVE_DIRENT_NAMLEN ${HAVE_DIRENT_NAMLEN} 379316420Sbapt#define HAVE_ENDIAN ${HAVE_ENDIAN} 380294113Sbapt#define HAVE_ERR ${HAVE_ERR} 381275432Sbapt#define HAVE_FTS ${HAVE_FTS} 382316420Sbapt#define HAVE_FTS_COMPARE_CONST ${HAVE_FTS_COMPARE_CONST} 383294113Sbapt#define HAVE_GETLINE ${HAVE_GETLINE} 384275432Sbapt#define HAVE_GETSUBOPT ${HAVE_GETSUBOPT} 385294113Sbapt#define HAVE_ISBLANK ${HAVE_ISBLANK} 386294113Sbapt#define HAVE_MKDTEMP ${HAVE_MKDTEMP} 387316420Sbapt#define HAVE_NTOHL ${HAVE_NTOHL} 388294113Sbapt#define HAVE_PLEDGE ${HAVE_PLEDGE} 389294113Sbapt#define HAVE_PROGNAME ${HAVE_PROGNAME} 390275432Sbapt#define HAVE_REALLOCARRAY ${HAVE_REALLOCARRAY} 391322249Sbapt#define HAVE_RECALLOCARRAY ${HAVE_RECALLOCARRAY} 392294113Sbapt#define HAVE_REWB_BSD ${HAVE_REWB_BSD} 393294113Sbapt#define HAVE_REWB_SYSV ${HAVE_REWB_SYSV} 394307795Sbapt#define HAVE_SANDBOX_INIT ${HAVE_SANDBOX_INIT} 395275432Sbapt#define HAVE_STRCASESTR ${HAVE_STRCASESTR} 396294113Sbapt#define HAVE_STRINGLIST ${HAVE_STRINGLIST} 397275432Sbapt#define HAVE_STRLCAT ${HAVE_STRLCAT} 398275432Sbapt#define HAVE_STRLCPY ${HAVE_STRLCPY} 399275432Sbapt#define HAVE_STRPTIME ${HAVE_STRPTIME} 400275432Sbapt#define HAVE_STRSEP ${HAVE_STRSEP} 401279527Sbapt#define HAVE_STRTONUM ${HAVE_STRTONUM} 402316420Sbapt#define HAVE_SYS_ENDIAN ${HAVE_SYS_ENDIAN} 403294113Sbapt#define HAVE_VASPRINTF ${HAVE_VASPRINTF} 404275432Sbapt#define HAVE_WCHAR ${HAVE_WCHAR} 405275432Sbapt#define HAVE_OHASH ${HAVE_OHASH} 406275432Sbapt 407276219Sbapt#define BINM_APROPOS "${BINM_APROPOS}" 408322249Sbapt#define BINM_CATMAN "${BINM_CATMAN}" 409294113Sbapt#define BINM_MAKEWHATIS "${BINM_MAKEWHATIS}" 410276219Sbapt#define BINM_MAN "${BINM_MAN}" 411294113Sbapt#define BINM_SOELIM "${BINM_SOELIM}" 412276219Sbapt#define BINM_WHATIS "${BINM_WHATIS}" 413276219Sbapt 414275432Sbapt__HEREDOC__ 415275432Sbapt 416294113Sbaptif [ ${HAVE_ERR} -eq 0 ]; then 417294113Sbapt echo "extern void err(int, const char *, ...);" 418294113Sbapt echo "extern void errx(int, const char *, ...);" 419294113Sbapt echo "extern void warn(const char *, ...);" 420294113Sbapt echo "extern void warnx(const char *, ...);" 421294113Sbaptfi 422275432Sbapt 423294113Sbapt[ ${HAVE_GETLINE} -eq 0 ] && \ 424294113Sbapt echo "extern ssize_t getline(char **, size_t *, FILE *);" 425294113Sbapt 426275432Sbapt[ ${HAVE_GETSUBOPT} -eq 0 ] && \ 427275432Sbapt echo "extern int getsubopt(char **, char * const *, char **);" 428275432Sbapt 429294113Sbapt[ ${HAVE_ISBLANK} -eq 0 ] && \ 430294113Sbapt echo "extern int isblank(int);" 431294113Sbapt 432294113Sbapt[ ${HAVE_MKDTEMP} -eq 0 ] && \ 433294113Sbapt echo "extern char *mkdtemp(char *);" 434294113Sbapt 435294113Sbaptif [ ${HAVE_PROGNAME} -eq 0 ]; then 436294113Sbapt echo "extern const char *getprogname(void);" 437294113Sbapt echo "extern void setprogname(const char *);" 438294113Sbaptfi 439294113Sbapt 440275432Sbapt[ ${HAVE_REALLOCARRAY} -eq 0 ] && \ 441275432Sbapt echo "extern void *reallocarray(void *, size_t, size_t);" 442275432Sbapt 443322249Sbapt[ ${HAVE_RECALLOCARRAY} -eq 0 ] && \ 444322249Sbapt echo "extern void *recallocarray(void *, size_t, size_t, size_t);" 445322249Sbapt 446275432Sbapt[ ${HAVE_STRCASESTR} -eq 0 ] && \ 447275432Sbapt echo "extern char *strcasestr(const char *, const char *);" 448275432Sbapt 449275432Sbapt[ ${HAVE_STRLCAT} -eq 0 ] && \ 450275432Sbapt echo "extern size_t strlcat(char *, const char *, size_t);" 451275432Sbapt 452275432Sbapt[ ${HAVE_STRLCPY} -eq 0 ] && \ 453275432Sbapt echo "extern size_t strlcpy(char *, const char *, size_t);" 454275432Sbapt 455275432Sbapt[ ${HAVE_STRSEP} -eq 0 ] && \ 456275432Sbapt echo "extern char *strsep(char **, const char *);" 457275432Sbapt 458279527Sbapt[ ${HAVE_STRTONUM} -eq 0 ] && \ 459279527Sbapt echo "extern long long strtonum(const char *, long long, long long, const char **);" 460279527Sbapt 461294113Sbapt[ ${HAVE_VASPRINTF} -eq 0 ] && \ 462294113Sbapt echo "extern int vasprintf(char **, const char *, va_list);" 463294113Sbapt 464275432Sbaptecho "config.h: written" 1>&2 465275432Sbaptecho "config.h: written" 1>&3 466275432Sbapt 467275432Sbapt# --- tests for Makefile.local ----------------------------------------- 468275432Sbapt 469275432Sbaptexec > Makefile.local 470275432Sbapt 471322249Sbapt[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" 472322249Sbapt[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" 473322249Sbapt[ -z "${BIN_FROM_SBIN}" ] && BIN_FROM_SBIN="../bin" 474322249Sbapt[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc" 475322249Sbapt[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc" 476322249Sbapt[ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man" 477275432Sbapt 478322249Sbapt[ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs" 479322249Sbapt[ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin" 480275432Sbapt 481275432Sbapt[ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555" 482275432Sbapt[ -z "${INSTALL_LIB}" ] && INSTALL_LIB="${INSTALL} -m 0444" 483275432Sbapt[ -z "${INSTALL_MAN}" ] && INSTALL_MAN="${INSTALL} -m 0444" 484275432Sbapt[ -z "${INSTALL_DATA}" ] && INSTALL_DATA="${INSTALL} -m 0444" 485275432Sbapt 486316420SbaptBUILD_TARGETS= 487322249Sbapt[ ${BUILD_CGI} -gt 0 ] && BUILD_TARGETS="man.cgi" 488322249Sbapt[ ${BUILD_CATMAN} -gt 0 ] && \ 489322249Sbapt BUILD_TARGETS="${BUILD_TARGETS} mandocd catman" 490316420SbaptINSTALL_TARGETS= 491316420Sbapt[ ${INSTALL_LIBMANDOC} -gt 0 ] && INSTALL_TARGETS="lib-install" 492276219Sbapt[ ${BUILD_CGI} -gt 0 ] && INSTALL_TARGETS="${INSTALL_TARGETS} cgi-install" 493322249Sbapt[ ${BUILD_CATMAN} -gt 0 ] && \ 494322249Sbapt INSTALL_TARGETS="${INSTALL_TARGETS} catman-install" 495275432Sbapt 496275432Sbaptcat << __HEREDOC__ 497275432SbaptBUILD_TARGETS = ${BUILD_TARGETS} 498276219SbaptINSTALL_TARGETS = ${INSTALL_TARGETS} 499294113SbaptCC = ${CC} 500275432SbaptCFLAGS = ${CFLAGS} 501307795SbaptLDADD = ${LDADD} 502307795SbaptLDFLAGS = ${LDFLAGS} 503275432SbaptSTATIC = ${STATIC} 504275432SbaptPREFIX = ${PREFIX} 505275432SbaptBINDIR = ${BINDIR} 506275432SbaptSBINDIR = ${SBINDIR} 507322249SbaptBIN_FROM_SBIN = ${BIN_FROM_SBIN} 508275432SbaptINCLUDEDIR = ${INCLUDEDIR} 509275432SbaptLIBDIR = ${LIBDIR} 510275432SbaptMANDIR = ${MANDIR} 511275432SbaptWWWPREFIX = ${WWWPREFIX} 512275432SbaptHTDOCDIR = ${HTDOCDIR} 513275432SbaptCGIBINDIR = ${CGIBINDIR} 514276219SbaptBINM_APROPOS = ${BINM_APROPOS} 515322249SbaptBINM_CATMAN = ${BINM_CATMAN} 516294113SbaptBINM_MAKEWHATIS = ${BINM_MAKEWHATIS} 517276219SbaptBINM_MAN = ${BINM_MAN} 518294113SbaptBINM_SOELIM = ${BINM_SOELIM} 519276219SbaptBINM_WHATIS = ${BINM_WHATIS} 520276219SbaptMANM_MAN = ${MANM_MAN} 521294113SbaptMANM_MANCONF = ${MANM_MANCONF} 522276219SbaptMANM_MDOC = ${MANM_MDOC} 523276219SbaptMANM_ROFF = ${MANM_ROFF} 524276219SbaptMANM_EQN = ${MANM_EQN} 525276219SbaptMANM_TBL = ${MANM_TBL} 526275432SbaptINSTALL = ${INSTALL} 527275432SbaptINSTALL_PROGRAM = ${INSTALL_PROGRAM} 528275432SbaptINSTALL_LIB = ${INSTALL_LIB} 529275432SbaptINSTALL_MAN = ${INSTALL_MAN} 530275432SbaptINSTALL_DATA = ${INSTALL_DATA} 531322249SbaptLN = ${LN} 532275432Sbapt__HEREDOC__ 533275432Sbapt 534275432Sbaptecho "Makefile.local: written" 1>&2 535275432Sbaptecho "Makefile.local: written" 1>&3 536275432Sbapt 537274876Sbaptexit 0 538