H.2. Optional features

CGI client interface

--with-cgi (default: no)

Build and install the optional CGI programs, HTML files, and sample CGI configuration files. This is not enabled by default, as they are only useful on web servers. See data/html/README for additional information on how to set up CGI programs.

Pretty documentation and man pages

--with-doc=<output-format(s)>  (default: no)

Build and install NUT documentation file(s).

This feature requires AsciiDoc 8.6.3 or newer (see https://asciidoc.org).

The possible documentation type values are:

  • html-single for single page HTML,
  • html-chunked for multi-paged HTML,
  • pdf for a PDF file, and
  • man for the usual manpages.

Other values understood for this option are listed below:

  • If the --with-doc argument is passed without a list, or specifies just =yes or =all, it enables all supported formats with a =yes to require them.
  • An (explicit!) --with-doc=auto argument tries to enable all supported formats with an =auto but should not fail the build if something can not be generated.
  • A --with-doc=no quietly skips generation of all types of documentation, including manpages.
  • --with-doc=skip is used to configure some of the make distcheck* scenarios to re-use man page files built and distributed by the main build and not waste time on re-generation of those.

Multiple documentation format values can be specified, separated with comma. Each such value can be suffixed with =yes to require building of this one documentation format (abort configuration if tools are missing), =auto to detect and enable if we can build it on this system (and not abort if we can not), and =no (or =skip) to explicitly skip generation of this document format even if we do have the tools to build it.

If a document format is mentioned in the list without a suffix, then it is treated as a =yes requirement.

Verbose output can be enabled using: ASCIIDOC_VERBOSE=-v make

Example valid formats of this flag:

  • --with-doc without an argument, effectively same as --with-doc=yes
  • --with-doc= is a valid empty list, effectively same as --with-doc=no
  • --with-doc=auto
  • --with-doc=pdf,html-chunked
  • --with-doc=man=no,pdf=auto,html-single

Development files

--with-dev (default: no)

Build and install the upsclient and nutclient library and header files, to build further projects against NUT (such as wmNUT client and many others).

Options for developers

--enable-check-NIT (default: no)

Add make check-NIT to default activity of make check to run the NUT Integration Testing suite. This is potentially dangerous (e.g. due to port conflicts when running many such tests in same environment), so not active by default.

--enable-maintainer-mode (default: no)

Use maintainer mode to keep Makefile.in and Makefile in sync with ever-changing Makefile.am content after Git updates or editing.

--enable-cppcheck (default: no)

Activate recipes for static analysis with cppcheck tools (if available).

I want it all!

--with-all (no default)

Build and install all of the above (the serial, USB, SNMP, XML/HTTP and PowerMan drivers, the CGI programs and HTML files, and the upsclient library).

Networking transport security

--with-ssl (default: auto-detect)
--with-nss (default: auto-detect)
--with-openssl (default: auto-detect)

Enable SSL support, using either Mozilla NSS or OpenSSL.

If both are present, and nothing was specified, OpenSSL support will be preferred.

Read docs/security.txt for instructions on SSL support.

Note

Currently the two implementations differ in supported features.

Networking access security

--with-wrap (default: auto-detect)

Enable libwrap (tcp-wrappers) support.

Refer to upsd(8) man page for more information.

Networking IPv6

--with-ipv6 (default: auto-detect)

Enable IPv6 support.

AVAHI/mDNS

--with-avahi (default: auto-detect)

Build and install Avahi support, to publish NUT server availability using mDNS protocol. This requires Avahi development files for the Core and Client parts.

LibLTDL

--with-libltdl (default: auto-detect)

Enable libltdl (Libtool dlopen abstraction) support.

This is required to build nut-scanner which loads third-party libraries dynamically, based on requested scanning options. This allows to build and package the tool without requiring all possible dependencies to be installed in each run-time environment.