Annotation of mandoc/configure, Revision 1.63
1.1 schwarze 1: #!/bin/sh
2: #
1.63 ! schwarze 3: # $Id: configure,v 1.62 2017/03/04 16:36:29 schwarze Exp $
1.47 schwarze 4: #
1.59 schwarze 5: # Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze <schwarze@openbsd.org>
1.1 schwarze 6: #
7: # Permission to use, copy, modify, and distribute this software for any
8: # purpose with or without fee is hereby granted, provided that the above
9: # copyright notice and this permission notice appear in all copies.
10: #
11: # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12: # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13: # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14: # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15: # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16: # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17: # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18:
1.11 schwarze 19: set -e
20:
1.36 schwarze 21: [ -w config.log ] && mv config.log config.log.old
22: [ -w config.h ] && mv config.h config.h.old
1.11 schwarze 23:
24: # Output file descriptor usage:
25: # 1 (stdout): config.h, Makefile.local
26: # 2 (stderr): original stderr, usually to the console
27: # 3: config.log
28:
29: exec 3> config.log
30: echo "config.log: writing..."
31:
32: # --- default settings -------------------------------------------------
33: # Initialize all variables here,
34: # such that nothing can leak in from the environment.
35:
1.60 schwarze 36: SOURCEDIR=`dirname "$0"`
37:
1.24 schwarze 38: MANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/local/man"
1.11 schwarze 39: OSNAME=
1.48 schwarze 40: UTF8_LOCALE=
1.11 schwarze 41:
1.51 schwarze 42: CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | env -i make -sf -`
1.42 schwarze 43: CFLAGS="-g -W -Wall -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings"
44: CFLAGS="${CFLAGS} -Wno-unused-parameter"
1.38 schwarze 45: LDADD=
1.39 schwarze 46: LDFLAGS=
1.47 schwarze 47: LD_NANOSLEEP=
1.38 schwarze 48: LD_OHASH=
1.57 schwarze 49: LD_RECVMSG=
1.11 schwarze 50: STATIC="-static"
51:
52: BUILD_CGI=0
1.56 schwarze 53: BUILD_CATMAN=0
1.54 schwarze 54: INSTALL_LIBMANDOC=0
1.11 schwarze 55:
1.57 schwarze 56: HAVE_CMSG=
57: HAVE_CMSG_XPG42=0
1.11 schwarze 58: HAVE_DIRENT_NAMLEN=
1.46 schwarze 59: HAVE_EFTYPE=
1.50 schwarze 60: HAVE_ENDIAN=
1.28 schwarze 61: HAVE_ERR=
1.11 schwarze 62: HAVE_FTS=
1.52 schwarze 63: HAVE_FTS_COMPARE_CONST=
1.35 schwarze 64: HAVE_GETLINE=
1.11 schwarze 65: HAVE_GETSUBOPT=
1.23 schwarze 66: HAVE_ISBLANK=
67: HAVE_MKDTEMP=
1.47 schwarze 68: HAVE_NANOSLEEP=
1.50 schwarze 69: HAVE_NTOHL=
1.61 schwarze 70: HAVE_O_DIRECTORY=
1.45 schwarze 71: HAVE_OHASH=
1.49 schwarze 72: HAVE_PATH_MAX=
1.30 schwarze 73: HAVE_PLEDGE=
1.28 schwarze 74: HAVE_PROGNAME=
1.11 schwarze 75: HAVE_REALLOCARRAY=
1.63 ! schwarze 76: HAVE_RECALLOCARRAY=
1.57 schwarze 77: HAVE_RECVMSG=
1.31 schwarze 78: HAVE_REWB_BSD=
79: HAVE_REWB_SYSV=
1.40 kristaps 80: HAVE_SANDBOX_INIT=
1.11 schwarze 81: HAVE_STRCASESTR=
1.26 schwarze 82: HAVE_STRINGLIST=
1.11 schwarze 83: HAVE_STRLCAT=
84: HAVE_STRLCPY=
85: HAVE_STRPTIME=
86: HAVE_STRSEP=
1.19 schwarze 87: HAVE_STRTONUM=
1.50 schwarze 88: HAVE_SYS_ENDIAN=
1.23 schwarze 89: HAVE_VASPRINTF=
1.11 schwarze 90: HAVE_WCHAR=
91:
92: PREFIX="/usr/local"
93: BINDIR=
94: SBINDIR=
1.62 schwarze 95: BIN_FROM_SBIN=
1.11 schwarze 96: INCLUDEDIR=
97: LIBDIR=
98: MANDIR=
1.18 schwarze 99: HOMEBREWDIR=
1.11 schwarze 100:
101: WWWPREFIX="/var/www"
102: HTDOCDIR=
103: CGIBINDIR=
104:
1.16 schwarze 105: BINM_APROPOS="apropos"
1.58 schwarze 106: BINM_CATMAN="catman"
1.26 schwarze 107: BINM_MAKEWHATIS="makewhatis"
1.16 schwarze 108: BINM_MAN="man"
1.26 schwarze 109: BINM_SOELIM="soelim"
1.16 schwarze 110: BINM_WHATIS="whatis"
111: MANM_MAN="man"
1.25 schwarze 112: MANM_MANCONF="man.conf"
1.16 schwarze 113: MANM_MDOC="mdoc"
114: MANM_ROFF="roff"
115: MANM_EQN="eqn"
116: MANM_TBL="tbl"
117:
1.11 schwarze 118: INSTALL="install"
119: INSTALL_PROGRAM=
120: INSTALL_LIB=
121: INSTALL_MAN=
122: INSTALL_DATA=
1.59 schwarze 123: LN="ln -f"
1.11 schwarze 124:
125: # --- manual settings from configure.local -----------------------------
1.8 schwarze 126:
1.36 schwarze 127: if [ -r ./configure.local ]; then
1.11 schwarze 128: echo "configure.local: reading..." 1>&2
129: echo "configure.local: reading..." 1>&3
130: cat ./configure.local 1>&3
131: . ./configure.local
132: else
133: echo "configure.local: no (fully automatic configuration)" 1>&2
134: echo "configure.local: no (fully automatic configuration)" 1>&3
135: fi
136: echo 1>&3
137:
138: # --- tests for config.h ----------------------------------------------
139:
140: COMP="${CC} ${CFLAGS} -Wno-unused -Werror"
141:
142: # Check whether this HAVE_ setting is manually overridden.
143: # If yes, use the override, if no, do not decide anything yet.
144: # Arguments: lower-case test name, manual value
145: ismanual() {
1.52 schwarze 146: [ -z "${3}" ] && return 1
147: echo "${1}: manual (HAVE_${2}=${3})" 1>&2
148: echo "${1}: manual (HAVE_${2}=${3})" 1>&3
1.11 schwarze 149: echo 1>&3
150: return 0
151: }
152:
153: # Run a single autoconfiguration test.
154: # In case of success, enable the feature.
155: # In case of failure, do not decide anything yet.
156: # Arguments: lower-case test name, upper-case test name, additional CFLAGS
157: singletest() {
158: cat 1>&3 << __HEREDOC__
1.52 schwarze 159: ${1}${3}: testing...
1.55 schwarze 160: ${COMP} -o test-${1} test-${1}.c ${3}
1.11 schwarze 161: __HEREDOC__
162:
1.60 schwarze 163: if ${COMP} -o "test-${1}" "${SOURCEDIR}/test-${1}.c" ${3} 1>&3 2>&3
164: then
1.52 schwarze 165: echo "${1}${3}: ${CC} succeeded" 1>&3
1.11 schwarze 166: else
1.52 schwarze 167: echo "${1}${3}: ${CC} failed with $?" 1>&3
1.11 schwarze 168: echo 1>&3
169: return 1
170: fi
1.1 schwarze 171:
1.11 schwarze 172: if ./test-${1} 1>&3 2>&3; then
1.52 schwarze 173: echo "${1}${3}: yes" 1>&2
174: echo "${1}${3}: yes" 1>&3
1.11 schwarze 175: echo 1>&3
176: eval HAVE_${2}=1
177: rm "test-${1}"
178: return 0
179: else
1.52 schwarze 180: echo "${1}${3}: execution failed with $?" 1>&3
1.11 schwarze 181: echo 1>&3
182: rm "test-${1}"
183: return 1
184: fi
185: }
1.1 schwarze 186:
1.11 schwarze 187: # Run a complete autoconfiguration test, including the check for
188: # a manual override and disabling the feature on failure.
189: # Arguments: lower case name, upper case name, additional CFLAGS
1.1 schwarze 190: runtest() {
1.11 schwarze 191: eval _manual=\${HAVE_${2}}
1.52 schwarze 192: ismanual "${1}" "${2}" "${_manual}" && return 0
1.11 schwarze 193: singletest "${1}" "${2}" "${3}" && return 0
1.52 schwarze 194: echo "${1}${3}: no" 1>&2
1.11 schwarze 195: eval HAVE_${2}=0
196: return 1
1.1 schwarze 197: }
198:
1.48 schwarze 199: # Select a UTF-8 locale.
200: get_locale() {
201: [ -n "${HAVE_WCHAR}" ] && [ "${HAVE_WCHAR}" -eq 0 ] && return 0
1.53 schwarze 202: ismanual UTF8_LOCALE UTF8_LOCALE "$UTF8_LOCALE" && return 0
1.48 schwarze 203: echo "UTF8_LOCALE: testing..." 1>&3
204: UTF8_LOCALE=`locale -a | grep -i '^en_US\.UTF-*8$' | head -n 1`
205: if [ -z "${UTF8_LOCALE}" ]; then
206: UTF8_LOCALE=`locale -a | grep -i '\.UTF-*8' | head -n 1`
207: [ -n "${UTF8_LOCALE}" ] || return 1
208: fi
209: echo "UTF8_LOCALE=${UTF8_LOCALE}" 1>&2
210: echo "UTF8_LOCALE=${UTF8_LOCALE}" 1>&3
211: echo 1>&3
212: return 0;
213: }
214:
215:
1.11 schwarze 216: # --- library functions ---
217: runtest dirent-namlen DIRENT_NAMLEN || true
1.50 schwarze 218: runtest be32toh ENDIAN || true
219: runtest be32toh SYS_ENDIAN -DSYS_ENDIAN || true
1.46 schwarze 220: runtest EFTYPE EFTYPE || true
1.28 schwarze 221: runtest err ERR || true
1.35 schwarze 222: runtest getline GETLINE || true
1.11 schwarze 223: runtest getsubopt GETSUBOPT || true
1.23 schwarze 224: runtest isblank ISBLANK || true
225: runtest mkdtemp MKDTEMP || true
1.50 schwarze 226: runtest ntohl NTOHL || true
1.61 schwarze 227: runtest O_DIRECTORY O_DIRECTORY || true
1.49 schwarze 228: runtest PATH_MAX PATH_MAX || true
1.30 schwarze 229: runtest pledge PLEDGE || true
1.40 kristaps 230: runtest sandbox_init SANDBOX_INIT || true
1.28 schwarze 231: runtest progname PROGNAME || true
1.11 schwarze 232: runtest reallocarray REALLOCARRAY || true
1.63 ! schwarze 233: runtest recallocarray RECALLOCARRAY || true
1.31 schwarze 234: runtest rewb-bsd REWB_BSD || true
235: runtest rewb-sysv REWB_SYSV || true
1.11 schwarze 236: runtest strcasestr STRCASESTR || true
1.26 schwarze 237: runtest stringlist STRINGLIST || true
1.11 schwarze 238: runtest strlcat STRLCAT || true
239: runtest strlcpy STRLCPY || true
240: runtest strptime STRPTIME || true
241: runtest strsep STRSEP || true
1.19 schwarze 242: runtest strtonum STRTONUM || true
1.23 schwarze 243: runtest vasprintf VASPRINTF || true
1.48 schwarze 244:
1.50 schwarze 245: if [ ${HAVE_ENDIAN} -eq 0 -a \
246: ${HAVE_SYS_ENDIAN} -eq 0 -a \
247: ${HAVE_NTOHL} -eq 0 ]; then
248: echo "FATAL: no endian conversion functions found" 1>&2
249: echo "FATAL: no endian conversion functions found" 1>&3
250: exit 1
251: fi
252:
1.52 schwarze 253: if ismanual fts FTS ${HAVE_FTS}; then
254: HAVE_FTS_COMPARE_CONST=0
255: elif runtest fts FTS_COMPARE_CONST -DFTS_COMPARE_CONST; then
256: HAVE_FTS=1
257: else
258: runtest fts FTS || true
259: fi
260:
1.48 schwarze 261: # --- wide character and locale support ---
262: if get_locale; then
263: runtest wchar WCHAR -DUTF8_LOCALE=\"${UTF8_LOCALE}\" || true
264: else
265: HAVE_WCHAR=0
266: echo "wchar: no (no UTF8_LOCALE)" 1>&2
267: echo "wchar: no (no UTF8_LOCALE)" 1>&3
268: fi
1.11 schwarze 269:
1.47 schwarze 270: # --- nanosleep ---
271: if [ -n "${LD_NANOSLEEP}" ]; then
272: runtest nanosleep NANOSLEEP "${LD_NANOSLEEP}" || true
273: elif singletest nanosleep NANOSLEEP; then
274: :
275: elif runtest nanosleep NANOSLEEP "-lrt"; then
276: LD_NANOSLEEP="-lrt"
277: fi
278: if [ "${HAVE_NANOSLEEP}" -eq 0 ]; then
279: echo "FATAL: nanosleep: no" 1>&2
280: echo "FATAL: nanosleep: no" 1>&3
281: exit 1
282: fi
283:
1.57 schwarze 284: if [ ${BUILD_CATMAN} -gt 0 ]; then
285: # --- recvmsg ---
286: if [ -n "${LD_RECVMSG}" ]; then
287: runtest recvmsg RECVMSG "${LD_RECVMSG}" || true
288: elif singletest recvmsg RECVMSG; then
289: :
290: elif runtest recvmsg RECVMSG "-lsocket"; then
291: LD_RECVMSG="-lsocket"
292: fi
293: if [ "${HAVE_RECVMSG}" -eq 0 ]; then
294: echo "FATAL: recvmsg: no" 1>&2
295: echo "FATAL: recvmsg: no" 1>&3
296: echo "Without recvmsg(2), you cannot BUILD_CATMAN." 1>&2
297: exit 1
298: fi
299:
300: # --- cmsg ---
301: if singletest cmsg CMSG; then
302: :
303: elif runtest cmsg CMSG "-D_XPG4_2"; then
304: HAVE_CMSG_XPG42=1
305: fi
306: if [ "${HAVE_CMSG}" -eq 0 ]; then
307: echo "FATAL: cmsg: no" 1>&2
308: echo "FATAL: cmsg: no" 1>&3
309: echo "Without CMSG_FIRSTHDR(3), you cannot BUILD_CATMAN." 1>&2
310: exit 1
311: fi
312: fi
313:
1.11 schwarze 314: # --- ohash ---
1.52 schwarze 315: if ismanual ohash OHASH "${HAVE_OHASH}"; then
1.11 schwarze 316: :
1.38 schwarze 317: elif [ -n "${LD_OHASH}" ]; then
318: runtest ohash OHASH "${LD_OHASH}" || true
1.11 schwarze 319: elif singletest ohash OHASH; then
320: :
321: elif runtest ohash OHASH "-lutil"; then
1.38 schwarze 322: LD_OHASH="-lutil"
323: fi
324: if [ "${HAVE_OHASH}" -eq 0 ]; then
325: LD_OHASH=
1.11 schwarze 326: fi
327:
1.38 schwarze 328: # --- LDADD ---
1.57 schwarze 329: LDADD="${LDADD} ${LD_NANOSLEEP} ${LD_RECVMSG} ${LD_OHASH} -lz"
1.38 schwarze 330: echo "LDADD=\"${LDADD}\"" 1>&2
331: echo "LDADD=\"${LDADD}\"" 1>&3
332: echo 1>&3
1.11 schwarze 333:
334: # --- write config.h ---
335:
336: exec > config.h
337:
338: cat << __HEREDOC__
1.33 schwarze 339: #ifdef __cplusplus
340: #error "Do not use C++. See the INSTALL file."
341: #endif
342:
1.43 schwarze 343: #if !defined(__GNUC__) || (__GNUC__ < 4)
344: #define __attribute__(x)
345: #endif
1.11 schwarze 346:
347: #if defined(__linux__) || defined(__MINT__)
1.14 schwarze 348: #define _GNU_SOURCE /* See test-*.c what needs this. */
1.11 schwarze 349: #endif
350:
351: __HEREDOC__
352:
1.63 ! schwarze 353: [ ${HAVE_GETLINE} -eq 0 -o \
! 354: ${HAVE_REALLOCARRAY} -eq 0 -o ${HAVE_RECALLOCARRAY} -eq 0 -o \
1.11 schwarze 355: ${HAVE_STRLCAT} -eq 0 -o ${HAVE_STRLCPY} -eq 0 ] \
356: && echo "#include <sys/types.h>"
1.23 schwarze 357: [ ${HAVE_VASPRINTF} -eq 0 ] && echo "#include <stdarg.h>"
1.35 schwarze 358: [ ${HAVE_GETLINE} -eq 0 ] && echo "#include <stdio.h>"
1.11 schwarze 359:
1.1 schwarze 360: echo
1.25 schwarze 361: echo "#define MAN_CONF_FILE \"/etc/${MANM_MANCONF}\""
1.24 schwarze 362: echo "#define MANPATH_DEFAULT \"${MANPATH_DEFAULT}\""
1.11 schwarze 363: [ -n "${OSNAME}" ] && echo "#define OSNAME \"${OSNAME}\""
1.48 schwarze 364: [ -n "${UTF8_LOCALE}" ] && echo "#define UTF8_LOCALE \"${UTF8_LOCALE}\""
1.18 schwarze 365: [ -n "${HOMEBREWDIR}" ] && echo "#define HOMEBREWDIR \"${HOMEBREWDIR}\""
1.46 schwarze 366: [ ${HAVE_EFTYPE} -eq 0 ] && echo "#define EFTYPE EINVAL"
1.61 schwarze 367: [ ${HAVE_O_DIRECTORY} -eq 0 ] && echo "#define O_DIRECTORY 0"
1.49 schwarze 368: [ ${HAVE_PATH_MAX} -eq 0 ] && echo "#define PATH_MAX 4096"
1.50 schwarze 369: if [ ${HAVE_ENDIAN} -eq 0 -a ${HAVE_SYS_ENDIAN} -eq 0 ]; then
370: echo "#define be32toh ntohl"
371: echo "#define htobe32 htonl"
372: fi
1.11 schwarze 373:
374: cat << __HEREDOC__
1.57 schwarze 375: #define HAVE_CMSG_XPG42 ${HAVE_CMSG_XPG42}
1.11 schwarze 376: #define HAVE_DIRENT_NAMLEN ${HAVE_DIRENT_NAMLEN}
1.50 schwarze 377: #define HAVE_ENDIAN ${HAVE_ENDIAN}
1.28 schwarze 378: #define HAVE_ERR ${HAVE_ERR}
1.11 schwarze 379: #define HAVE_FTS ${HAVE_FTS}
1.52 schwarze 380: #define HAVE_FTS_COMPARE_CONST ${HAVE_FTS_COMPARE_CONST}
1.35 schwarze 381: #define HAVE_GETLINE ${HAVE_GETLINE}
1.11 schwarze 382: #define HAVE_GETSUBOPT ${HAVE_GETSUBOPT}
1.23 schwarze 383: #define HAVE_ISBLANK ${HAVE_ISBLANK}
384: #define HAVE_MKDTEMP ${HAVE_MKDTEMP}
1.50 schwarze 385: #define HAVE_NTOHL ${HAVE_NTOHL}
1.30 schwarze 386: #define HAVE_PLEDGE ${HAVE_PLEDGE}
1.28 schwarze 387: #define HAVE_PROGNAME ${HAVE_PROGNAME}
1.11 schwarze 388: #define HAVE_REALLOCARRAY ${HAVE_REALLOCARRAY}
1.63 ! schwarze 389: #define HAVE_RECALLOCARRAY ${HAVE_RECALLOCARRAY}
1.31 schwarze 390: #define HAVE_REWB_BSD ${HAVE_REWB_BSD}
391: #define HAVE_REWB_SYSV ${HAVE_REWB_SYSV}
1.40 kristaps 392: #define HAVE_SANDBOX_INIT ${HAVE_SANDBOX_INIT}
1.11 schwarze 393: #define HAVE_STRCASESTR ${HAVE_STRCASESTR}
1.26 schwarze 394: #define HAVE_STRINGLIST ${HAVE_STRINGLIST}
1.11 schwarze 395: #define HAVE_STRLCAT ${HAVE_STRLCAT}
396: #define HAVE_STRLCPY ${HAVE_STRLCPY}
397: #define HAVE_STRPTIME ${HAVE_STRPTIME}
398: #define HAVE_STRSEP ${HAVE_STRSEP}
1.19 schwarze 399: #define HAVE_STRTONUM ${HAVE_STRTONUM}
1.50 schwarze 400: #define HAVE_SYS_ENDIAN ${HAVE_SYS_ENDIAN}
1.23 schwarze 401: #define HAVE_VASPRINTF ${HAVE_VASPRINTF}
1.11 schwarze 402: #define HAVE_WCHAR ${HAVE_WCHAR}
403: #define HAVE_OHASH ${HAVE_OHASH}
404:
1.16 schwarze 405: #define BINM_APROPOS "${BINM_APROPOS}"
1.58 schwarze 406: #define BINM_CATMAN "${BINM_CATMAN}"
1.26 schwarze 407: #define BINM_MAKEWHATIS "${BINM_MAKEWHATIS}"
1.16 schwarze 408: #define BINM_MAN "${BINM_MAN}"
1.26 schwarze 409: #define BINM_SOELIM "${BINM_SOELIM}"
1.16 schwarze 410: #define BINM_WHATIS "${BINM_WHATIS}"
1.11 schwarze 411:
412: __HEREDOC__
1.28 schwarze 413:
414: if [ ${HAVE_ERR} -eq 0 ]; then
415: echo "extern void err(int, const char *, ...);"
1.37 schwarze 416: echo "extern void errx(int, const char *, ...);"
1.28 schwarze 417: echo "extern void warn(const char *, ...);"
418: echo "extern void warnx(const char *, ...);"
419: fi
1.35 schwarze 420:
421: [ ${HAVE_GETLINE} -eq 0 ] && \
422: echo "extern ssize_t getline(char **, size_t *, FILE *);"
1.11 schwarze 423:
1.13 schwarze 424: [ ${HAVE_GETSUBOPT} -eq 0 ] && \
1.11 schwarze 425: echo "extern int getsubopt(char **, char * const *, char **);"
426:
1.23 schwarze 427: [ ${HAVE_ISBLANK} -eq 0 ] && \
428: echo "extern int isblank(int);"
429:
430: [ ${HAVE_MKDTEMP} -eq 0 ] && \
431: echo "extern char *mkdtemp(char *);"
1.29 schwarze 432:
433: if [ ${HAVE_PROGNAME} -eq 0 ]; then
434: echo "extern const char *getprogname(void);"
435: echo "extern void setprogname(const char *);"
436: fi
1.23 schwarze 437:
1.11 schwarze 438: [ ${HAVE_REALLOCARRAY} -eq 0 ] && \
439: echo "extern void *reallocarray(void *, size_t, size_t);"
1.63 ! schwarze 440:
! 441: [ ${HAVE_RECALLOCARRAY} -eq 0 ] && \
! 442: echo "extern void *recallocarray(void *, size_t, size_t, size_t);"
1.11 schwarze 443:
444: [ ${HAVE_STRCASESTR} -eq 0 ] && \
445: echo "extern char *strcasestr(const char *, const char *);"
446:
447: [ ${HAVE_STRLCAT} -eq 0 ] && \
448: echo "extern size_t strlcat(char *, const char *, size_t);"
449:
450: [ ${HAVE_STRLCPY} -eq 0 ] && \
451: echo "extern size_t strlcpy(char *, const char *, size_t);"
452:
453: [ ${HAVE_STRSEP} -eq 0 ] && \
454: echo "extern char *strsep(char **, const char *);"
1.19 schwarze 455:
456: [ ${HAVE_STRTONUM} -eq 0 ] && \
457: echo "extern long long strtonum(const char *, long long, long long, const char **);"
1.23 schwarze 458:
459: [ ${HAVE_VASPRINTF} -eq 0 ] && \
460: echo "extern int vasprintf(char **, const char *, va_list);"
1.11 schwarze 461:
462: echo "config.h: written" 1>&2
463: echo "config.h: written" 1>&3
464:
465: # --- tests for Makefile.local -----------------------------------------
466:
467: exec > Makefile.local
468:
1.62 schwarze 469: [ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin"
470: [ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin"
471: [ -z "${BIN_FROM_SBIN}" ] && BIN_FROM_SBIN="../bin"
472: [ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc"
473: [ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc"
474: [ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man"
1.11 schwarze 475:
1.62 schwarze 476: [ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs"
477: [ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin"
1.11 schwarze 478:
479: [ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555"
480: [ -z "${INSTALL_LIB}" ] && INSTALL_LIB="${INSTALL} -m 0444"
481: [ -z "${INSTALL_MAN}" ] && INSTALL_MAN="${INSTALL} -m 0444"
482: [ -z "${INSTALL_DATA}" ] && INSTALL_DATA="${INSTALL} -m 0444"
483:
1.44 schwarze 484: BUILD_TARGETS=
1.56 schwarze 485: [ ${BUILD_CGI} -gt 0 ] && BUILD_TARGETS="man.cgi"
486: [ ${BUILD_CATMAN} -gt 0 ] && \
487: BUILD_TARGETS="${BUILD_TARGETS} mandocd catman"
1.44 schwarze 488: INSTALL_TARGETS=
1.54 schwarze 489: [ ${INSTALL_LIBMANDOC} -gt 0 ] && INSTALL_TARGETS="lib-install"
490: [ ${BUILD_CGI} -gt 0 ] && INSTALL_TARGETS="${INSTALL_TARGETS} cgi-install"
1.56 schwarze 491: [ ${BUILD_CATMAN} -gt 0 ] && \
492: INSTALL_TARGETS="${INSTALL_TARGETS} catman-install"
1.11 schwarze 493:
494: cat << __HEREDOC__
495: BUILD_TARGETS = ${BUILD_TARGETS}
1.15 schwarze 496: INSTALL_TARGETS = ${INSTALL_TARGETS}
1.22 schwarze 497: CC = ${CC}
1.11 schwarze 498: CFLAGS = ${CFLAGS}
1.38 schwarze 499: LDADD = ${LDADD}
1.39 schwarze 500: LDFLAGS = ${LDFLAGS}
1.11 schwarze 501: STATIC = ${STATIC}
502: PREFIX = ${PREFIX}
503: BINDIR = ${BINDIR}
504: SBINDIR = ${SBINDIR}
1.62 schwarze 505: BIN_FROM_SBIN = ${BIN_FROM_SBIN}
1.11 schwarze 506: INCLUDEDIR = ${INCLUDEDIR}
507: LIBDIR = ${LIBDIR}
508: MANDIR = ${MANDIR}
509: WWWPREFIX = ${WWWPREFIX}
510: HTDOCDIR = ${HTDOCDIR}
511: CGIBINDIR = ${CGIBINDIR}
1.16 schwarze 512: BINM_APROPOS = ${BINM_APROPOS}
1.58 schwarze 513: BINM_CATMAN = ${BINM_CATMAN}
1.26 schwarze 514: BINM_MAKEWHATIS = ${BINM_MAKEWHATIS}
1.16 schwarze 515: BINM_MAN = ${BINM_MAN}
1.26 schwarze 516: BINM_SOELIM = ${BINM_SOELIM}
1.16 schwarze 517: BINM_WHATIS = ${BINM_WHATIS}
518: MANM_MAN = ${MANM_MAN}
1.25 schwarze 519: MANM_MANCONF = ${MANM_MANCONF}
1.16 schwarze 520: MANM_MDOC = ${MANM_MDOC}
521: MANM_ROFF = ${MANM_ROFF}
522: MANM_EQN = ${MANM_EQN}
523: MANM_TBL = ${MANM_TBL}
1.11 schwarze 524: INSTALL = ${INSTALL}
525: INSTALL_PROGRAM = ${INSTALL_PROGRAM}
526: INSTALL_LIB = ${INSTALL_LIB}
527: INSTALL_MAN = ${INSTALL_MAN}
528: INSTALL_DATA = ${INSTALL_DATA}
1.59 schwarze 529: LN = ${LN}
1.11 schwarze 530: __HEREDOC__
531:
532: echo "Makefile.local: written" 1>&2
533: echo "Makefile.local: written" 1>&3
1.1 schwarze 534:
535: exit 0
CVSweb