1 # $Id: configure.local.example,v 1.40 2021/08/07 13:02:10 schwarze Exp $
3 # Copyright (c) 2014-2019 Ingo Schwarze <schwarze@openbsd.org>
5 # Permission to use, copy, modify, and distribute this software for any
6 # purpose with or without fee is hereby granted, provided that the above
7 # copyright notice and this permission notice appear in all copies.
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 # For all settings documented in this file, there are reasonable
18 # defaults and/or the ./configure script attempts autodetection.
19 # Consequently, you only need to create a file ./configure.local
20 # and put any of these settings into it if ./configure autodetection
21 # fails or if you want to make different choices for other reasons.
23 # If autodetection fails, please tell <tech@mandoc.bsd.lv>.
25 # We recommend that you write ./configure.local from scratch and
26 # only put the lines there you need. This file contains examples.
27 # It is not intended as a template to be copied as a whole.
29 # --- user settings relevant for all builds ----------------------------
31 # By default, "cc" is used as the C compiler, but it can be overridden.
32 # For example, the system compiler in SunOS 5.9 may not provide <stdint.h>,
33 # which may require this line:
39 # For -Tutf8 and -Tlocale operation, mandoc(1) requires <locale.h>
40 # providing setlocale(3) and <wchar.h> providing wcwidth(3) and
41 # putwchar(3) with a wchar_t storing UCS-4 values. Theoretically,
42 # the latter should be tested with the __STDC_ISO_10646__ feature
43 # macro. In practice, many <wchar.h> headers do not provide that
44 # macro even though they treat wchar_t as UCS-4. So the automatic
45 # test only checks that wchar_t is wide enough, that is, at least
48 # The following line forces multi-byte support.
49 # If your C library does not treat wchar_t as UCS-4, the UTF-8 output
50 # mode will print garbage.
54 # The following line disables multi-byte support.
55 # The output modes -Tutf8 and -Tlocale will be the same as -Tascii.
59 # For -Tutf8 mode, mandoc needs to set an arbitrary locale having
60 # a UTF-8 character set. If autodetection of a suitable locale
61 # fails or selects an undesirable locale, you can manually choose
62 # the locale for -Tutf8 mode:
64 UTF8_LOCALE=en_US.UTF-8
66 # When man(1) or apropos(1) is called without -m and -M options,
67 # MANPATH is not set in the environment, and man.conf(5) is not
68 # available, manuals are searched for in the following directory
71 MANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/local/man"
73 # Validation of cross references with mandoc -Tlint only looks
74 # for manual pages in the following directories:
76 MANPATH_BASE="/usr/share/man:/usr/X11R6/man"
78 # When man(1) is called with the -S option and no manual page is
79 # found matching the requested name and the requested architecture,
80 # it tries to figure out whether the requested architecture is valid
81 # for the present operating system. Normally, ./configure detects
82 # the operating system using uname(1). If that fails or is not
83 # desired, either of the following lines can be used:
85 OSENUM=MANDOC_OS_NETBSD
86 OSENUM=MANDOC_OS_OPENBSD
87 OSENUM=MANDOC_OS_OTHER
89 # In manual pages written in the mdoc(7) language, the operating system
90 # version is displayed in the page footer line. If an operating system
91 # is specified as an argument to the .Os macro, that is always used.
92 # If the .Os macro has no argument and an operation system is specified
93 # with the mandoc(1) -Ios= command line option, that is used.
94 # Otherwise, the uname(3) library function is called at runtime to find
95 # the name of the operating system.
96 # If you do not want uname(3) to be called but instead want a fixed
97 # string to be used, use the following line:
101 # The following installation directories are used.
102 # It is possible to set only one or a few of these variables,
103 # there is no need to copy the whole block.
104 # Even if you set PREFIX to something else, the other variables
105 # pick it up without copying them all over.
108 BINDIR="${PREFIX}/bin"
109 SBINDIR="${PREFIX}/sbin"
110 MANDIR="${PREFIX}/man"
112 # If BINDIR and SBINDIR are not subdirectories of the same parent
113 # directory or if the basename(1) of BINDIR differs from "bin",
114 # the relative path from SBINDIR to BINDIR is also needed.
117 BIN_FROM_SBIN="../bin"
119 # Some distributions may want to avoid naming conflicts
120 # with the configuration files of other man(1) implementations.
121 # This changes the name of the installed section 5 manual page as well.
123 MANM_MANCONF="mandoc.conf" # default is "man.conf"
125 # Some distributions may want to avoid naming conflicts among manuals.
126 # If you want to change the names of installed section 7 manual pages,
127 # the following alternative names are suggested.
128 # The suffix ".7" will automatically be appended.
129 # It is possible to set only one or a few of these variables,
130 # there is no need to copy the whole block.
132 MANM_MAN="mandoc_man" # default is "man"
133 MANM_MDOC="mandoc_mdoc" # default is "mdoc"
134 MANM_ROFF="mandoc_roff" # default is "roff"
135 MANM_EQN="mandoc_eqn" # default is "eqn"
136 MANM_TBL="mandoc_tbl" # default is "tbl"
138 # Some distributions may want to avoid naming conflicts with
139 # other man(1), apropos(1), makewhatis(8), or soelim(1) utilities.
140 # If you want to change the names of binary programs,
141 # the following alternative names are suggested.
142 # Using different names is possible as well.
143 # This changes the names of the installed section 1 and section 8
144 # manual pages as well.
145 # It is possible to set only one or two of these variables,
146 # there is no need to copy the whole block.
148 BINM_MAN=mman # default is "man"
149 BINM_APROPOS=mapropos # default is "apropos"
150 BINM_WHATIS=mwhatis # default is "whatis"
151 BINM_MAKEWHATIS=mandocdb # default is "makewhatis"
152 BINM_SOELIM=msoelim # default is "soelim"
154 # If less(1) is available, it is used as the default manual pager.
155 # Otherwise, more(1) is used: its existence is required by POSIX.
156 # It is possible to force using a different default pager, either
157 # by giving the name of a program found in the PATH, or by giving
160 BINM_PAGER=pg # default is "less" or "more"
162 # Some distributions do not want hardlinks
163 # between installed binary programs.
164 # Set the following variable to use symbolic links instead.
165 # It is also used for links between manual pages.
166 # It is only used by the install* targets.
167 # When using this, DESTDIR must be empty or an absolute path.
169 LN="ln -sf" # default is "ln -f"
171 # Before falling back to the bundled version of the ohash(3) hashing
172 # library, autoconfiguration tries the following linker flag to
173 # link against your system version. If you do have ohash(3) on
174 # your system but it needs different linker flags, set the following
175 # variable to specify the required linker flags.
179 # Some platforms may need an additional linker flag for nanosleep(2).
180 # If none is needed or it is -lrt, it is autodetected.
181 # Otherwise, set the following variable.
185 # Some platforms may need an additional linker flag for recvmsg(2).
186 # If none is needed or it is -lsocket, it is autodetected.
187 # Otherwise, set the following variable.
189 LD_RECVMSG="-lsocket"
191 # Some platforms might need additional linker flags to link against
192 # libmandoc that are not autodetected, though no such cases are
197 # Some systems may want to set additional linker flags for all the
198 # binaries, not only for those using libmandoc, for example for
201 LDFLAGS="-Wl,-z,relro"
203 # It is possible to change the utility program used for installation
204 # and the modes files are installed with. The defaults are:
207 INSTALL_PROGRAM="${INSTALL} -m 0555"
208 INSTALL_LIB="${INSTALL} -m 0444"
209 INSTALL_MAN="${INSTALL} -m 0444"
210 INSTALL_DATA="${INSTALL} -m 0444"
212 # By default, makewhatis(8) can only read from the paths passed on the
213 # command line or configured in man.conf(5).
214 # But some package managers on some operating systems store manual pages
215 # in separate "cellar" or "store" directories and only symlink them
216 # into the manual trees.
217 # To support one or more such package managers, give makewhatis(8)
218 # read access to the cellars and stores on your system, in the form
219 # of a colon-separated path:
221 # Homebrow package manager on Mac OS X:
223 READ_ALLOWED_PATH="${PREFIX}/Cellar"
225 # Nix package manager and/or NixOS Linux distribution:
226 READ_ALLOWED_PATH="/nix/store"
228 # GNU Guix package manager and/or GNU Guix Linux distribution:
229 READ_ALLOWED_PATH="/gnu/store"
231 # If multiple package managers are used concurrently:
233 READ_ALLOWED_PATH="/nix/store:${PREFIX}/Cellar"
235 # --- user settings for the mandoc(3) library --------------------------
237 # By default, libmandoc.a is not installed. It is almost never needed
238 # because there is almost no non-mandoc software out there using this
239 # library. The one notable exception is NetBSD apropos(1).
240 # So, when building for the NetBSD base system - but not for NetBSD
241 # ports nor for pkgsrc! - you may want the following:
245 # The following settings are only used when INSTALL_LIBMANDOC is set.
247 INCLUDEDIR="${PREFIX}/include/mandoc"
248 LIBDIR="${PREFIX}/lib/mandoc"
250 # --- user settings related to man.cgi ---------------------------------
252 # By default, building man.cgi(8) is disabled. To enable it, copy
253 # cgi.h.example to cgi.h, edit it, and use the following line.
257 # The remaining settings in this section are only relevant if BUILD_CGI
258 # is enabled. Otherwise, they have no effect either way.
260 # By default, man.cgi(8) is linked statically if the compiler supports
261 # the -static option. If automatic detection fails, you can force
262 # static linking of man.cgi(8).
266 # Some systems may require -pthread for static linking:
268 STATIC="-static -pthread"
270 # If static linking works in general but not with additional libraries
271 # like -lrt or -lz, you can force dynamic linking. This may for
272 # example be required on SunOS 5.9.
277 # This works just like PREFIX, see above.
280 HTDOCDIR="${WWWPREFIX}/htdocs"
281 CGIBINDIR="${WWWPREFIX}/cgi-bin"
283 # --- user settings related to catman ----------------------------------
285 # By default, building mandocd(8) and catman(8) is disabled.
286 # To enable it, use the following line.
287 # It does not work on SunOS 5.10 because there is no mkdirat(2)
288 # nor on SunOS 5.9 which also lacks CMSG_LEN(3) and CMSG_SPACE(3).
292 # Install catman(8) with a different name.
293 # See BINM_MAN above for details of how this works.
295 BINM_CATMAN=mcatman # default is "catman"
297 # --- settings that rarely need to be touched --------------------------
299 # Do not set these variables unless you really need to.
301 # Normally, leave CFLAGS unset. In that case, -g will automatically
302 # be used, and various -W options will be added if the compiler
303 # supports them. If you define CFLAGS manually, it will be used
304 # unchanged, and nothing will be added.
308 # In rare cases, it may be required to skip individual automatic tests.
309 # Each of the following variables can be set to 0 (test will not be run
310 # and will be regarded as failed) or 1 (test will not be run and will
311 # be regarded as successful).
318 HAVE_FTS=0 # Setting this implies HAVE_FTS_COMPARE_CONST=0.
319 HAVE_FTS_COMPARE_CONST=0 # Setting this implies HAVE_FTS=1.