Home | History | Annotate | Line # | Download | only in dist
      1 # Id: configure.local.example,v 1.43 2021/09/20 13:25:42 schwarze Exp 
      2 #
      3 # Copyright (c) 2014-2021 Ingo Schwarze <schwarze (a] openbsd.org>
      4 #
      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.
      8 #
      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.
     16 
     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.
     22 
     23 # If autodetection fails, please tell <tech (a] mandoc.bsd.lv>.
     24 
     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.
     28 
     29 # --- user settings relevant for all builds ----------------------------
     30 
     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:
     34 CC=gcc
     35 
     36 # IBM AIX may need:
     37 CC=xlc
     38 
     39 # By default, "ar" is used as the library archive builder, but it
     40 # can be overridden.  For example, NixOS may not have ar(1) in the
     41 # PATH, but may want to specify an absolute path instead.
     42 AR=ar
     43 
     44 # For -Tutf8 and -Tlocale operation, mandoc(1) requires <locale.h>
     45 # providing setlocale(3) and <wchar.h> providing wcwidth(3) and
     46 # putwchar(3) with a wchar_t storing UCS-4 values.  Theoretically,
     47 # the latter should be tested with the __STDC_ISO_10646__ feature
     48 # macro.  In practice, many <wchar.h> headers do not provide that
     49 # macro even though they treat wchar_t as UCS-4.  So the automatic
     50 # test only checks that wchar_t is wide enough, that is, at least
     51 # four bytes.
     52 
     53 # The following line forces multi-byte support.
     54 # If your C library does not treat wchar_t as UCS-4, the UTF-8 output
     55 # mode will print garbage.
     56 
     57 HAVE_WCHAR=1
     58 
     59 # The following line disables multi-byte support.
     60 # The output modes -Tutf8 and -Tlocale will be the same as -Tascii.
     61 
     62 HAVE_WCHAR=0
     63 
     64 # For -Tutf8 mode, mandoc needs to set an arbitrary locale having
     65 # a UTF-8 character set.  If autodetection of a suitable locale
     66 # fails or selects an undesirable locale, you can manually choose
     67 # the locale for -Tutf8 mode:
     68 
     69 UTF8_LOCALE=en_US.UTF-8
     70 
     71 # When man(1) or apropos(1) is called without -m and -M options,
     72 # MANPATH is not set in the environment, and man.conf(5) is not
     73 # available, manuals are searched for in the following directory
     74 # trees by default.
     75 
     76 MANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/local/man"
     77 
     78 # Validation of cross references with mandoc -Tlint only looks
     79 # for manual pages in the following directories:
     80 
     81 MANPATH_BASE="/usr/share/man:/usr/X11R6/man"
     82 
     83 # When man(1) is called with the -S option and no manual page is
     84 # found matching the requested name and the requested architecture,
     85 # it tries to figure out whether the requested architecture is valid
     86 # for the present operating system.  Normally, ./configure detects
     87 # the operating system using uname(1).  If that fails or is not
     88 # desired, either of the following lines can be used:
     89 
     90 OSENUM=MANDOC_OS_NETBSD
     91 OSENUM=MANDOC_OS_OPENBSD
     92 OSENUM=MANDOC_OS_OTHER
     93 
     94 # In manual pages written in the mdoc(7) language, the operating system
     95 # version is displayed in the page footer line.  If an operating system
     96 # is specified as an argument to the .Os macro, that is always used.
     97 # If the .Os macro has no argument and an operation system is specified
     98 # with the mandoc(1) -Ios= command line option, that is used.
     99 # Otherwise, the uname(3) library function is called at runtime to find
    100 # the name of the operating system.
    101 # If you do not want uname(3) to be called but instead want a fixed
    102 # string to be used, use the following line:
    103 
    104 OSNAME="OpenBSD 7.0"
    105 
    106 # The following installation directories are used.
    107 # It is possible to set only one or a few of these variables,
    108 # there is no need to copy the whole block.
    109 # Even if you set PREFIX to something else, the other variables
    110 # pick it up without copying them all over.
    111 
    112 PREFIX="/usr/local"
    113 BINDIR="${PREFIX}/bin"
    114 SBINDIR="${PREFIX}/sbin"
    115 MANDIR="${PREFIX}/man"
    116 
    117 # If BINDIR and SBINDIR are not subdirectories of the same parent
    118 # directory or if the basename(1) of BINDIR differs from "bin",
    119 # the relative path from SBINDIR to BINDIR is also needed.
    120 # The default is:
    121 
    122 BIN_FROM_SBIN="../bin"
    123 
    124 # Some distributions may want to avoid naming conflicts
    125 # with the configuration files of other man(1) implementations.
    126 # This changes the name of the installed section 5 manual page as well.
    127 
    128 MANM_MANCONF="mandoc.conf"	# default is "man.conf"
    129 
    130 # Some distributions may want to avoid naming conflicts among manuals.
    131 # If you want to change the names of installed section 7 manual pages,
    132 # the following alternative names are suggested.
    133 # The suffix ".7" will automatically be appended.
    134 # It is possible to set only one or a few of these variables,
    135 # there is no need to copy the whole block.
    136 
    137 MANM_MAN="mandoc_man"		# default is "man"
    138 MANM_MDOC="mandoc_mdoc"		# default is "mdoc"
    139 MANM_ROFF="mandoc_roff"		# default is "roff"
    140 MANM_EQN="mandoc_eqn"		# default is "eqn"
    141 MANM_TBL="mandoc_tbl"		# default is "tbl"
    142 
    143 # Some distributions may want to avoid naming conflicts with
    144 # other man(1), apropos(1), makewhatis(8), or soelim(1) utilities.
    145 # If you want to change the names of binary programs,
    146 # the following alternative names are suggested.
    147 # Using different names is possible as well.
    148 # This changes the names of the installed section 1 and section 8
    149 # manual pages as well.
    150 # It is possible to set only one or two of these variables,
    151 # there is no need to copy the whole block.
    152 
    153 BINM_MAN=mman			# default is "man"
    154 BINM_APROPOS=mapropos		# default is "apropos"
    155 BINM_WHATIS=mwhatis		# default is "whatis"
    156 BINM_MAKEWHATIS=mandocdb	# default is "makewhatis"
    157 BINM_SOELIM=msoelim		# default is "soelim"
    158 
    159 # If less(1) is available, it is used as the default manual pager.
    160 # Otherwise, more(1) is used: its existence is required by POSIX.
    161 # It is possible to force using a different default pager, either
    162 # by giving the name of a program found in the PATH, or by giving
    163 # an absolute path.
    164 
    165 BINM_PAGER=pg			# default is "less" or "more"
    166 
    167 # Some distributions do not want hardlinks
    168 # between installed binary programs.
    169 # Set the following variable to use symbolic links instead.
    170 # It is also used for links between manual pages.
    171 # It is only used by the install* targets.
    172 # When using this, DESTDIR must be empty or an absolute path.
    173 
    174 LN="ln -sf"			# default is "ln -f"
    175 
    176 # Before falling back to the bundled version of the ohash(3) hashing
    177 # library, autoconfiguration tries the following linker flag to
    178 # link against your system version.  If you do have ohash(3) on
    179 # your system but it needs different linker flags, set the following
    180 # variable to specify the required linker flags.
    181 
    182 LD_OHASH="-lutil"
    183 
    184 # Some platforms may need an additional linker flag for nanosleep(2).
    185 # If none is needed or it is -lrt, it is autodetected.
    186 # Otherwise, set the following variable.
    187 
    188 LD_NANOSLEEP="-lrt"
    189 
    190 # Some platforms may need an additional linker flag for recvmsg(2).
    191 # If none is needed or it is -lsocket, it is autodetected.
    192 # Otherwise, set the following variable.
    193 
    194 LD_RECVMSG="-lsocket"
    195 
    196 # Some platforms might need additional linker flags to link against
    197 # libmandoc that are not autodetected, though no such cases are
    198 # currently known.
    199 
    200 LDADD="-lm"
    201 
    202 # Some systems may want to set additional linker flags for all the
    203 # binaries, not only for those using libmandoc, for example for
    204 # hardening options.
    205 
    206 LDFLAGS="-Wl,-z,relro"
    207 
    208 # It is possible to change the utility program used for installation
    209 # and the modes files are installed with.  The defaults are:
    210 
    211 INSTALL="install"
    212 INSTALL_PROGRAM="${INSTALL} -m 0555"
    213 INSTALL_LIB="${INSTALL} -m 0444"
    214 INSTALL_MAN="${INSTALL} -m 0444"
    215 INSTALL_DATA="${INSTALL} -m 0444"
    216 
    217 # By default, makewhatis(8) can only read from the paths passed on the
    218 # command line or configured in man.conf(5).
    219 # But some package managers on some operating systems store manual pages
    220 # in separate "cellar" or "store" directories and only symlink them
    221 # into the manual trees.
    222 # To support one or more such package managers, give makewhatis(8)
    223 # read access to the cellars and stores on your system, in the form
    224 # of a colon-separated path:
    225 
    226 # Homebrow package manager on Mac OS X:
    227 PREFIX="/usr/local"
    228 READ_ALLOWED_PATH="${PREFIX}/Cellar"
    229 
    230 # Nix package manager and/or NixOS Linux distribution:
    231 READ_ALLOWED_PATH="/nix/store"
    232 
    233 # GNU Guix package manager and/or GNU Guix Linux distribution:
    234 READ_ALLOWED_PATH="/gnu/store"
    235 
    236 # If multiple package managers are used concurrently:
    237 PREFIX="/usr/local"
    238 READ_ALLOWED_PATH="/nix/store:${PREFIX}/Cellar"
    239 
    240 # --- user settings for the mandoc(3) library --------------------------
    241 
    242 # By default, libmandoc.a is not installed.  It is almost never needed
    243 # because there is almost no non-mandoc software out there using this
    244 # library.  The one notable exception is NetBSD apropos(1).
    245 # So, when building for the NetBSD base system - but not for NetBSD
    246 # ports nor for pkgsrc! - you may want the following:
    247 
    248 INSTALL_LIBMANDOC=1
    249 
    250 # The following settings are only used when INSTALL_LIBMANDOC is set.
    251 
    252 INCLUDEDIR="${PREFIX}/include/mandoc"
    253 LIBDIR="${PREFIX}/lib/mandoc"
    254 
    255 # --- user settings related to man.cgi ---------------------------------
    256 
    257 # By default, building man.cgi(8) is disabled.  To enable it, copy
    258 # cgi.h.example to cgi.h, edit it, and use the following line.
    259 
    260 BUILD_CGI=1
    261 
    262 # The remaining settings in this section are only relevant if BUILD_CGI
    263 # is enabled.  Otherwise, they have no effect either way.
    264 
    265 # By default, man.cgi(8) is linked statically if the compiler supports
    266 # the -static option.  If automatic detection fails, you can force
    267 # static linking of man.cgi(8).
    268 
    269 STATIC="-static"
    270 
    271 # Some systems may require -pthread for static linking:
    272 
    273 STATIC="-static -pthread"
    274 
    275 # If static linking works in general but not with additional libraries
    276 # like -lrt or -lz, you can force dynamic linking.  This may for
    277 # example be required on SunOS 5.9.
    278 
    279 STATIC=" "
    280 
    281 # Some directories.
    282 # This works just like PREFIX, see above.
    283 
    284 WWWPREFIX="/var/www"
    285 HTDOCDIR="${WWWPREFIX}/htdocs"
    286 CGIBINDIR="${WWWPREFIX}/cgi-bin"
    287 
    288 # --- user settings related to catman ----------------------------------
    289 
    290 # By default, building mandocd(8) and catman(8) is disabled.
    291 # To enable it, use the following line.
    292 # It does not work on SunOS 5.10 because there is no mkdirat(2)
    293 # nor on SunOS 5.9 which also lacks CMSG_LEN(3) and CMSG_SPACE(3).
    294 # It may not work on old releases of Mac OS X either.  For example,
    295 # Mac OS X 10.4 Tiger provides neither mkdirat(2) nor openat(2).
    296 
    297 BUILD_CATMAN=1
    298 
    299 # Install catman(8) with a different name.
    300 # See BINM_MAN above for details of how this works.
    301 
    302 BINM_CATMAN=mcatman		# default is "catman"
    303 
    304 # --- settings that rarely need to be touched --------------------------
    305 
    306 # Do not set these variables unless you really need to.
    307 
    308 # Normally, leave CFLAGS unset.  In that case, -g will automatically
    309 # be used, and various -W options will be added if the compiler
    310 # supports them.  If you define CFLAGS manually, it will be used
    311 # unchanged, and nothing will be added.
    312 
    313 CFLAGS="-g"
    314 
    315 # In rare cases, it may be required to skip individual automatic tests.
    316 # Each of the following variables can be set to 0 (test will not be run
    317 # and will be regarded as failed) or 1 (test will not be run and will
    318 # be regarded as successful).
    319 
    320 HAVE_ATTRIBUTE=0
    321 HAVE_DIRENT_NAMLEN=0
    322 HAVE_ENDIAN=0
    323 HAVE_EFTYPE=0
    324 HAVE_ERR=0
    325 HAVE_FTS=0  # Setting this implies HAVE_FTS_COMPARE_CONST=0.
    326 HAVE_FTS_COMPARE_CONST=0  # Setting this implies HAVE_FTS=1.
    327 HAVE_GETLINE=0
    328 HAVE_GETSUBOPT=0
    329 HAVE_ISBLANK=0
    330 HAVE_LESS_T=0
    331 HAVE_MKDTEMP=0
    332 HAVE_NTOHL=0
    333 HAVE_O_DIRECTORY=0
    334 HAVE_OHASH=0
    335 HAVE_PATH_MAX=0
    336 HAVE_PLEDGE=0
    337 HAVE_PROGNAME=0
    338 HAVE_REALLOCARRAY=0
    339 HAVE_RECALLOCARRAY=0
    340 HAVE_REWB_BSD=0
    341 HAVE_REWB_SYSV=0
    342 HAVE_STRCASESTR=0
    343 HAVE_STRINGLIST=0
    344 HAVE_STRLCAT=0
    345 HAVE_STRLCPY=0
    346 HAVE_STRPTIME=0
    347 HAVE_STRSEP=0
    348 HAVE_STRTONUM=0
    349 HAVE_SYS_ENDIAN=0
    350 HAVE_VASPRINTF=0
    351 HAVE_WCHAR=0
    352