Home | History | Annotate | Line # | Download | only in dist
configure.local.example revision 1.1.1.3.10.1
      1  1.1.1.3.10.1  pgoyette # Id: configure.local.example,v 1.34 2018/07/31 15:34:00 schwarze Exp 
      2           1.1  christos #
      3  1.1.1.3.10.1  pgoyette # Copyright (c) 2014,2015,2016,2017,2018 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.1.3.10.1  pgoyette # If autodetection fails, please tell <tech (a] mandoc.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.3  christos # For -Tutf8 mode, mandoc needs to set an arbitrary locale having
     52       1.1.1.3  christos # a UTF-8 character set.  If autodetection of a suitable locale
     53       1.1.1.3  christos # fails or selects an undesirable locale, you can manually choose
     54       1.1.1.3  christos # the locale for -Tutf8 mode:
     55       1.1.1.3  christos 
     56       1.1.1.3  christos UTF8_LOCALE=en_US.UTF-8
     57       1.1.1.3  christos 
     58       1.1.1.2  christos # When man(1) or apropos(1) is called without -m and -M options,
     59       1.1.1.3  christos # MANPATH is not set in the environment, and man.conf(5) is not
     60       1.1.1.3  christos # available, manuals are searched for in the following directory
     61       1.1.1.3  christos # 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.1.3.10.1  pgoyette # Validation of cross references with mandoc -Tlint only looks
     66  1.1.1.3.10.1  pgoyette # for manual pages in the following directories:
     67  1.1.1.3.10.1  pgoyette 
     68  1.1.1.3.10.1  pgoyette MANPATH_BASE="/usr/share/man:/usr/X11R6/man"
     69  1.1.1.3.10.1  pgoyette 
     70           1.1  christos # In manual pages written in the mdoc(7) language, the operating system
     71           1.1  christos # version is displayed in the page footer line.  If an operating system
     72           1.1  christos # is specified as an argument to the .Os macro, that is always used.
     73           1.1  christos # If the .Os macro has no argument and an operation system is specified
     74           1.1  christos # with the mandoc(1) -Ios= command line option, that is used.
     75           1.1  christos # Otherwise, the uname(3) library function is called at runtime to find
     76           1.1  christos # the name of the operating system.
     77           1.1  christos # If you do not want uname(3) to be called but instead want a fixed
     78           1.1  christos # string to be used, use the following line:
     79           1.1  christos 
     80  1.1.1.3.10.1  pgoyette OSNAME="OpenBSD 6.3"
     81           1.1  christos 
     82           1.1  christos # The following installation directories are used.
     83           1.1  christos # It is possible to set only one or a few of these variables,
     84           1.1  christos # there is no need to copy the whole block.
     85           1.1  christos # Even if you set PREFIX to something else, the other variables
     86           1.1  christos # pick it up without copying them all over.
     87           1.1  christos 
     88           1.1  christos PREFIX="/usr/local"
     89           1.1  christos BINDIR="${PREFIX}/bin"
     90           1.1  christos SBINDIR="${PREFIX}/sbin"
     91           1.1  christos MANDIR="${PREFIX}/man"
     92           1.1  christos 
     93  1.1.1.3.10.1  pgoyette # If BINDIR and SBINDIR are not subdirectories of the same parent
     94  1.1.1.3.10.1  pgoyette # directory or if the basename(1) of BINDIR differs from "bin",
     95  1.1.1.3.10.1  pgoyette # the relative path from SBINDIR to BINDIR is also needed.
     96  1.1.1.3.10.1  pgoyette # The default is:
     97  1.1.1.3.10.1  pgoyette 
     98  1.1.1.3.10.1  pgoyette BIN_FROM_SBIN="../bin"
     99  1.1.1.3.10.1  pgoyette 
    100       1.1.1.2  christos # Some distributions may want to avoid naming conflicts
    101       1.1.1.2  christos # with the configuration files of other man(1) implementations.
    102       1.1.1.2  christos # This changes the name of the installed section 5 manual page as well.
    103  1.1.1.3.10.1  pgoyette 
    104       1.1.1.2  christos MANM_MANCONF="mandoc.conf"	# default is "man.conf"
    105       1.1.1.2  christos 
    106           1.1  christos # Some distributions may want to avoid naming conflicts among manuals.
    107           1.1  christos # If you want to change the names of installed section 7 manual pages,
    108           1.1  christos # the following alternative names are suggested.
    109           1.1  christos # The suffix ".7" will automatically be appended.
    110           1.1  christos # It is possible to set only one or a few of these variables,
    111           1.1  christos # there is no need to copy the whole block.
    112           1.1  christos 
    113           1.1  christos MANM_MAN="mandoc_man"		# default is "man"
    114           1.1  christos MANM_MDOC="mandoc_mdoc"		# default is "mdoc"
    115           1.1  christos MANM_ROFF="mandoc_roff"		# default is "roff"
    116           1.1  christos MANM_EQN="mandoc_eqn"		# default is "eqn"
    117           1.1  christos MANM_TBL="mandoc_tbl"		# default is "tbl"
    118           1.1  christos 
    119       1.1.1.3  christos # Some distributions may want to avoid naming conflicts with
    120       1.1.1.3  christos # other man(1), apropos(1), makewhatis(8), or soelim(1) utilities.
    121       1.1.1.2  christos # If you want to change the names of binary programs,
    122       1.1.1.2  christos # the following alternative names are suggested.
    123       1.1.1.2  christos # Using different names is possible as well.
    124       1.1.1.3  christos # This changes the names of the installed section 1 and section 8
    125       1.1.1.3  christos # manual pages as well.
    126       1.1.1.3  christos # It is possible to set only one or two of these variables,
    127       1.1.1.3  christos # there is no need to copy the whole block.
    128           1.1  christos 
    129           1.1  christos BINM_MAN=mman			# default is "man"
    130       1.1.1.3  christos BINM_APROPOS=mapropos		# default is "apropos"
    131       1.1.1.3  christos BINM_WHATIS=mwhatis		# default is "whatis"
    132       1.1.1.3  christos BINM_MAKEWHATIS=mandocdb	# default is "makewhatis"
    133       1.1.1.2  christos BINM_SOELIM=msoelim		# default is "soelim"
    134       1.1.1.2  christos 
    135       1.1.1.3  christos # Some distributions do not want hardlinks
    136       1.1.1.3  christos # between installed binary programs.
    137       1.1.1.3  christos # Set the following variable to use symbolic links instead.
    138       1.1.1.3  christos # It is also used for links between manual pages.
    139       1.1.1.3  christos # It is only used by the install* targets.
    140       1.1.1.3  christos # When using this, DESTDIR must be empty or an absolute path.
    141       1.1.1.3  christos 
    142       1.1.1.3  christos LN="ln -sf"			# default is "ln -f"
    143       1.1.1.3  christos 
    144       1.1.1.2  christos # Before falling back to the bundled version of the ohash(3) hashing
    145       1.1.1.2  christos # library, autoconfiguration tries the following linker flag to
    146       1.1.1.2  christos # link against your system version.  If you do have ohash(3) on
    147       1.1.1.2  christos # your system but it needs different linker flags, set the following
    148       1.1.1.2  christos # variable to specify the required linker flags.
    149       1.1.1.2  christos 
    150       1.1.1.2  christos LD_OHASH="-lutil"
    151       1.1.1.2  christos 
    152       1.1.1.3  christos # Some platforms may need an additional linker flag for nanosleep(2).
    153       1.1.1.3  christos # If none is needed or it is -lrt, it is autodetected.
    154       1.1.1.3  christos # Otherwise, set the following variable.
    155       1.1.1.3  christos 
    156       1.1.1.3  christos LD_NANOSLEEP="-lrt"
    157       1.1.1.3  christos 
    158       1.1.1.3  christos # Some platforms may need an additional linker flag for recvmsg(2).
    159       1.1.1.3  christos # If none is needed or it is -lsocket, it is autodetected.
    160       1.1.1.3  christos # Otherwise, set the following variable.
    161       1.1.1.3  christos 
    162       1.1.1.3  christos LD_RECVMSG="-lsocket"
    163       1.1.1.2  christos 
    164       1.1.1.3  christos # Some platforms might need additional linker flags to link against
    165       1.1.1.3  christos # libmandoc that are not autodetected, though no such cases are
    166       1.1.1.3  christos # currently known.
    167       1.1.1.3  christos 
    168       1.1.1.3  christos LDADD="-lm"
    169       1.1.1.2  christos 
    170       1.1.1.2  christos # Some systems may want to set additional linker flags for all the
    171       1.1.1.2  christos # binaries, not only for those using libmandoc, for example for
    172       1.1.1.2  christos # hardening options.
    173       1.1.1.2  christos 
    174       1.1.1.2  christos LDFLAGS="-Wl,-z,relro"
    175           1.1  christos 
    176           1.1  christos # It is possible to change the utility program used for installation
    177           1.1  christos # and the modes files are installed with.  The defaults are:
    178           1.1  christos 
    179           1.1  christos INSTALL="install"
    180           1.1  christos INSTALL_PROGRAM="${INSTALL} -m 0555"
    181           1.1  christos INSTALL_LIB="${INSTALL} -m 0444"
    182           1.1  christos INSTALL_MAN="${INSTALL} -m 0444"
    183           1.1  christos INSTALL_DATA="${INSTALL} -m 0444"
    184           1.1  christos 
    185           1.1  christos # When using the "homebrew" package manager on Mac OS X, the actual
    186           1.1  christos # manuals are located in a so-called "cellar" and only symlinked
    187           1.1  christos # into the manual trees.  To allow mandoc to follow such symlinks,
    188           1.1  christos # you have to specify the physical location of the cellar as returned
    189           1.1  christos # by realpath(3), for example:
    190           1.1  christos 
    191           1.1  christos PREFIX="/usr/local"
    192           1.1  christos HOMEBREWDIR="${PREFIX}/Cellar"
    193           1.1  christos 
    194       1.1.1.3  christos # --- user settings for the mandoc(3) library --------------------------
    195       1.1.1.3  christos 
    196       1.1.1.3  christos # By default, libmandoc.a is not installed.  It is almost never needed
    197       1.1.1.3  christos # because there is almost no non-mandoc software out there using this
    198       1.1.1.3  christos # library.  The one notable exception is NetBSD apropos(1).
    199       1.1.1.3  christos # So, when building for the NetBSD base system - but not for NetBSD
    200       1.1.1.3  christos # ports nor for pkgsrc! - you may want the following:
    201       1.1.1.3  christos 
    202       1.1.1.3  christos INSTALL_LIBMANDOC=1
    203       1.1.1.3  christos 
    204       1.1.1.3  christos # The following settings are only used when INSTALL_LIBMANDOC is set.
    205       1.1.1.3  christos 
    206       1.1.1.3  christos INCLUDEDIR="${PREFIX}/include/mandoc"
    207       1.1.1.3  christos LIBDIR="${PREFIX}/lib/mandoc"
    208       1.1.1.3  christos 
    209       1.1.1.3  christos # --- user settings related to man.cgi ---------------------------------
    210           1.1  christos 
    211           1.1  christos # By default, building man.cgi(8) is disabled.  To enable it, copy
    212           1.1  christos # cgi.h.example to cgi.h, edit it, and use the following line.
    213           1.1  christos 
    214           1.1  christos BUILD_CGI=1
    215           1.1  christos 
    216           1.1  christos # The remaining settings in this section are only relevant if BUILD_CGI
    217           1.1  christos # is enabled.  Otherwise, they have no effect either way.
    218           1.1  christos 
    219  1.1.1.3.10.1  pgoyette # By default, man.cgi(8) is linked statically if the compiler supports
    220  1.1.1.3.10.1  pgoyette # the -static option.  If automatic detection fails, you can force
    221  1.1.1.3.10.1  pgoyette # static linking of man.cgi(8).
    222           1.1  christos 
    223  1.1.1.3.10.1  pgoyette STATIC="-static"
    224           1.1  christos 
    225  1.1.1.3.10.1  pgoyette # Some systems may require -pthread for static linking:
    226           1.1  christos 
    227           1.1  christos STATIC="-static -pthread"
    228           1.1  christos 
    229  1.1.1.3.10.1  pgoyette # If static linking works in general but not with additional libraries
    230  1.1.1.3.10.1  pgoyette # like -lrt or -lz, you can force dynamic linking.  This may for
    231  1.1.1.3.10.1  pgoyette # example be required on SunOS 5.9.
    232  1.1.1.3.10.1  pgoyette 
    233  1.1.1.3.10.1  pgoyette STATIC=" "
    234  1.1.1.3.10.1  pgoyette 
    235           1.1  christos # Some directories.
    236           1.1  christos # This works just like PREFIX, see above.
    237           1.1  christos 
    238           1.1  christos WWWPREFIX="/var/www"
    239           1.1  christos HTDOCDIR="${WWWPREFIX}/htdocs"
    240           1.1  christos CGIBINDIR="${WWWPREFIX}/cgi-bin"
    241           1.1  christos 
    242       1.1.1.3  christos # --- user settings related to catman ----------------------------------
    243       1.1.1.3  christos 
    244       1.1.1.3  christos # By default, building mandocd(8) and catman(8) is disabled.
    245       1.1.1.3  christos # To enable it, use the following line.
    246       1.1.1.3  christos # It does not work on SunOS 5.10 because there is no mkdirat(2)
    247       1.1.1.3  christos # nor on SunOS 5.9 which also lacks CMSG_LEN(3) and CMSG_SPACE(3).
    248       1.1.1.3  christos 
    249       1.1.1.3  christos BUILD_CATMAN=1
    250       1.1.1.3  christos 
    251       1.1.1.3  christos # Install catman(8) with a different name.
    252       1.1.1.3  christos # See BINM_MAN above for details of how this works.
    253       1.1.1.3  christos 
    254       1.1.1.3  christos BINM_CATMAN=mcatman		# default is "catman"
    255       1.1.1.3  christos 
    256           1.1  christos # --- settings that rarely need to be touched --------------------------
    257           1.1  christos 
    258           1.1  christos # Do not set these variables unless you really need to.
    259           1.1  christos 
    260           1.1  christos # You can manually override the compiler to be used.
    261           1.1  christos # But that's rarely useful because ./configure asks your make(1)
    262           1.1  christos # which compiler to use, and that answer will hardly be wrong.
    263           1.1  christos 
    264           1.1  christos CC=cc
    265           1.1  christos 
    266  1.1.1.3.10.1  pgoyette # Because the system compiler may not provide <stdint.h>,
    267  1.1.1.3.10.1  pgoyette # SunOS 5.9 may need:
    268       1.1.1.2  christos 
    269  1.1.1.3.10.1  pgoyette CC=gcc
    270       1.1.1.2  christos 
    271  1.1.1.3.10.1  pgoyette # IBM AIX may need:
    272           1.1  christos 
    273  1.1.1.3.10.1  pgoyette CC=xlc
    274           1.1  christos 
    275  1.1.1.3.10.1  pgoyette # Normally, leave CFLAGS unset.  In that case, -g will automatically
    276  1.1.1.3.10.1  pgoyette # be used, and various -W options will be added if the compiler
    277  1.1.1.3.10.1  pgoyette # supports them.  If you define CFLAGS manually, it will be used
    278  1.1.1.3.10.1  pgoyette # unchanged, and nothing will be added.
    279       1.1.1.2  christos 
    280       1.1.1.2  christos CFLAGS="-g"
    281       1.1.1.2  christos 
    282           1.1  christos # In rare cases, it may be required to skip individual automatic tests.
    283           1.1  christos # Each of the following variables can be set to 0 (test will not be run
    284           1.1  christos # and will be regarded as failed) or 1 (test will not be run and will
    285           1.1  christos # be regarded as successful).
    286           1.1  christos 
    287           1.1  christos HAVE_DIRENT_NAMLEN=0
    288       1.1.1.3  christos HAVE_ENDIAN=0
    289       1.1.1.3  christos HAVE_EFTYPE=0
    290       1.1.1.2  christos HAVE_ERR=0
    291       1.1.1.3  christos HAVE_FTS=0  # Setting this implies HAVE_FTS_COMPARE_CONST=0.
    292       1.1.1.3  christos HAVE_FTS_COMPARE_CONST=0  # Setting this implies HAVE_FTS=1.
    293       1.1.1.2  christos HAVE_GETLINE=0
    294           1.1  christos HAVE_GETSUBOPT=0
    295       1.1.1.2  christos HAVE_ISBLANK=0
    296       1.1.1.2  christos HAVE_MKDTEMP=0
    297       1.1.1.3  christos HAVE_NTOHL=0
    298       1.1.1.3  christos HAVE_O_DIRECTORY=0
    299       1.1.1.3  christos HAVE_OHASH=0
    300       1.1.1.3  christos HAVE_PATH_MAX=0
    301       1.1.1.2  christos HAVE_PLEDGE=0
    302       1.1.1.2  christos HAVE_PROGNAME=0
    303           1.1  christos HAVE_REALLOCARRAY=0
    304  1.1.1.3.10.1  pgoyette HAVE_RECALLOCARRAY=0
    305       1.1.1.2  christos HAVE_REWB_BSD=0
    306       1.1.1.2  christos HAVE_REWB_SYSV=0
    307           1.1  christos HAVE_STRCASESTR=0
    308       1.1.1.2  christos HAVE_STRINGLIST=0
    309           1.1  christos HAVE_STRLCAT=0
    310           1.1  christos HAVE_STRLCPY=0
    311           1.1  christos HAVE_STRPTIME=0
    312           1.1  christos HAVE_STRSEP=0
    313           1.1  christos HAVE_STRTONUM=0
    314       1.1.1.3  christos HAVE_SYS_ENDIAN=0
    315       1.1.1.2  christos HAVE_VASPRINTF=0
    316       1.1.1.2  christos HAVE_WCHAR=0
    317