=================================================================== RCS file: /cvs/mandoc/configure,v retrieving revision 1.43.2.13 retrieving revision 1.44 diff -u -p -r1.43.2.13 -r1.44 --- mandoc/configure 2017/03/04 16:44:43 1.43.2.13 +++ mandoc/configure 2016/07/19 21:31:55 1.44 @@ -1,9 +1,7 @@ #!/bin/sh # -# $Id: configure,v 1.43.2.13 2017/03/04 16:44:43 schwarze Exp $ +# Copyright (c) 2014, 2015, 2016 Ingo Schwarze # -# Copyright (c) 2014, 2015, 2016, 2017 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. @@ -33,35 +31,26 @@ echo "config.log: writing..." # Initialize all variables here, # such that nothing can leak in from the environment. -SOURCEDIR=`dirname "$0"` - MANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/local/man" OSNAME= -UTF8_LOCALE= -CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | env -i make -sf -` +CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | env -i make -f -` CFLAGS="-g -W -Wall -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings" CFLAGS="${CFLAGS} -Wno-unused-parameter" LDADD= LDFLAGS= -LD_NANOSLEEP= LD_OHASH= -LD_SQLITE3= STATIC="-static" BUILD_CGI=0 HAVE_DIRENT_NAMLEN= -HAVE_EFTYPE= HAVE_ERR= HAVE_FTS= -HAVE_FTS_COMPARE_CONST= HAVE_GETLINE= HAVE_GETSUBOPT= HAVE_ISBLANK= HAVE_MKDTEMP= -HAVE_MMAP= -HAVE_NANOSLEEP= HAVE_PLEDGE= HAVE_PROGNAME= HAVE_REALLOCARRAY= @@ -78,15 +67,12 @@ HAVE_STRTONUM= HAVE_VASPRINTF= HAVE_WCHAR= -HAVE_SQLITE3= -HAVE_SQLITE3_ERRSTR= HAVE_OHASH= HAVE_MANPATH= PREFIX="/usr/local" BINDIR= SBINDIR= -BIN_FROM_SBIN= INCLUDEDIR= LIBDIR= MANDIR= @@ -113,7 +99,6 @@ INSTALL_PROGRAM= INSTALL_LIB= INSTALL_MAN= INSTALL_DATA= -LN="ln -f" # --- manual settings from configure.local ----------------------------- @@ -136,9 +121,9 @@ COMP="${CC} ${CFLAGS} -Wno-unused -Werror" # If yes, use the override, if no, do not decide anything yet. # Arguments: lower-case test name, manual value ismanual() { - [ -z "${3}" ] && return 1 - echo "${1}: manual (HAVE_${2}=${3})" 1>&2 - echo "${1}: manual (HAVE_${2}=${3})" 1>&3 + [ -z "${2}" ] && return 1 + echo "${1}: manual (${2})" 1>&2 + echo "${1}: manual (${2})" 1>&3 echo 1>&3 return 0 } @@ -149,28 +134,27 @@ ismanual() { # Arguments: lower-case test name, upper-case test name, additional CFLAGS singletest() { cat 1>&3 << __HEREDOC__ -${1}${3}: testing... -${COMP} -o test-${1} test-${1}.c ${3} +${1}: testing... +${COMP} ${3} -o test-${1} test-${1}.c __HEREDOC__ - if ${COMP} -o "test-${1}" "${SOURCEDIR}/test-${1}.c" ${3} 1>&3 2>&3 - then - echo "${1}${3}: ${CC} succeeded" 1>&3 + if ${COMP} ${3} -o "test-${1}" "test-${1}.c" 1>&3 2>&3; then + echo "${1}: ${CC} succeeded" 1>&3 else - echo "${1}${3}: ${CC} failed with $?" 1>&3 + echo "${1}: ${CC} failed with $?" 1>&3 echo 1>&3 return 1 fi if ./test-${1} 1>&3 2>&3; then - echo "${1}${3}: yes" 1>&2 - echo "${1}${3}: yes" 1>&3 + echo "${1}: yes" 1>&2 + echo "${1}: yes" 1>&3 echo 1>&3 eval HAVE_${2}=1 rm "test-${1}" return 0 else - echo "${1}${3}: execution failed with $?" 1>&3 + echo "${1}: execution failed with $?" 1>&3 echo 1>&3 rm "test-${1}" return 1 @@ -182,40 +166,21 @@ __HEREDOC__ # Arguments: lower case name, upper case name, additional CFLAGS runtest() { eval _manual=\${HAVE_${2}} - ismanual "${1}" "${2}" "${_manual}" && return 0 + ismanual "${1}" "${_manual}" && return 0 singletest "${1}" "${2}" "${3}" && return 0 - echo "${1}${3}: no" 1>&2 + echo "${1}: no" 1>&2 eval HAVE_${2}=0 return 1 } -# Select a UTF-8 locale. -get_locale() { - [ -n "${HAVE_WCHAR}" ] && [ "${HAVE_WCHAR}" -eq 0 ] && return 0 - ismanual UTF8_LOCALE UTF8_LOCALE "$UTF8_LOCALE" && return 0 - echo "UTF8_LOCALE: testing..." 1>&3 - UTF8_LOCALE=`locale -a | grep -i '^en_US\.UTF-*8$' | head -n 1` - if [ -z "${UTF8_LOCALE}" ]; then - UTF8_LOCALE=`locale -a | grep -i '\.UTF-*8' | head -n 1` - [ -n "${UTF8_LOCALE}" ] || return 1 - fi - echo "UTF8_LOCALE=${UTF8_LOCALE}" 1>&2 - echo "UTF8_LOCALE=${UTF8_LOCALE}" 1>&3 - echo 1>&3 - return 0; -} - - # --- library functions --- runtest dirent-namlen DIRENT_NAMLEN || true -runtest EFTYPE EFTYPE || true runtest err ERR || true +runtest fts FTS || true runtest getline GETLINE || true runtest getsubopt GETSUBOPT || true runtest isblank ISBLANK || true runtest mkdtemp MKDTEMP || true -runtest mmap MMAP || true -runtest PATH_MAX PATH_MAX || true runtest pledge PLEDGE || true runtest sandbox_init SANDBOX_INIT || true runtest progname PROGNAME || true @@ -230,65 +195,10 @@ runtest strptime STRPTIME || true runtest strsep STRSEP || true runtest strtonum STRTONUM || true runtest vasprintf VASPRINTF || true +runtest wchar WCHAR || true -if ismanual fts FTS ${HAVE_FTS}; then - HAVE_FTS_COMPARE_CONST=0 -elif runtest fts FTS_COMPARE_CONST -DFTS_COMPARE_CONST; then - HAVE_FTS=1 -else - runtest fts FTS || true -fi - -# --- wide character and locale support --- -if get_locale; then - runtest wchar WCHAR -DUTF8_LOCALE=\"${UTF8_LOCALE}\" || true -else - HAVE_WCHAR=0 - echo "wchar: no (no UTF8_LOCALE)" 1>&2 - echo "wchar: no (no UTF8_LOCALE)" 1>&3 -fi - -# --- sqlite3 --- -if [ -n "${LD_SQLITE3}" ]; then - runtest sqlite3 SQLITE3 "${LD_SQLITE3}" || true -elif singletest sqlite3 SQLITE3 "-lsqlite3"; then - LD_SQLITE3="-lsqlite3" -elif runtest sqlite3 SQLITE3 \ - "-I/usr/local/include -L/usr/local/lib -lsqlite3"; then - LD_SQLITE3="-L/usr/local/lib -lsqlite3" - CFLAGS="${CFLAGS} -I/usr/local/include" - COMP="${COMP} -I/usr/local/include" -fi -if [ ${HAVE_SQLITE3} -eq 0 ]; then - echo "FATAL: no sqlite3" 1>&2 - echo "FATAL: no sqlite3" 1>&3 - echo "Use release 1.14.1 to build without SQLite." 1>&2 - exit 1 -fi - -# --- sqlite3_errstr --- -if ismanual sqlite3_errstr SQLITE3_ERRSTR "${HAVE_SQLITE3_ERRSTR}"; then - : -else - runtest sqlite3_errstr SQLITE3_ERRSTR "${LD_SQLITE3}" || true -fi - -# --- nanosleep --- -if [ -n "${LD_NANOSLEEP}" ]; then - runtest nanosleep NANOSLEEP "${LD_NANOSLEEP}" || true -elif singletest nanosleep NANOSLEEP; then - : -elif runtest nanosleep NANOSLEEP "-lrt"; then - LD_NANOSLEEP="-lrt" -fi -if [ "${HAVE_NANOSLEEP}" -eq 0 ]; then - echo "FATAL: nanosleep: no" 1>&2 - echo "FATAL: nanosleep: no" 1>&3 - exit 1 -fi - # --- ohash --- -if ismanual ohash OHASH "${HAVE_OHASH}"; then +if ismanual ohash "${HAVE_OHASH}"; then : elif [ -n "${LD_OHASH}" ]; then runtest ohash OHASH "${LD_OHASH}" || true @@ -302,13 +212,13 @@ if [ "${HAVE_OHASH}" -eq 0 ]; then fi # --- LDADD --- -LDADD="${LDADD} ${LD_SQLITE3} ${LD_NANOSLEEP} ${LD_OHASH} -lz" +LDADD="${LDADD} ${LD_OHASH} -lz" echo "LDADD=\"${LDADD}\"" 1>&2 echo "LDADD=\"${LDADD}\"" 1>&3 echo 1>&3 # --- manpath --- -if ismanual manpath MANPATH "${HAVE_MANPATH}"; then +if ismanual manpath "${HAVE_MANPATH}"; then : elif manpath 1>&3 2>&3; then echo "manpath: yes" 1>&2 @@ -351,21 +261,16 @@ echo echo "#define MAN_CONF_FILE \"/etc/${MANM_MANCONF}\"" echo "#define MANPATH_DEFAULT \"${MANPATH_DEFAULT}\"" [ -n "${OSNAME}" ] && echo "#define OSNAME \"${OSNAME}\"" -[ -n "${UTF8_LOCALE}" ] && echo "#define UTF8_LOCALE \"${UTF8_LOCALE}\"" [ -n "${HOMEBREWDIR}" ] && echo "#define HOMEBREWDIR \"${HOMEBREWDIR}\"" -[ ${HAVE_EFTYPE} -eq 0 ] && echo "#define EFTYPE EINVAL" -[ ${HAVE_PATH_MAX} -eq 0 ] && echo "#define PATH_MAX 4096" cat << __HEREDOC__ #define HAVE_DIRENT_NAMLEN ${HAVE_DIRENT_NAMLEN} #define HAVE_ERR ${HAVE_ERR} #define HAVE_FTS ${HAVE_FTS} -#define HAVE_FTS_COMPARE_CONST ${HAVE_FTS_COMPARE_CONST} #define HAVE_GETLINE ${HAVE_GETLINE} #define HAVE_GETSUBOPT ${HAVE_GETSUBOPT} #define HAVE_ISBLANK ${HAVE_ISBLANK} #define HAVE_MKDTEMP ${HAVE_MKDTEMP} -#define HAVE_MMAP ${HAVE_MMAP} #define HAVE_PLEDGE ${HAVE_PLEDGE} #define HAVE_PROGNAME ${HAVE_PROGNAME} #define HAVE_REALLOCARRAY ${HAVE_REALLOCARRAY} @@ -381,7 +286,6 @@ cat << __HEREDOC__ #define HAVE_STRTONUM ${HAVE_STRTONUM} #define HAVE_VASPRINTF ${HAVE_VASPRINTF} #define HAVE_WCHAR ${HAVE_WCHAR} -#define HAVE_SQLITE3_ERRSTR ${HAVE_SQLITE3_ERRSTR} #define HAVE_OHASH ${HAVE_OHASH} #define HAVE_MANPATH ${HAVE_MANPATH} @@ -420,9 +324,6 @@ fi [ ${HAVE_REALLOCARRAY} -eq 0 ] && \ echo "extern void *reallocarray(void *, size_t, size_t);" -[ ${HAVE_SQLITE3_ERRSTR} -eq 0 ] && - echo "extern const char *sqlite3_errstr(int);" - [ ${HAVE_STRCASESTR} -eq 0 ] && \ echo "extern char *strcasestr(const char *, const char *);" @@ -448,25 +349,24 @@ echo "config.h: written" 1>&3 exec > Makefile.local -[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" -[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" -[ -z "${BIN_FROM_SBIN}" ] && BIN_FROM_SBIN="../bin" -[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc" -[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc" -[ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man" +[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" +[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" +[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include/mandoc" +[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib/mandoc" +[ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man" -[ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs" -[ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin" +[ -z "${HTDOCDIR}" ] && HTDOCDIR="${WWWPREFIX}/htdocs" +[ -z "${CGIBINDIR}" ] && CGIBINDIR="${WWWPREFIX}/cgi-bin" [ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555" [ -z "${INSTALL_LIB}" ] && INSTALL_LIB="${INSTALL} -m 0444" [ -z "${INSTALL_MAN}" ] && INSTALL_MAN="${INSTALL} -m 0444" [ -z "${INSTALL_DATA}" ] && INSTALL_DATA="${INSTALL} -m 0444" -BUILD_TARGETS="" -[ ${BUILD_CGI} -gt 0 ] && BUILD_TARGETS="${BUILD_TARGETS} man.cgi" -INSTALL_TARGETS="base-install db-install" -[ ${BUILD_CGI} -gt 0 ] && INSTALL_TARGETS="${INSTALL_TARGETS} cgi-install" +BUILD_TARGETS= +[ ${BUILD_CGI} -gt 0 ] && BUILD_TARGETS="cgi-build" +INSTALL_TARGETS= +[ ${BUILD_CGI} -gt 0 ] && INSTALL_TARGETS="cgi-install" cat << __HEREDOC__ BUILD_TARGETS = ${BUILD_TARGETS} @@ -479,7 +379,6 @@ STATIC = ${STATIC} PREFIX = ${PREFIX} BINDIR = ${BINDIR} SBINDIR = ${SBINDIR} -BIN_FROM_SBIN = ${BIN_FROM_SBIN} INCLUDEDIR = ${INCLUDEDIR} LIBDIR = ${LIBDIR} MANDIR = ${MANDIR} @@ -502,7 +401,6 @@ INSTALL_PROGRAM = ${INSTALL_PROGRAM} INSTALL_LIB = ${INSTALL_LIB} INSTALL_MAN = ${INSTALL_MAN} INSTALL_DATA = ${INSTALL_DATA} -LN = ${LN} __HEREDOC__ echo "Makefile.local: written" 1>&2