=================================================================== RCS file: /cvs/mandoc/configure.local.example,v retrieving revision 1.10 retrieving revision 1.44 diff -u -p -r1.10 -r1.44 --- mandoc/configure.local.example 2015/11/07 13:14:21 1.10 +++ mandoc/configure.local.example 2022/04/14 16:43:43 1.44 @@ -1,6 +1,6 @@ -# $Id: configure.local.example,v 1.10 2015/11/07 13:14:21 schwarze Exp $ +# $Id: configure.local.example,v 1.44 2022/04/14 16:43:43 schwarze Exp $ # -# Copyright (c) 2014, 2015 Ingo Schwarze +# Copyright (c) 2014-2022 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 @@ -20,7 +20,7 @@ # and put any of these settings into it if ./configure autodetection # fails or if you want to make different choices for other reasons. -# If autodetection fails, please tell . +# If autodetection fails, please tell . # We recommend that you write ./configure.local from scratch and # only put the lines there you need. This file contains examples. @@ -28,6 +28,19 @@ # --- user settings relevant for all builds ---------------------------- +# By default, "cc" is used as the C compiler, but it can be overridden. +# For example, the system compiler in SunOS 5.9 may not provide , +# which may require this line: +CC=gcc + +# IBM AIX may need: +CC=xlc + +# By default, "ar" is used as the library archive builder, but it +# can be overridden. For example, NixOS may not have ar(1) in the +# PATH, but may want to specify an absolute path instead. +AR=ar + # For -Tutf8 and -Tlocale operation, mandoc(1) requires # providing setlocale(3) and providing wcwidth(3) and # putwchar(3) with a wchar_t storing UCS-4 values. Theoretically, @@ -48,13 +61,36 @@ HAVE_WCHAR=1 HAVE_WCHAR=0 +# For -Tutf8 mode, mandoc needs to set an arbitrary locale having +# a UTF-8 character set. If autodetection of a suitable locale +# fails or selects an undesirable locale, you can manually choose +# the locale for -Tutf8 mode: + +UTF8_LOCALE=en_US.UTF-8 + # When man(1) or apropos(1) is called without -m and -M options, -# MANPATH is not set in the environment, man.conf(5) is not available -# and manpath(1) not used, manuals are searched for in the following -# directory trees by default. +# MANPATH is not set in the environment, and man.conf(5) is not +# available, manuals are searched for in the following directory +# trees by default. MANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/local/man" +# Validation of cross references with mandoc -Tlint only looks +# for manual pages in the following directories: + +MANPATH_BASE="/usr/share/man:/usr/X11R6/man" + +# When man(1) is called with the -S option and no manual page is +# found matching the requested name and the requested architecture, +# it tries to figure out whether the requested architecture is valid +# for the present operating system. Normally, ./configure detects +# the operating system using uname(1). If that fails or is not +# desired, either of the following lines can be used: + +OSENUM=MANDOC_OS_NETBSD +OSENUM=MANDOC_OS_OPENBSD +OSENUM=MANDOC_OS_OTHER + # In manual pages written in the mdoc(7) language, the operating system # version is displayed in the page footer line. If an operating system # is specified as an argument to the .Os macro, that is always used. @@ -65,7 +101,7 @@ MANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/lo # If you do not want uname(3) to be called but instead want a fixed # string to be used, use the following line: -OSNAME="OpenBSD 5.6" +OSNAME="OpenBSD 7.0" # The following installation directories are used. # It is possible to set only one or a few of these variables, @@ -76,28 +112,19 @@ OSNAME="OpenBSD 5.6" PREFIX="/usr/local" BINDIR="${PREFIX}/bin" SBINDIR="${PREFIX}/sbin" -INCLUDEDIR="${PREFIX}/include/mandoc" -LIBDIR="${PREFIX}/lib/mandoc" MANDIR="${PREFIX}/man" -# The man(1) utility needs to know where the manuals reside. -# We know of two ways to tell it: via manpath(1) or man.conf(5). -# The latter is used by OpenBSD and NetBSD, the former by most -# other systems. +# If BINDIR and SBINDIR are not subdirectories of the same parent +# directory or if the basename(1) of BINDIR differs from "bin", +# the relative path from SBINDIR to BINDIR is also needed. +# The default is: -# Force usage of manpath(1). -# If it is not installed or not operational, -# man(1), makewhatis(8), and apropos(1) will not work properly. -HAVE_MANPATH=1 +BIN_FROM_SBIN="../bin" -# Force usage of man.conf(5). -# If it does not exist or contains no valid configuration, -# man(1), makewhatis(8), and apropos(1) will not work properly. -HAVE_MANPATH=0 - # Some distributions may want to avoid naming conflicts # with the configuration files of other man(1) implementations. # This changes the name of the installed section 5 manual page as well. + MANM_MANCONF="mandoc.conf" # default is "man.conf" # Some distributions may want to avoid naming conflicts among manuals. @@ -113,16 +140,71 @@ MANM_ROFF="mandoc_roff" # default is "roff" MANM_EQN="mandoc_eqn" # default is "eqn" MANM_TBL="mandoc_tbl" # default is "tbl" -# Some distributions may want to avoid naming conflicts -# with other man(1) and soelim(1) utilities. +# Some distributions may want to avoid naming conflicts with +# other man(1), apropos(1), makewhatis(8), or soelim(1) utilities. # If you want to change the names of binary programs, # the following alternative names are suggested. # Using different names is possible as well. -# This changes the names of the installed section 1 manual pages as well. +# This changes the names of the installed section 1 and section 8 +# manual pages as well. +# It is possible to set only one or two of these variables, +# there is no need to copy the whole block. BINM_MAN=mman # default is "man" +BINM_APROPOS=mapropos # default is "apropos" +BINM_WHATIS=mwhatis # default is "whatis" +BINM_MAKEWHATIS=mandocdb # default is "makewhatis" BINM_SOELIM=msoelim # default is "soelim" +# If less(1) is available, it is used as the default manual pager. +# Otherwise, more(1) is used: its existence is required by POSIX. +# It is possible to force using a different default pager, either +# by giving the name of a program found in the PATH, or by giving +# an absolute path. + +BINM_PAGER=pg # default is "less" or "more" + +# Some distributions do not want hardlinks +# between installed binary programs. +# Set the following variable to use symbolic links instead. +# It is also used for links between manual pages. +# It is only used by the install* targets. +# When using this, DESTDIR must be empty or an absolute path. + +LN="ln -sf" # default is "ln -f" + +# Before falling back to the bundled version of the ohash(3) hashing +# library, autoconfiguration tries the following linker flag to +# link against your system version. If you do have ohash(3) on +# your system but it needs different linker flags, set the following +# variable to specify the required linker flags. + +LD_OHASH="-lutil" + +# Some platforms may need an additional linker flag for nanosleep(2). +# If none is needed or it is -lrt, it is autodetected. +# Otherwise, set the following variable. + +LD_NANOSLEEP="-lrt" + +# Some platforms may need an additional linker flag for recvmsg(2). +# If none is needed or it is -lsocket, it is autodetected. +# Otherwise, set the following variable. + +LD_RECVMSG="-lsocket" + +# Some platforms might need additional linker flags to link against +# libmandoc that are not autodetected, though no such cases are +# currently known. + +LDADD="-lm" + +# Some systems may want to set additional linker flags for all the +# binaries, not only for those using libmandoc, for example for +# hardening options. + +LDFLAGS="-Wl,-z,relro" + # It is possible to change the utility program used for installation # and the modes files are installed with. The defaults are: @@ -132,75 +214,70 @@ INSTALL_LIB="${INSTALL} -m 0444" INSTALL_MAN="${INSTALL} -m 0444" INSTALL_DATA="${INSTALL} -m 0444" -# --- user settings related to database support ------------------------ +# By default, makewhatis(8) can only read from the paths passed on the +# command line or configured in man.conf(5). +# But some package managers on some operating systems store manual pages +# in separate "cellar" or "store" directories and only symlink them +# into the manual trees. +# To support one or more such package managers, give makewhatis(8) +# read access to the cellars and stores on your system, in the form +# of a colon-separated path: -# By default, building makewhatis(8) and apropos(1) is enabled. -# To disable it, for example to avoid the dependency on SQLite3, -# use the following line. It that case, the remaining settings -# in this section are irrelevant. +# Homebrow package manager on Mac OS X: +PREFIX="/usr/local" +READ_ALLOWED_PATH="${PREFIX}/Cellar" -BUILD_DB=0 +# Nix package manager and/or NixOS Linux distribution: +READ_ALLOWED_PATH="/nix/store" -# Two libraries are needed: SQLite3 and ohash(3). -# Autoconfiguration tries the following linker flags to find them. -# If none of these work, add a working DBLIB line to configure.local, -# disabling autodetection for library directories. +# GNU Guix package manager and/or GNU Guix Linux distribution: +READ_ALLOWED_PATH="/gnu/store" -DBLIB="-lsqlite3" -DBLIB="-lsqlite3 -lutil" -DBLIB="-L/usr/local/lib -lsqlite3" +# If multiple package managers are used concurrently: +PREFIX="/usr/local" +READ_ALLOWED_PATH="/nix/store:${PREFIX}/Cellar" -# When library autodetection decides to use -L/usr/local/lib, -# -I/usr/local/include is automatically added to CFLAGS. -# If you manually set DBLIB to something including -L/usr/local/lib, -# chances are you will also need the following line: +# --- user settings for the mandoc(3) library -------------------------- -CFLAGS="${CFLAGS} -I/usr/local/include" +# By default, libmandoc.a is not installed. It is almost never needed +# because there is almost no non-mandoc software out there using this +# library. The one notable exception is NetBSD apropos(1). +# So, when building for the NetBSD base system - but not for NetBSD +# ports nor for pkgsrc! - you may want the following: -# Some distributions may want to avoid naming conflicts -# with another implementation of apropos(1) and makewhatis(8). -# If you want to change the names of the binary programs, -# the following alternative names are suggested. -# Using other names is possible as well. -# This changes the names of the installed section 1 and section 8 -# manual pages as well. -# It is possible to set only one or two of these variables, -# there is no need to copy the whole block. +INSTALL_LIBMANDOC=1 -BINM_APROPOS=mapropos # default is "apropos" -BINM_WHATIS=mwhatis # default is "whatis" -BINM_MAKEWHATIS=mandocdb # default is "makewhatis" +# The following settings are only used when INSTALL_LIBMANDOC is set. -# When using the "homebrew" package manager on Mac OS X, the actual -# manuals are located in a so-called "cellar" and only symlinked -# into the manual trees. To allow mandoc to follow such symlinks, -# you have to specify the physical location of the cellar as returned -# by realpath(3), for example: +INCLUDEDIR="${PREFIX}/include/mandoc" +LIBDIR="${PREFIX}/lib/mandoc" -PREFIX="/usr/local" -HOMEBREWDIR="${PREFIX}/Cellar" +# --- user settings related to man.cgi --------------------------------- -# --- user settings related man.cgi ------------------------------------ - # By default, building man.cgi(8) is disabled. To enable it, copy # cgi.h.example to cgi.h, edit it, and use the following line. -# Obviously, this requires that BUILD_DB is enabled, too. BUILD_CGI=1 # The remaining settings in this section are only relevant if BUILD_CGI # is enabled. Otherwise, they have no effect either way. -# By default, man.cgi(8) is linked statically. -# Some systems do not support static linking, for example Mac OS X. -# In that case, use the following line: +# By default, man.cgi(8) is linked statically if the compiler supports +# the -static option. If automatic detection fails, you can force +# static linking of man.cgi(8). -STATIC= +STATIC="-static" -# Some systems, for example Linux, require -pthread for static linking: +# Some systems may require -pthread for static linking: STATIC="-static -pthread" +# If static linking works in general but not with additional libraries +# like -lrt or -lz, you can force dynamic linking. This may for +# example be required on SunOS 5.9. + +STATIC=" " + # Some directories. # This works just like PREFIX, see above. @@ -208,38 +285,73 @@ WWWPREFIX="/var/www" HTDOCDIR="${WWWPREFIX}/htdocs" CGIBINDIR="${WWWPREFIX}/cgi-bin" +# --- user settings related to catman ---------------------------------- + +# By default, building mandocd(8) and catman(8) is disabled. +# To enable it, use the following line. +# It does not work on SunOS 5.10 because there is no mkdirat(2) +# nor on SunOS 5.9 which also lacks CMSG_LEN(3) and CMSG_SPACE(3). +# It may not work on old releases of Mac OS X either. For example, +# Mac OS X 10.4 Tiger provides neither mkdirat(2) nor openat(2). + +BUILD_CATMAN=1 + +# Install catman(8) with a different name. +# See BINM_MAN above for details of how this works. + +BINM_CATMAN=mcatman # default is "catman" + # --- settings that rarely need to be touched -------------------------- # Do not set these variables unless you really need to. -# You can manually override the compiler to be used. -# But that's rarely useful because ./configure asks your make(1) -# which compiler to use, and that answer will hardly be wrong. +# Normally, leave CFLAGS unset. In that case, -g will automatically +# be used, and various -W options will be added if the compiler +# supports them. If you define CFLAGS manually, it will be used +# unchanged, and nothing will be added. -CC=cc +CFLAGS="-g" -# The default compiler flags are: +# Hunt for memory leaks. +# Do not use for production builds. +# See mandoc_dbg_init(3) for more information. -CFLAGS="-g -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings" +DEBUG_MEMORY=1 # In rare cases, it may be required to skip individual automatic tests. # Each of the following variables can be set to 0 (test will not be run # and will be regarded as failed) or 1 (test will not be run and will # be regarded as successful). +HAVE_ATTRIBUTE=0 HAVE_DIRENT_NAMLEN=0 -HAVE_FGETLN=0 -HAVE_FTS=0 +HAVE_ENDIAN=0 +HAVE_EFTYPE=0 +HAVE_ERR=0 +HAVE_FTS=0 # Setting this implies HAVE_FTS_COMPARE_CONST=0. +HAVE_FTS_COMPARE_CONST=0 # Setting this implies HAVE_FTS=1. +HAVE_GETLINE=0 HAVE_GETSUBOPT=0 -HAVE_MMAP=0 +HAVE_ISBLANK=0 +HAVE_LESS_T=0 +HAVE_MKDTEMP=0 +HAVE_NTOHL=0 +HAVE_O_DIRECTORY=0 +HAVE_OHASH=0 +HAVE_PATH_MAX=0 +HAVE_PLEDGE=0 +HAVE_PROGNAME=0 HAVE_REALLOCARRAY=0 +HAVE_RECALLOCARRAY=0 +HAVE_REWB_BSD=0 +HAVE_REWB_SYSV=0 HAVE_STRCASESTR=0 +HAVE_STRINGLIST=0 HAVE_STRLCAT=0 HAVE_STRLCPY=0 HAVE_STRPTIME=0 HAVE_STRSEP=0 HAVE_STRTONUM=0 - -HAVE_SQLITE3=0 -HAVE_SQLITE3_ERRSTR=0 -HAVE_OHASH=0 +HAVE_SYS_ENDIAN=0 +HAVE_VASPRINTF=0 +HAVE_WCHAR=0