Home | History | Annotate | Line # | Download | only in dist
configure.local.example revision 1.1.1.2.2.1
      1  1.1.1.2.2.1    bouyer # Id: configure.local.example,v 1.29 2017/02/18 12:24:24 schwarze Exp 
      2          1.1  christos #
      3  1.1.1.2.2.1    bouyer # Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze <schwarze (a] openbsd.org>
      4          1.1  christos #
      5          1.1  christos # Permission to use, copy, modify, and distribute this software for any
      6          1.1  christos # purpose with or without fee is hereby granted, provided that the above
      7          1.1  christos # copyright notice and this permission notice appear in all copies.
      8          1.1  christos #
      9          1.1  christos # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     10          1.1  christos # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     11          1.1  christos # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     12          1.1  christos # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     13          1.1  christos # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     14          1.1  christos # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     15          1.1  christos # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     16          1.1  christos 
     17          1.1  christos # For all settings documented in this file, there are reasonable
     18          1.1  christos # defaults and/or the ./configure script attempts autodetection.
     19          1.1  christos # Consequently, you only need to create a file ./configure.local
     20          1.1  christos # and put any of these settings into it if ./configure autodetection
     21          1.1  christos # fails or if you want to make different choices for other reasons.
     22          1.1  christos 
     23          1.1  christos # If autodetection fails, please tell <tech (a] mdocml.bsd.lv>.
     24          1.1  christos 
     25          1.1  christos # We recommend that you write ./configure.local from scratch and
     26          1.1  christos # only put the lines there you need.  This file contains examples.
     27          1.1  christos # It is not intended as a template to be copied as a whole.
     28          1.1  christos 
     29          1.1  christos # --- user settings relevant for all builds ----------------------------
     30          1.1  christos 
     31          1.1  christos # For -Tutf8 and -Tlocale operation, mandoc(1) requires <locale.h>
     32          1.1  christos # providing setlocale(3) and <wchar.h> providing wcwidth(3) and
     33          1.1  christos # putwchar(3) with a wchar_t storing UCS-4 values.  Theoretically,
     34          1.1  christos # the latter should be tested with the __STDC_ISO_10646__ feature
     35          1.1  christos # macro.  In practice, many <wchar.h> headers do not provide that
     36          1.1  christos # macro even though they treat wchar_t as UCS-4.  So the automatic
     37          1.1  christos # test only checks that wchar_t is wide enough, that is, at least
     38          1.1  christos # four bytes.
     39          1.1  christos 
     40          1.1  christos # The following line forces multi-byte support.
     41          1.1  christos # If your C library does not treat wchar_t as UCS-4, the UTF-8 output
     42          1.1  christos # mode will print garbage.
     43          1.1  christos 
     44          1.1  christos HAVE_WCHAR=1
     45          1.1  christos 
     46          1.1  christos # The following line disables multi-byte support.
     47          1.1  christos # The output modes -Tutf8 and -Tlocale will be the same as -Tascii.
     48          1.1  christos 
     49          1.1  christos HAVE_WCHAR=0
     50          1.1  christos 
     51  1.1.1.2.2.1    bouyer # For -Tutf8 mode, mandoc needs to set an arbitrary locale having
     52  1.1.1.2.2.1    bouyer # a UTF-8 character set.  If autodetection of a suitable locale
     53  1.1.1.2.2.1    bouyer # fails or selects an undesirable locale, you can manually choose
     54  1.1.1.2.2.1    bouyer # the locale for -Tutf8 mode:
     55  1.1.1.2.2.1    bouyer 
     56  1.1.1.2.2.1    bouyer UTF8_LOCALE=en_US.UTF-8
     57  1.1.1.2.2.1    bouyer 
     58      1.1.1.2  christos # When man(1) or apropos(1) is called without -m and -M options,
     59  1.1.1.2.2.1    bouyer # MANPATH is not set in the environment, and man.conf(5) is not
     60  1.1.1.2.2.1    bouyer # available, manuals are searched for in the following directory
     61  1.1.1.2.2.1    bouyer # trees by default.
     62      1.1.1.2  christos 
     63      1.1.1.2  christos MANPATH_DEFAULT="/usr/share/man:/usr/X11R6/man:/usr/local/man"
     64      1.1.1.2  christos 
     65          1.1  christos # In manual pages written in the mdoc(7) language, the operating system
     66          1.1  christos # version is displayed in the page footer line.  If an operating system
     67          1.1  christos # is specified as an argument to the .Os macro, that is always used.
     68          1.1  christos # If the .Os macro has no argument and an operation system is specified
     69          1.1  christos # with the mandoc(1) -Ios= command line option, that is used.
     70          1.1  christos # Otherwise, the uname(3) library function is called at runtime to find
     71          1.1  christos # the name of the operating system.
     72          1.1  christos # If you do not want uname(3) to be called but instead want a fixed
     73          1.1  christos # string to be used, use the following line:
     74          1.1  christos 
     75  1.1.1.2.2.1    bouyer OSNAME="OpenBSD 6.0"
     76          1.1  christos 
     77          1.1  christos # The following installation directories are used.
     78          1.1  christos # It is possible to set only one or a few of these variables,
     79          1.1  christos # there is no need to copy the whole block.
     80          1.1  christos # Even if you set PREFIX to something else, the other variables
     81          1.1  christos # pick it up without copying them all over.
     82          1.1  christos 
     83          1.1  christos PREFIX="/usr/local"
     84          1.1  christos BINDIR="${PREFIX}/bin"
     85          1.1  christos SBINDIR="${PREFIX}/sbin"
     86          1.1  christos MANDIR="${PREFIX}/man"
     87          1.1  christos 
     88      1.1.1.2  christos # Some distributions may want to avoid naming conflicts
     89      1.1.1.2  christos # with the configuration files of other man(1) implementations.
     90      1.1.1.2  christos # This changes the name of the installed section 5 manual page as well.
     91      1.1.1.2  christos MANM_MANCONF="mandoc.conf"	# default is "man.conf"
     92      1.1.1.2  christos 
     93          1.1  christos # Some distributions may want to avoid naming conflicts among manuals.
     94          1.1  christos # If you want to change the names of installed section 7 manual pages,
     95          1.1  christos # the following alternative names are suggested.
     96          1.1  christos # The suffix ".7" will automatically be appended.
     97          1.1  christos # It is possible to set only one or a few of these variables,
     98          1.1  christos # there is no need to copy the whole block.
     99          1.1  christos 
    100          1.1  christos MANM_MAN="mandoc_man"		# default is "man"
    101          1.1  christos MANM_MDOC="mandoc_mdoc"		# default is "mdoc"
    102          1.1  christos MANM_ROFF="mandoc_roff"		# default is "roff"
    103          1.1  christos MANM_EQN="mandoc_eqn"		# default is "eqn"
    104          1.1  christos MANM_TBL="mandoc_tbl"		# default is "tbl"
    105          1.1  christos 
    106  1.1.1.2.2.1    bouyer # Some distributions may want to avoid naming conflicts with
    107  1.1.1.2.2.1    bouyer # other man(1), apropos(1), makewhatis(8), or soelim(1) utilities.
    108      1.1.1.2  christos # If you want to change the names of binary programs,
    109      1.1.1.2  christos # the following alternative names are suggested.
    110      1.1.1.2  christos # Using different names is possible as well.
    111  1.1.1.2.2.1    bouyer # This changes the names of the installed section 1 and section 8
    112  1.1.1.2.2.1    bouyer # manual pages as well.
    113  1.1.1.2.2.1    bouyer # It is possible to set only one or two of these variables,
    114  1.1.1.2.2.1    bouyer # there is no need to copy the whole block.
    115          1.1  christos 
    116          1.1  christos BINM_MAN=mman			# default is "man"
    117  1.1.1.2.2.1    bouyer BINM_APROPOS=mapropos		# default is "apropos"
    118  1.1.1.2.2.1    bouyer BINM_WHATIS=mwhatis		# default is "whatis"
    119  1.1.1.2.2.1    bouyer BINM_MAKEWHATIS=mandocdb	# default is "makewhatis"
    120      1.1.1.2  christos BINM_SOELIM=msoelim		# default is "soelim"
    121      1.1.1.2  christos 
    122  1.1.1.2.2.1    bouyer # Some distributions do not want hardlinks
    123  1.1.1.2.2.1    bouyer # between installed binary programs.
    124  1.1.1.2.2.1    bouyer # Set the following variable to use symbolic links instead.
    125  1.1.1.2.2.1    bouyer # It is also used for links between manual pages.
    126  1.1.1.2.2.1    bouyer # It is only used by the install* targets.
    127  1.1.1.2.2.1    bouyer # When using this, DESTDIR must be empty or an absolute path.
    128  1.1.1.2.2.1    bouyer 
    129  1.1.1.2.2.1    bouyer LN="ln -sf"			# default is "ln -f"
    130  1.1.1.2.2.1    bouyer 
    131      1.1.1.2  christos # Before falling back to the bundled version of the ohash(3) hashing
    132      1.1.1.2  christos # library, autoconfiguration tries the following linker flag to
    133      1.1.1.2  christos # link against your system version.  If you do have ohash(3) on
    134      1.1.1.2  christos # your system but it needs different linker flags, set the following
    135      1.1.1.2  christos # variable to specify the required linker flags.
    136      1.1.1.2  christos 
    137      1.1.1.2  christos LD_OHASH="-lutil"
    138      1.1.1.2  christos 
    139  1.1.1.2.2.1    bouyer # When library autodetection decides to use -L/usr/local/lib,
    140  1.1.1.2.2.1    bouyer # -I/usr/local/include is automatically added to CFLAGS.
    141  1.1.1.2.2.1    bouyer # If you manually set LD_OHASH to something including -L/usr/local/lib,
    142  1.1.1.2.2.1    bouyer # chances are you will also need the following line:
    143  1.1.1.2.2.1    bouyer 
    144  1.1.1.2.2.1    bouyer CFLAGS="${CFLAGS} -I/usr/local/include"
    145  1.1.1.2.2.1    bouyer 
    146  1.1.1.2.2.1    bouyer # Some platforms may need an additional linker flag for nanosleep(2).
    147  1.1.1.2.2.1    bouyer # If none is needed or it is -lrt, it is autodetected.
    148  1.1.1.2.2.1    bouyer # Otherwise, set the following variable.
    149  1.1.1.2.2.1    bouyer 
    150  1.1.1.2.2.1    bouyer LD_NANOSLEEP="-lrt"
    151  1.1.1.2.2.1    bouyer 
    152  1.1.1.2.2.1    bouyer # Some platforms may need an additional linker flag for recvmsg(2).
    153  1.1.1.2.2.1    bouyer # If none is needed or it is -lsocket, it is autodetected.
    154  1.1.1.2.2.1    bouyer # Otherwise, set the following variable.
    155  1.1.1.2.2.1    bouyer 
    156  1.1.1.2.2.1    bouyer LD_RECVMSG="-lsocket"
    157      1.1.1.2  christos 
    158  1.1.1.2.2.1    bouyer # Some platforms might need additional linker flags to link against
    159  1.1.1.2.2.1    bouyer # libmandoc that are not autodetected, though no such cases are
    160  1.1.1.2.2.1    bouyer # currently known.
    161  1.1.1.2.2.1    bouyer 
    162  1.1.1.2.2.1    bouyer LDADD="-lm"
    163      1.1.1.2  christos 
    164      1.1.1.2  christos # Some systems may want to set additional linker flags for all the
    165      1.1.1.2  christos # binaries, not only for those using libmandoc, for example for
    166      1.1.1.2  christos # hardening options.
    167      1.1.1.2  christos 
    168      1.1.1.2  christos LDFLAGS="-Wl,-z,relro"
    169          1.1  christos 
    170          1.1  christos # It is possible to change the utility program used for installation
    171          1.1  christos # and the modes files are installed with.  The defaults are:
    172          1.1  christos 
    173          1.1  christos INSTALL="install"
    174          1.1  christos INSTALL_PROGRAM="${INSTALL} -m 0555"
    175          1.1  christos INSTALL_LIB="${INSTALL} -m 0444"
    176          1.1  christos INSTALL_MAN="${INSTALL} -m 0444"
    177          1.1  christos INSTALL_DATA="${INSTALL} -m 0444"
    178          1.1  christos 
    179          1.1  christos # When using the "homebrew" package manager on Mac OS X, the actual
    180          1.1  christos # manuals are located in a so-called "cellar" and only symlinked
    181          1.1  christos # into the manual trees.  To allow mandoc to follow such symlinks,
    182          1.1  christos # you have to specify the physical location of the cellar as returned
    183          1.1  christos # by realpath(3), for example:
    184          1.1  christos 
    185          1.1  christos PREFIX="/usr/local"
    186          1.1  christos HOMEBREWDIR="${PREFIX}/Cellar"
    187          1.1  christos 
    188  1.1.1.2.2.1    bouyer # --- user settings for the mandoc(3) library --------------------------
    189  1.1.1.2.2.1    bouyer 
    190  1.1.1.2.2.1    bouyer # By default, libmandoc.a is not installed.  It is almost never needed
    191  1.1.1.2.2.1    bouyer # because there is almost no non-mandoc software out there using this
    192  1.1.1.2.2.1    bouyer # library.  The one notable exception is NetBSD apropos(1).
    193  1.1.1.2.2.1    bouyer # So, when building for the NetBSD base system - but not for NetBSD
    194  1.1.1.2.2.1    bouyer # ports nor for pkgsrc! - you may want the following:
    195  1.1.1.2.2.1    bouyer 
    196  1.1.1.2.2.1    bouyer INSTALL_LIBMANDOC=1
    197  1.1.1.2.2.1    bouyer 
    198  1.1.1.2.2.1    bouyer # The following settings are only used when INSTALL_LIBMANDOC is set.
    199  1.1.1.2.2.1    bouyer 
    200  1.1.1.2.2.1    bouyer INCLUDEDIR="${PREFIX}/include/mandoc"
    201  1.1.1.2.2.1    bouyer LIBDIR="${PREFIX}/lib/mandoc"
    202  1.1.1.2.2.1    bouyer 
    203  1.1.1.2.2.1    bouyer # --- user settings related to man.cgi ---------------------------------
    204          1.1  christos 
    205          1.1  christos # By default, building man.cgi(8) is disabled.  To enable it, copy
    206          1.1  christos # cgi.h.example to cgi.h, edit it, and use the following line.
    207          1.1  christos 
    208          1.1  christos BUILD_CGI=1
    209          1.1  christos 
    210          1.1  christos # The remaining settings in this section are only relevant if BUILD_CGI
    211          1.1  christos # is enabled.  Otherwise, they have no effect either way.
    212          1.1  christos 
    213          1.1  christos # By default, man.cgi(8) is linked statically.
    214          1.1  christos # Some systems do not support static linking, for example Mac OS X.
    215          1.1  christos # In that case, use the following line:
    216          1.1  christos 
    217          1.1  christos STATIC=
    218          1.1  christos 
    219          1.1  christos # Some systems, for example Linux, require -pthread for static linking:
    220          1.1  christos 
    221          1.1  christos STATIC="-static -pthread"
    222          1.1  christos 
    223          1.1  christos # Some directories.
    224          1.1  christos # This works just like PREFIX, see above.
    225          1.1  christos 
    226          1.1  christos WWWPREFIX="/var/www"
    227          1.1  christos HTDOCDIR="${WWWPREFIX}/htdocs"
    228          1.1  christos CGIBINDIR="${WWWPREFIX}/cgi-bin"
    229          1.1  christos 
    230  1.1.1.2.2.1    bouyer # --- user settings related to catman ----------------------------------
    231  1.1.1.2.2.1    bouyer 
    232  1.1.1.2.2.1    bouyer # By default, building mandocd(8) and catman(8) is disabled.
    233  1.1.1.2.2.1    bouyer # To enable it, use the following line.
    234  1.1.1.2.2.1    bouyer # It does not work on SunOS 5.10 because there is no mkdirat(2)
    235  1.1.1.2.2.1    bouyer # nor on SunOS 5.9 which also lacks CMSG_LEN(3) and CMSG_SPACE(3).
    236  1.1.1.2.2.1    bouyer 
    237  1.1.1.2.2.1    bouyer BUILD_CATMAN=1
    238  1.1.1.2.2.1    bouyer 
    239  1.1.1.2.2.1    bouyer # Install catman(8) with a different name.
    240  1.1.1.2.2.1    bouyer # See BINM_MAN above for details of how this works.
    241  1.1.1.2.2.1    bouyer 
    242  1.1.1.2.2.1    bouyer BINM_CATMAN=mcatman		# default is "catman"
    243  1.1.1.2.2.1    bouyer 
    244          1.1  christos # --- settings that rarely need to be touched --------------------------
    245          1.1  christos 
    246          1.1  christos # Do not set these variables unless you really need to.
    247          1.1  christos 
    248          1.1  christos # You can manually override the compiler to be used.
    249          1.1  christos # But that's rarely useful because ./configure asks your make(1)
    250          1.1  christos # which compiler to use, and that answer will hardly be wrong.
    251          1.1  christos 
    252          1.1  christos CC=cc
    253          1.1  christos 
    254      1.1.1.2  christos # IBM AIX may need:
    255      1.1.1.2  christos 
    256      1.1.1.2  christos CC=xlc
    257      1.1.1.2  christos 
    258          1.1  christos # The default compiler flags are:
    259          1.1  christos 
    260          1.1  christos CFLAGS="-g -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings"
    261          1.1  christos 
    262      1.1.1.2  christos # IBM AIX xlc does not support -W; in that case, please use:
    263      1.1.1.2  christos 
    264      1.1.1.2  christos CFLAGS="-g"
    265      1.1.1.2  christos 
    266          1.1  christos # In rare cases, it may be required to skip individual automatic tests.
    267          1.1  christos # Each of the following variables can be set to 0 (test will not be run
    268          1.1  christos # and will be regarded as failed) or 1 (test will not be run and will
    269          1.1  christos # be regarded as successful).
    270          1.1  christos 
    271          1.1  christos HAVE_DIRENT_NAMLEN=0
    272  1.1.1.2.2.1    bouyer HAVE_ENDIAN=0
    273  1.1.1.2.2.1    bouyer HAVE_EFTYPE=0
    274      1.1.1.2  christos HAVE_ERR=0
    275  1.1.1.2.2.1    bouyer HAVE_FTS=0  # Setting this implies HAVE_FTS_COMPARE_CONST=0.
    276  1.1.1.2.2.1    bouyer HAVE_FTS_COMPARE_CONST=0  # Setting this implies HAVE_FTS=1.
    277      1.1.1.2  christos HAVE_GETLINE=0
    278          1.1  christos HAVE_GETSUBOPT=0
    279      1.1.1.2  christos HAVE_ISBLANK=0
    280      1.1.1.2  christos HAVE_MKDTEMP=0
    281  1.1.1.2.2.1    bouyer HAVE_NTOHL=0
    282  1.1.1.2.2.1    bouyer HAVE_O_DIRECTORY=0
    283  1.1.1.2.2.1    bouyer HAVE_OHASH=0
    284  1.1.1.2.2.1    bouyer HAVE_PATH_MAX=0
    285      1.1.1.2  christos HAVE_PLEDGE=0
    286      1.1.1.2  christos HAVE_PROGNAME=0
    287          1.1  christos HAVE_REALLOCARRAY=0
    288      1.1.1.2  christos HAVE_REWB_BSD=0
    289      1.1.1.2  christos HAVE_REWB_SYSV=0
    290          1.1  christos HAVE_STRCASESTR=0
    291      1.1.1.2  christos HAVE_STRINGLIST=0
    292          1.1  christos HAVE_STRLCAT=0
    293          1.1  christos HAVE_STRLCPY=0
    294          1.1  christos HAVE_STRPTIME=0
    295          1.1  christos HAVE_STRSEP=0
    296          1.1  christos HAVE_STRTONUM=0
    297  1.1.1.2.2.1    bouyer HAVE_SYS_ENDIAN=0
    298      1.1.1.2  christos HAVE_VASPRINTF=0
    299      1.1.1.2  christos HAVE_WCHAR=0
    300