1319 lines
39 KiB
Text
1319 lines
39 KiB
Text
dnl +------------------------------------------------------------------+
|
|
dnl | Network UPS Tools: configure.ac |
|
|
dnl +------------------------------------------------------------------+
|
|
|
|
dnl NUT version number is defined here, with a Git suffix in include/nut_version.h
|
|
AC_INIT(nut, 2.7.3, [https://github.com/networkupstools/nut/issues])
|
|
AC_CONFIG_SRCDIR(server/upsd.c)
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
echo "Network UPS Tools version ${PACKAGE_VERSION}"
|
|
AC_CANONICAL_SYSTEM
|
|
NUT_CHECK_OS
|
|
AC_CONFIG_HEADER(include/config.h)
|
|
AC_PREFIX_DEFAULT(/usr/local/ups)
|
|
AM_INIT_AUTOMAKE([subdir-objects])
|
|
|
|
dnl we need Autoconf 2.60 or better to enable features of Posix that are extensions to C
|
|
AC_MSG_CHECKING(for autoconf macro to enable system extensions)
|
|
m4_version_prereq(2.60, [
|
|
AC_MSG_RESULT(yes)
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
|
|
dnl Use "./configure --enable-maintainer-mode" to keep Makefile.in and Makefile
|
|
dnl in sync after Git updates.
|
|
AM_MAINTAINER_MODE
|
|
|
|
dnl PKG_PROG_PKG_CONFIG
|
|
|
|
dnl Various version related processing
|
|
dnl ----------------------------------
|
|
|
|
dnl # the following is commented out, because the UPS_VERSION macro now
|
|
dnl # resides in include/nut_version.h, which is generated by Makefile.am,
|
|
dnl # rather than in include/config.h, which is generated by configure. The
|
|
dnl # reason is that the SVN revision should be computed at compile time,
|
|
dnl # not configure time.
|
|
dnl AC_DEFINE_UNQUOTED(UPS_VERSION, "${PACKAGE_VERSION}", [NUT version])
|
|
|
|
dnl However, automatically define the tree version (mostly for AC_SUBST)
|
|
TREE_VERSION="`echo ${PACKAGE_VERSION} | awk '{ print substr($0,1,3) }'`"
|
|
AC_DEFINE_UNQUOTED(TREE_VERSION, "${TREE_VERSION}", [NUT tree version])
|
|
|
|
dnl Should not be necessary, since old servers have well-defined errors for
|
|
dnl unsupported commands:
|
|
NUT_NETVERSION="1.2"
|
|
AC_DEFINE_UNQUOTED(NUT_NETVERSION, "${NUT_NETVERSION}", [NUT network protocol version])
|
|
|
|
|
|
dnl Fix this early so we can expand with eval later
|
|
test "${prefix}" = "NONE" && prefix="${ac_default_prefix}"
|
|
test "${exec_prefix}" = "NONE" && exec_prefix='${prefix}'
|
|
|
|
CFLAGS=${CFLAGS-"-O"}
|
|
|
|
dnl NOTE: for definition of NUT_* autoconf macros, see m4/ directory
|
|
dnl and docs/macros.txt
|
|
|
|
dnl +------------------------------------------------------------------+
|
|
dnl | default values for things later on (can be overridden) |
|
|
|
|
STATEPATH="/var/state/ups"
|
|
|
|
cgiexecdir='${exec_prefix}/cgi-bin'
|
|
driverexecdir='${exec_prefix}/bin'
|
|
htmldir='${prefix}/html'
|
|
pkgconfigdir='${libdir}/pkgconfig'
|
|
hotplugdir='/etc/hotplug'
|
|
if test ! -d "${hotplugdir}"; then
|
|
hotplugdir=''
|
|
fi
|
|
udevdir='/lib/udev'
|
|
if test ! -d "${udevdir}"; then
|
|
udevdir='/etc/udev'
|
|
if test ! -d "${udevdir}"; then
|
|
udevdir=''
|
|
fi
|
|
fi
|
|
|
|
devddir='/usr/local/etc/devd'
|
|
if test ! -d "${devddir}"; then
|
|
devddir='/etc/devd'
|
|
if test ! -d "${devddir}"; then
|
|
devddir=''
|
|
fi
|
|
fi
|
|
|
|
RUN_AS_USER="nobody"
|
|
RUN_AS_GROUP="nobody"
|
|
PIDPATH="/var/run"
|
|
|
|
dnl Define directory where LIBOBJS replacement functions are
|
|
AC_CONFIG_LIBOBJ_DIR([common])
|
|
|
|
dnl +-------------------------------------------------------------------
|
|
|
|
AC_PROG_CC
|
|
dnl Needed for per-target flags
|
|
AM_PROG_CC_C_O
|
|
AC_PROG_CPP
|
|
AC_PROG_CXX
|
|
AC_PROG_INSTALL
|
|
AC_PROG_EGREP
|
|
AC_PATH_PROG(AR, ar)
|
|
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
|
dnl Postpone call to AC_PROG_LIBTOOL to allow disabling static lib
|
|
AC_C_BIGENDIAN
|
|
AC_C_INLINE
|
|
AC_C_FLEXIBLE_ARRAY_MEMBER
|
|
AC_C_VARARRAYS
|
|
AC_CHECK_FUNCS(flock lockf fcvt fcvtl)
|
|
AC_CHECK_FUNCS(cfsetispeed tcsendbreak)
|
|
AC_CHECK_FUNCS(seteuid setsid getpassphrase)
|
|
AC_CHECK_FUNCS(on_exit strptime setlogmask)
|
|
AC_CHECK_DECLS(LOG_UPTO, [], [], [#include <syslog.h>])
|
|
|
|
dnl the following may add stuff to LIBOBJS (is this still needed?)
|
|
AC_CHECK_FUNCS(vsnprintf snprintf, [], [
|
|
AC_LIBOBJ(snprintf)
|
|
AC_TYPE_LONG_DOUBLE
|
|
AC_TYPE_LONG_LONG_INT
|
|
])
|
|
|
|
AC_REPLACE_FUNCS(setenv strerror atexit)
|
|
|
|
|
|
dnl
|
|
dnl Tests for CppUnit availability and usability
|
|
dnl Using CppUnit implies C++ support!
|
|
dnl Theoretically, libcppunit-dev will pull up to g++, through libstdc++...
|
|
dnl AM_PATH_CPPUNIT(1.9.6)
|
|
|
|
PKG_CHECK_MODULES(CPPUNIT, cppunit, have_cppunit=yes, have_cppunit=no)
|
|
if test "${have_cppunit}" != "yes" ; then
|
|
AC_MSG_WARN([libcppunit not found.])
|
|
fi
|
|
AM_CONDITIONAL(HAVE_CPPUNIT, test "${have_cppunit}" = "yes")
|
|
|
|
dnl
|
|
dnl Only use these when compiling with gcc
|
|
dnl
|
|
if ( test "${GCC}" = "yes" )
|
|
then
|
|
CFLAGS="${CFLAGS} -Wall -Wsign-compare"
|
|
fi
|
|
|
|
case ${target_os} in
|
|
solaris2* )
|
|
dnl On Solaris, this allows errno to use thread local storage
|
|
CFLAGS="${CFLAGS} -D_REENTRANT"
|
|
;;
|
|
aix* )
|
|
dnl On AIX, this allows errno to use thread local storage
|
|
CFLAGS="${CFLAGS} -D_REENTRANT"
|
|
;;
|
|
hpux11* )
|
|
dnl It seems like the thread safe string functions will not be included
|
|
dnl on 64 bit HP-UX unless we define _REENTRANT
|
|
CFLAGS="${CFLAGS} -D_REENTRANT"
|
|
;;
|
|
esac
|
|
|
|
dnl optind handling:
|
|
dnl need to check if unistd.h is enough, else try getopt.h, else need decls
|
|
AC_CHECK_DECLS(optind, [], [
|
|
AC_CHECK_HEADERS(getopt.h, [
|
|
AC_DEFINE(NEED_GETOPT_H, 1, [Define if getopt.h is needed])
|
|
], [
|
|
AC_DEFINE(NEED_GETOPT_DECLS, 1, [Define to use explicit getopt declarations])
|
|
], [AC_INCLUDES_DEFAULT])
|
|
], [AC_INCLUDES_DEFAULT])
|
|
|
|
dnl do a 2nd check to ensure inclusion of getopt.h, in case optind is known
|
|
AC_CHECK_HEADERS(getopt.h, [
|
|
AC_DEFINE(NEED_GETOPT_H, 1, [Define if getopt.h is needed])
|
|
], [
|
|
AC_DEFINE(NEED_GETOPT_DECLS, 1, [Define to use explicit getopt declarations])
|
|
], [AC_INCLUDES_DEFAULT])
|
|
|
|
dnl also check for getopt_long
|
|
AC_CHECK_FUNCS(getopt_long)
|
|
|
|
dnl FreeBSD serial locking compatibility - look for uu_lock in libutil.h
|
|
AC_CHECK_DECLS(uu_lock, [
|
|
AC_DEFINE(HAVE_UU_LOCK, 1, [Use uu_lock for locking (FreeBSD)])
|
|
SERLIBS="-lutil"
|
|
dnl put in some better defaults for FreeBSD
|
|
RUN_AS_USER="uucp"
|
|
], [
|
|
SERLIBS=""
|
|
], [
|
|
#include <sys/types.h>
|
|
#include <libutil.h>
|
|
])
|
|
|
|
AC_CHECK_DECLS(__func__, [], [
|
|
AC_CHECK_DECLS(__FUNCTION__, [
|
|
AC_DEFINE(__func__, __FUNCTION__, [Replace missing __func__ declaration])
|
|
], [
|
|
AC_DEFINE(__func__, __LINE__, [Replace missing __func__ declaration])
|
|
], [AC_INCLUDES_DEFAULT])
|
|
], [AC_INCLUDES_DEFAULT])
|
|
|
|
dnl Solaris compatibility - check for -lnsl and -lsocket
|
|
AC_SEARCH_LIBS(gethostbyname, nsl)
|
|
AC_SEARCH_LIBS(connect, socket)
|
|
|
|
AC_HEADER_TIME
|
|
AC_CHECK_HEADERS(sys/modem.h stdarg.h varargs.h sys/termios.h sys/time.h, [], [], [AC_INCLUDES_DEFAULT])
|
|
|
|
# pthread related checks
|
|
AC_SEARCH_LIBS([pthread_create], [pthread],
|
|
[AC_DEFINE(HAVE_PTHREAD, 1, [Define to enable pthread support code])],
|
|
[])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl Check for types and define possible replacements
|
|
NUT_TYPE_SOCKLEN_T
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl check for --with-all (or --without-all, or --with-all=auto) flag
|
|
|
|
AC_MSG_CHECKING(for --with-all)
|
|
AC_ARG_WITH(all,
|
|
AS_HELP_STRING([--with-all], [enable serial, usb, snmp, neon, ipmi, powerman, cgi, dev, avahi, linux_i2c]),
|
|
[
|
|
if test -n "${withval}"; then
|
|
dnl Note: we allow "no" as a positive value, because
|
|
dnl this is what the user expects from --without-all
|
|
if test -z "${with_serial}"; then with_serial="${withval}"; fi
|
|
if test -z "${with_usb}"; then with_usb="${withval}"; fi
|
|
if test -z "${with_snmp}"; then with_snmp="${withval}"; fi
|
|
if test -z "${with_neon}"; then with_neon="${withval}"; fi
|
|
if test -z "${with_powerman}"; then with_powerman="${withval}"; fi
|
|
if test -z "${with_cgi}"; then with_cgi="${withval}"; fi
|
|
if test -z "${with_dev}"; then with_dev="${withval}"; fi
|
|
if test -z "${with_avahi}"; then with_avahi="${withval}"; fi
|
|
if test -z "${with_ipmi}"; then with_ipmi="${withval}"; fi
|
|
if test -z "${with_linux_i2c}"; then with_linux_i2c="${withval}"; fi
|
|
AC_MSG_RESULT("${withval}")
|
|
else
|
|
AC_MSG_RESULT(not given)
|
|
fi
|
|
], [
|
|
AC_MSG_RESULT(not given)
|
|
])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl declare a number of --with-FEATURE options. Do this early, so that
|
|
dnl they are listed near the top by "./configure --help"
|
|
|
|
NUT_ARG_WITH([dev], [build and install the development files], [no])
|
|
NUT_ARG_WITH([serial], [build and install serial drivers], [yes])
|
|
NUT_ARG_WITH([usb], [build and install USB drivers], [auto])
|
|
NUT_ARG_WITH([doc], [build and install documentation], [no])
|
|
NUT_ARG_WITH([avahi], [build and install Avahi support], [auto])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl Check for presence and compiler flags of various libraries
|
|
|
|
dnl These checks are performed unconditionally, even if the corresponding
|
|
dnl --with-* options are not given. This is because we cannot predict
|
|
dnl what will be in the --with-drivers argument.
|
|
|
|
NUT_CHECK_LIBNETSNMP
|
|
NUT_CHECK_LIBUSB
|
|
NUT_ARG_WITH([snmp], [build and install SNMP drivers], [auto])
|
|
NUT_CHECK_LIBNETSNMP
|
|
NUT_ARG_WITH([neon], [build and install neon based XML/HTTP driver], [auto])
|
|
NUT_CHECK_LIBNEON
|
|
NUT_ARG_WITH([powerman], [build and install Powerman PDU client driver], [auto])
|
|
NUT_CHECK_LIBPOWERMAN
|
|
NUT_CHECK_LIBAVAHI
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl additional USB-related checks
|
|
|
|
dnl Solaris 10/11 USB handling (need librt and libusb runtime path)
|
|
dnl HPUX, since v11, needs an explicit activation of pthreads
|
|
case ${target_os} in
|
|
solaris2.1* )
|
|
echo Checking for Solaris 10 / 11 specific configuration for usb drivers
|
|
AC_SEARCH_LIBS(nanosleep, rt)
|
|
LIBUSB_LIBS="-R/usr/sfw/lib ${LIBUSB_LIBS}"
|
|
dnl FIXME: Sun's libusb doesn't support timeout (so blocks notification)
|
|
dnl and need to call libusb close upon reconnection
|
|
AC_DEFINE(SUN_LIBUSB, 1, [Define to 1 for Sun version of the libusb.])
|
|
SUN_LIBUSB=1
|
|
;;
|
|
hpux11*)
|
|
CFLAGS="${CFLAGS} -lpthread"
|
|
esac
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with-serial
|
|
|
|
dnl ${nut_with_serial}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_serial}" != "no"; then
|
|
nut_with_serial="yes"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build serial drivers], [${nut_with_serial}], [],
|
|
[WITH_SERIAL], [Define to enable serial support])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with-usb
|
|
|
|
dnl ${nut_with_usb}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_usb}" = "yes" -a "${nut_have_libusb}" != "yes"; then
|
|
AC_MSG_ERROR(["USB drivers requested, but libusb not found."])
|
|
fi
|
|
|
|
if test "${nut_with_usb}" != "no"; then
|
|
nut_with_usb="${nut_have_libusb}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build USB drivers], [${nut_with_usb}], [],
|
|
[WITH_USB], [Define to enable USB support])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with-snmp
|
|
|
|
dnl ${nut_with_snmp}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_snmp}" = "yes" -a "${nut_have_libnetsnmp}" != "yes"; then
|
|
AC_MSG_ERROR(["Net-SNMP libraries not found, required for SNMP drivers"])
|
|
fi
|
|
|
|
if test "${nut_with_snmp}" != "no"; then
|
|
nut_with_snmp="${nut_have_libnetsnmp}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build SNMP drivers], [${nut_with_snmp}], [],
|
|
[WITH_SNMP], [Define to enable SNMP support])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with-neon
|
|
|
|
dnl ${nut_with_neon}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_neon}" = "yes" -a "${nut_have_neon}" != "yes"; then
|
|
AC_MSG_ERROR(["neon libraries not found, required for neon based XML/HTTP driver"])
|
|
fi
|
|
|
|
if test "${nut_with_neon}" != "no"; then
|
|
nut_with_neon="${nut_have_neon}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build neon based XML driver], [${nut_with_neon}], [],
|
|
[WITH_NEON], [Define to enable Neon HTTP support])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with-avahi
|
|
|
|
dnl ${nut_with_avahi}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_avahi}" = "yes" -a "${nut_have_avahi}" != "yes"; then
|
|
AC_MSG_ERROR(["avahi libraries not found"])
|
|
fi
|
|
|
|
if test "${nut_with_avahi}" != "no"; then
|
|
nut_with_avahi="${nut_have_avahi}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([enable Avahi support], [${nut_with_avahi}], [],
|
|
[WITH_AVAHI], [Define to enable Avahi support])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
|
|
dnl checks related to --with-powerman
|
|
|
|
dnl ${nut_with_powerman}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_powerman}" = "yes" -a "${nut_have_libpowerman}" != "yes"; then
|
|
AC_MSG_ERROR(["Powerman client libraries not found, required for Powerman PDU client driver"])
|
|
fi
|
|
|
|
if test "${nut_with_powerman}" != "no"; then
|
|
nut_with_powerman="${nut_have_libpowerman}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build Powerman PDU client driver], [${nut_with_powerman}], [],
|
|
[WITH_LIBPOWERMAN], [Define to enable Powerman PDU support])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl Check for with-ipmi, and --with-freeipmi (or --with-openipmi)
|
|
dnl Only one can be enabled at a time, with a preference for FreeIPMI
|
|
dnl if both are available (since it is the only one supported ATM!!)
|
|
|
|
nut_ipmi_lib=""
|
|
|
|
NUT_ARG_WITH([ipmi], [build and install IPMI PSU driver], [auto])
|
|
NUT_ARG_WITH([freeipmi], [enable IPMI support using FreeIPMI], [auto])
|
|
dnl NUT_ARG_WITH([openipmi], [enable IPMI support using OpenIPMI], [auto])
|
|
|
|
dnl ${nut_with_ipmi}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_ipmi}" != "no"; then
|
|
dnl check if FreeIPMI (and maybe later OpenIPMI) was explicitly requested
|
|
if test "${nut_with_freeipmi}" = "yes"; then
|
|
NUT_CHECK_LIBFREEIPMI
|
|
if test "${nut_have_freeipmi}" != "yes"; then
|
|
AC_MSG_ERROR(["GNU FreeIPMI not found, required for IPMI support"])
|
|
fi
|
|
dnl Implies --with-ipmi
|
|
nut_with_ipmi="yes"
|
|
dnl elif test "${nut_with_openipmi}" = "yes"; then
|
|
dnl AC_MSG_ERROR(["OpenIPMI is not yet supported"])
|
|
dnl NUT_CHECK_LIBOPENIPMI
|
|
dnl if test "${nut_have_openipmi}" != "yes"; then
|
|
dnl AC_MSG_ERROR(["OpenIPMI not found, required for IPMI support"])
|
|
dnl fi
|
|
dnl Implies --with-ipmi
|
|
dnl nut_with_ipmi="yes"
|
|
dnl AC_DEFINE(WITH_OPENIPMI, 1, [Define to enable IPMI support using OpenIPMI])
|
|
else
|
|
dnl Prefer FreeIPMI over OpenIPMI otherwise
|
|
NUT_CHECK_LIBFREEIPMI
|
|
if test "${nut_have_freeipmi}" != "yes"; then
|
|
if test "${nut_with_ipmi}" = "yes"; then
|
|
AC_MSG_ERROR(["FreeIPMI not found, required for IPMI support"])
|
|
fi
|
|
nut_with_ipmi="no"
|
|
dnl NUT_CHECK_OPENIPMI
|
|
dnl if test "${nut_have_openipmi}" != "yes"; then
|
|
dnl if test "${nut_with_ipmi}" = "yes"; then
|
|
dnl AC_MSG_ERROR(["GNU FreeIPMI and OpenIPMI neither found, required for IPMI support"])
|
|
dnl fi
|
|
dnl nut_with_ipmi="no"
|
|
dnl else
|
|
dnl Implies --with-ipmi
|
|
dnl nut_with_ipmi="yes"
|
|
dnl nut_with_openipmi="yes"
|
|
dnl fi
|
|
else
|
|
dnl Implies --with-ipmi
|
|
nut_with_ipmi="yes"
|
|
nut_with_freeipmi="yes"
|
|
AC_DEFINE(WITH_FREEIPMI, 1, [Define to enable IPMI support using FreeIPMI])
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
NUT_REPORT_FEATURE([build IPMI driver], [${nut_with_ipmi}], [${nut_ipmi_lib}],
|
|
[WITH_IPMI], [Define to enable IPMI support])
|
|
|
|
dnl Note: we still have to manually enable complementary AC_DEFINEs (see above)
|
|
dnl and AM_CONDITIONALs (see below)...
|
|
AM_CONDITIONAL(WITH_FREEIPMI, test "${nut_with_freeipmi}" = "yes")
|
|
dnl AM_CONDITIONAL(WITH_OPENIPMI, test "${nut_with_openipmi}" = "yes")
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl The Mac OS X meta-driver looks at IOKit Power Sources keys managed by
|
|
dnl the internal USB UPS driver.
|
|
dnl
|
|
dnl FIXME: be slightly more clever here:
|
|
|
|
NUT_ARG_WITH([macosx_ups], [build and install Mac OS X Power Sources meta-driver], [auto])
|
|
if test "${nut_with_macosx_ups}" != no; then
|
|
if test -d /System/Library/Frameworks/IOKit.framework/ ; then
|
|
nut_with_macosx_ups="yes"
|
|
else
|
|
nut_with_macosx_ups="no"
|
|
fi
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build Mac OS X meta-driver],
|
|
[${nut_with_macosx_ups}], [${nut_macosx_ups_lib}],
|
|
[WITH_MACOSX], [Define to enable Mac OS X meta-driver])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with_linux_i2c
|
|
dnl Check for i2c header on Linux, used for ASEM UPS driver
|
|
NUT_ARG_WITH([linux_i2c], [build and install i2c drivers], [auto])
|
|
if test "${nut_with_linux_i2c}" != no; then
|
|
case ${target_os} in
|
|
linux* )
|
|
AC_CHECK_DECLS(
|
|
[i2c_smbus_read_word_data, i2c_smbus_write_word_data, i2c_smbus_read_block_data],
|
|
[nut_with_linux_i2c="yes"],
|
|
[nut_with_linux_i2c="no"],
|
|
[#include <stdio.h>
|
|
#include <linux/i2c-dev.h>
|
|
]
|
|
)
|
|
;;
|
|
* )
|
|
nut_with_linux_i2c="no"
|
|
;;
|
|
esac
|
|
fi
|
|
NUT_REPORT_FEATURE(
|
|
[build i2c based drivers],
|
|
[${nut_with_linux_i2c}],
|
|
[],
|
|
[WITH_LINUX_I2C],
|
|
[Define to enable I2C support]
|
|
)
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl Check for with-ssl, and --with-nss or --with-openssl
|
|
dnl Only one can be enabled at a time, with a preference for OpenSSL
|
|
dnl if both are available
|
|
|
|
nut_ssl_lib=""
|
|
|
|
NUT_ARG_WITH([ssl], [enable SSL support (either NSS or OpenSSL)], [auto])
|
|
NUT_ARG_WITH([nss], [enable SSL support using Mozilla NSS], [auto])
|
|
NUT_ARG_WITH([openssl], [enable SSL support using OpenSSL], [auto])
|
|
|
|
dnl ${nut_with_ssl}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_ssl}" != "no"; then
|
|
dnl check if either NSS or OpenSSL was explicitly requested
|
|
if test "${nut_with_nss}" = "yes"; then
|
|
NUT_CHECK_LIBNSS
|
|
if test "${nut_have_libnss}" != "yes"; then
|
|
AC_MSG_ERROR(["Mozilla NSS not found, required for SSL support"])
|
|
fi
|
|
elif test "${nut_with_openssl}" = "yes"; then
|
|
NUT_CHECK_LIBOPENSSL
|
|
if test "${nut_have_openssl}" != "yes"; then
|
|
AC_MSG_ERROR(["OpenSSL not found, required for SSL support"])
|
|
fi
|
|
else
|
|
dnl Prefer OpenSSL over NSS otherwise
|
|
NUT_CHECK_LIBOPENSSL
|
|
if test "${nut_have_openssl}" != "yes"; then
|
|
NUT_CHECK_LIBNSS
|
|
if test "${nut_have_libnss}" != "yes"; then
|
|
dnl Only abort if SSL has been explicitly requested by the user
|
|
if test "${nut_with_ssl}" = "yes"; then
|
|
AC_MSG_ERROR(["Mozilla NSS and OpenSSL neither found, but are needed for the requested SSL support"])
|
|
else
|
|
AC_MSG_WARN(["Mozilla NSS and OpenSSL neither found, required for SSL support"])
|
|
fi
|
|
nut_with_ssl="no"
|
|
else
|
|
nut_with_nss="${nut_have_libnss}"
|
|
fi
|
|
else
|
|
nut_with_openssl="${nut_have_openssl}"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_NSS, test "${nut_with_nss}" = "yes")
|
|
AM_CONDITIONAL(WITH_OPENSSL, test "${nut_with_openssl}" = "yes")
|
|
|
|
NUT_REPORT_FEATURE([enable SSL support], [${nut_with_ssl}], [${nut_ssl_lib}],
|
|
[WITH_SSL], [Define to enable SSL])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl Check for --with-wrap
|
|
|
|
NUT_ARG_WITH([wrap], [enable libwrap (tcp-wrappers) support], [auto])
|
|
|
|
dnl ${nut_with_wrap}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_wrap}" != "no"; then
|
|
dnl check for libwrap compiler flags
|
|
NUT_CHECK_LIBWRAP
|
|
fi
|
|
|
|
if test "${nut_with_wrap}" = "yes" -a "${nut_have_libwrap}" != "yes"; then
|
|
AC_MSG_ERROR(["libwrap not found"])
|
|
fi
|
|
|
|
if test "${nut_with_wrap}" != "no"; then
|
|
nut_with_wrap="${nut_have_libwrap}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([enable libwrap (tcp-wrappers) support], [${nut_with_wrap}], [],
|
|
[WITH_WRAP], [Define to enable libwrap (tcp-wrappers) support])
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl Check for --with-libltdl
|
|
|
|
NUT_ARG_WITH([libltdl], [enable libltdl (Libtool dlopen abstraction) support], [auto])
|
|
|
|
dnl ${nut_with_libltdl}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_libltdl}" != "no"; then
|
|
dnl check for libltdl compiler flags
|
|
NUT_CHECK_LIBLTDL
|
|
fi
|
|
|
|
if test "${nut_with_libltdl}" = "yes" -a "${nut_have_libltdl}" != "yes"; then
|
|
AC_MSG_ERROR(["libltdl not found"])
|
|
fi
|
|
|
|
if test "${nut_with_libltdl}" != "no"; then
|
|
nut_with_libltdl="${nut_have_libltdl}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([enable libltdl (Libtool dlopen abstraction) support], [${nut_with_libltdl}], [],
|
|
[WITH_LIBLTDL], [Define to enable libltdl (Libtool dlopen abstraction) support])
|
|
|
|
dnl Explicitely report if we are building nut-scanner or not
|
|
dnl since it requires libltdl
|
|
NUT_REPORT([build nut-scanner], [${nut_with_libltdl}])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with-cgi
|
|
|
|
NUT_ARG_WITH([cgi], [build and install the CGI programs], [no])
|
|
|
|
dnl ${nut_with_cgi}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_cgi}" != "no"; then
|
|
dnl check for libgd compiler flags
|
|
NUT_CHECK_LIBGD
|
|
fi
|
|
|
|
if test "${nut_with_cgi}" = "yes" -a "${nut_have_libgd}" != "yes"; then
|
|
AC_MSG_ERROR([libgd not found, required for CGI build])
|
|
fi
|
|
|
|
if test "${nut_with_cgi}" != "no"; then
|
|
nut_with_cgi="${nut_have_libgd}"
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build CGI programs], [${nut_with_cgi}], [],
|
|
[WITH_CGI], [Define to enable CGI (HTTP) support])
|
|
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
|
|
dnl checks related to --with-doc
|
|
|
|
dnl Always check for AsciiDoc prerequisites, since even if --with-doc
|
|
dnl is set to 'no', we may still want to build some doc targets manually
|
|
NUT_CHECK_ASCIIDOC
|
|
|
|
case "${nut_with_doc}" in
|
|
yes|all|auto)
|
|
nut_doc_build_list="html-single html-chunked pdf"
|
|
;;
|
|
no)
|
|
nut_doc_build_list=""
|
|
;;
|
|
*)
|
|
nut_doc_build_list="`echo ${nut_with_doc} | sed 's/,/ /g'`"
|
|
;;
|
|
esac
|
|
|
|
for nut_doc_build_target in ${nut_doc_build_list}; do
|
|
case "${nut_doc_build_target}" in
|
|
html-single)
|
|
AC_MSG_CHECKING([if asciidoc version can build ${nut_doc_build_target} (minimum required 8.6.3)])
|
|
AX_COMPARE_VERSION([${ASCIIDOC_VERSION}], [ge], [8.6.3], [
|
|
AC_MSG_RESULT(yes)
|
|
DOC_BUILD_LIST="${DOC_BUILD_LIST} ${nut_doc_build_target}"
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
DOC_NOBUILD_LIST="${DOC_NOBUILD_LIST} ${nut_doc_build_target}"
|
|
])
|
|
;;
|
|
|
|
html-chunked)
|
|
AC_MSG_CHECKING([if a2x version can build ${nut_doc_build_target} (minimum required 8.6.3)])
|
|
AX_COMPARE_VERSION([${A2X_VERSION}], [ge], [8.6.3], [
|
|
AC_MSG_RESULT(yes)
|
|
DOC_BUILD_LIST="${DOC_BUILD_LIST} ${nut_doc_build_target}"
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
DOC_NOBUILD_LIST="${DOC_NOBUILD_LIST} ${nut_doc_build_target}"
|
|
])
|
|
;;
|
|
|
|
pdf)
|
|
AC_MSG_CHECKING([if dblatex version can build ${nut_doc_build_target} (minimum required 0.2.5)])
|
|
AX_COMPARE_VERSION([${DBLATEX_VERSION}], [ge], [0.2.5], [
|
|
AC_MSG_RESULT(yes)
|
|
DOC_BUILD_LIST="${DOC_BUILD_LIST} ${nut_doc_build_target}"
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
DOC_NOBUILD_LIST="${DOC_NOBUILD_LIST} ${nut_doc_build_target}"
|
|
])
|
|
;;
|
|
esac
|
|
done
|
|
|
|
case "${nut_with_doc}" in
|
|
auto)
|
|
if test -n "${DOC_BUILD_LIST}"; then
|
|
nut_with_doc="yes"
|
|
else
|
|
nut_with_doc="no"
|
|
fi
|
|
;;
|
|
no)
|
|
;;
|
|
*)
|
|
if test -z "${DOC_NOBUILD_LIST}"; then
|
|
nut_with_doc="yes"
|
|
else
|
|
AC_MSG_ERROR(["Unable to build ${DOC_NOBUILD_LIST} documentation (check for 'no' results above)"])
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
AC_MSG_CHECKING([if asciidoc version can build manpages (minimum required 8.6.3)])
|
|
AX_COMPARE_VERSION([${ASCIIDOC_VERSION}], [ge], [8.6.3], [
|
|
AC_MSG_RESULT(yes)
|
|
nut_have_asciidoc="yes"
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
nut_have_asciidoc="no"
|
|
])
|
|
|
|
AC_MSG_CHECKING([if a2x version can build manpages (minimum required 8.6.3)])
|
|
AX_COMPARE_VERSION([${A2X_VERSION}], [ge], [8.6.3], [
|
|
AC_MSG_RESULT(yes)
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
nut_have_asciidoc="no"
|
|
])
|
|
|
|
dnl TODO: test for docbook-xsl files (maybe build a test man page?)
|
|
dnl https://github.com/networkupstools/nut/issues/162
|
|
AC_MSG_CHECKING([if xsltproc is present (mandatory for man page regeneration)])
|
|
if test -n "${XSLTPROC}"; then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
nut_have_asciidoc="no"
|
|
fi
|
|
|
|
AC_MSG_CHECKING([if xmllint is present (mandatory for man page regeneration)])
|
|
if test -n "${XMLLINT}"; then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
nut_have_asciidoc="no"
|
|
fi
|
|
|
|
AC_MSG_CHECKING([if source-highlight is present (preferable for documentation generation)])
|
|
if test -n "${SOURCE_HIGHLIGHT}"; then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
NUT_REPORT_FEATURE([build and install documentation], [${nut_with_doc}], [],
|
|
[WITH_ASCIIDOC], [Define to enable Asciidoc support])
|
|
|
|
dnl Notes: we also keep HAVE_ASCIIDOC for implicit targets, such as manpage
|
|
dnl building
|
|
AM_CONDITIONAL([HAVE_ASCIIDOC], [test "${nut_have_asciidoc}" = "yes"])
|
|
|
|
if test "${nut_with_doc}" = "yes"; then
|
|
NUT_REPORT([only build specific documentation format], [${DOC_BUILD_LIST}])
|
|
fi
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
dnl checks related to --with-dev
|
|
|
|
dnl We only init libtool there to allow AC_DISABLE_STATIC
|
|
AC_PROG_LIBTOOL
|
|
|
|
dnl ${nut_with_dev}: any value except "yes" or "no" is treated as "auto".
|
|
if test "${nut_with_dev}" != "no"; then
|
|
nut_with_dev="yes"
|
|
else
|
|
AC_DISABLE_STATIC
|
|
fi
|
|
AM_CONDITIONAL(WITH_DEV, test "${nut_with_dev}" = "yes")
|
|
NUT_REPORT_FEATURE([build and install the development files], [${nut_with_dev}], [],
|
|
[WITH_DEV], [Define to enable development files support])
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
|
|
|
|
AC_MSG_CHECKING(state path)
|
|
AC_ARG_WITH(statepath,
|
|
AS_HELP_STRING([--with-statepath=PATH], [path for ups state files (/var/state/ups)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-statepath - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
STATEPATH="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
AC_DEFINE_UNQUOTED(STATEPATH, "${STATEPATH}", [Path for UPS driver state files])
|
|
AC_MSG_RESULT(${STATEPATH})
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
dnl The 'alt pid path' is used by the drivers (via main.c) and upsd, since
|
|
dnl ideally they do not run as root and will not be able to write to the usual
|
|
dnl /var/run path. This defaults to the STATEPATH since they should be
|
|
dnl able to write there.
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(alt pid path)
|
|
AC_ARG_WITH(altpidpath,
|
|
AS_HELP_STRING([--with-altpidpath=PATH], [path for driver/upsd .pid files (<statepath>)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-altpidpath - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
ALTPIDPATH="${withval}"
|
|
;;
|
|
esac
|
|
], [
|
|
ALTPIDPATH="${STATEPATH}"
|
|
])
|
|
AC_DEFINE_UNQUOTED(ALTPIDPATH, "${ALTPIDPATH}", [Path for pid files of drivers and upsd (usually STATEPATH)])
|
|
AC_MSG_RESULT(${ALTPIDPATH})
|
|
|
|
AC_MSG_CHECKING(driver path)
|
|
AC_ARG_WITH(drvpath,
|
|
AS_HELP_STRING([--with-drvpath=PATH], [where to install UPS drivers (EPREFIX/bin)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-drvpath - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
driverexecdir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
conftemp="${driverexecdir}"
|
|
eval conftemp=\"${conftemp}\"
|
|
eval conftemp=\"${conftemp}\"
|
|
AC_DEFINE_UNQUOTED(DRVPATH, "${conftemp}", [Default path for UPS drivers])
|
|
AC_MSG_RESULT(${driverexecdir})
|
|
|
|
AC_MSG_CHECKING(cgi path)
|
|
AC_ARG_WITH(cgipath,
|
|
AS_HELP_STRING([--with-cgipath=PATH], [where to install CGI programs (EPREFIX/cgi-bin)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-cgipath - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
cgiexecdir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
conftemp="${cgiexecdir}"
|
|
eval conftemp=\"${conftemp}\"
|
|
eval conftemp=\"${conftemp}\"
|
|
AC_DEFINE_UNQUOTED(CGIPATH, "${conftemp}", [Default path for CGI programs])
|
|
AC_MSG_RESULT(${cgiexecdir})
|
|
|
|
AC_MSG_CHECKING(html path)
|
|
AC_ARG_WITH(htmlpath,
|
|
AS_HELP_STRING([--with-htmlpath=PATH], [where to install HTML files (PREFIX/html)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-htmlpath - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
htmldir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
conftemp="${htmldir}"
|
|
eval conftemp=\"${conftemp}\"
|
|
eval conftemp=\"${conftemp}\"
|
|
AC_DEFINE_UNQUOTED(HTMLPATH, "${conftemp}", [Default path for HTML files])
|
|
AC_MSG_RESULT(${htmldir})
|
|
|
|
AC_MSG_CHECKING(pidpath)
|
|
AC_ARG_WITH(pidpath,
|
|
AS_HELP_STRING([--with-pidpath=PATH], [path for .pid files (/var/run)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-pidpath - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
PIDPATH="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
AC_DEFINE_UNQUOTED(PIDPATH, "${PIDPATH}", [Path where the pid files should go])
|
|
AC_MSG_RESULT(${PIDPATH})
|
|
|
|
AC_MSG_CHECKING(network port number)
|
|
AC_ARG_WITH(port,
|
|
AS_HELP_STRING([--with-port=PORT], [port for network communications (3493)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-port - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
PORT="${withval}"
|
|
;;
|
|
esac
|
|
], [
|
|
PORT="3493"
|
|
])
|
|
AC_DEFINE_UNQUOTED(PORT, ${PORT}, [Port for network communications])
|
|
AC_MSG_RESULT(${PORT})
|
|
|
|
AC_MSG_CHECKING(user to run as)
|
|
AC_ARG_WITH(user,
|
|
AS_HELP_STRING([--with-user=username], [user for programs started as root (nobody)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-user - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
RUN_AS_USER="${withval}"
|
|
nut_user_given=yes
|
|
;;
|
|
esac
|
|
], [
|
|
nut_user_given=no
|
|
])
|
|
AC_DEFINE_UNQUOTED(RUN_AS_USER, "${RUN_AS_USER}", [User to switch to if started as root])
|
|
AC_MSG_RESULT(${RUN_AS_USER})
|
|
|
|
AC_MSG_CHECKING(group membership of user to run as)
|
|
AC_ARG_WITH(group,
|
|
AS_HELP_STRING([--with-group=groupname], [group membership of user for programs started as root (nogroup)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-group - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
RUN_AS_GROUP="${withval}"
|
|
nut_group_given=yes
|
|
;;
|
|
esac
|
|
], [
|
|
nut_group_given=no
|
|
])
|
|
AC_DEFINE_UNQUOTED(RUN_AS_GROUP, "${RUN_AS_GROUP}", [Group membership of user to switch to if started as root])
|
|
AC_MSG_RESULT(${RUN_AS_GROUP})
|
|
|
|
dnl check that --with-user is given if --with-group is given.
|
|
if test "${nut_user_given}" = "yes" -a "${nut_group_given}" = "no"; then
|
|
AC_MSG_ERROR(["If you specify --with-user, you also must specify --with-group"])
|
|
elif test "${nut_user_given}" = "no" -a "${nut_group_given}" = "yes"; then
|
|
AC_MSG_ERROR(["If you specify --with-group, you also must specify --with-user"])
|
|
fi
|
|
|
|
AC_MSG_CHECKING(facility for syslog)
|
|
AC_ARG_WITH(logfacility,
|
|
AS_HELP_STRING([--with-logfacility=FACILITY], [facility for log messages (LOG_DAEMON)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-logfacility - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
LOGFACILITY="${withval}"
|
|
;;
|
|
esac
|
|
], [
|
|
LOGFACILITY="LOG_DAEMON"
|
|
])
|
|
AC_DEFINE_UNQUOTED(LOG_FACILITY, ${LOGFACILITY}, [Desired syslog facility - see syslog(3)])
|
|
AC_MSG_RESULT(${LOGFACILITY})
|
|
|
|
dnl Autoconf versions before 2.62 do not allow consecutive quadrigraphs,
|
|
dnl so the help string depends on the version used
|
|
AC_MSG_CHECKING(which drivers to build)
|
|
AC_ARG_WITH(drivers,
|
|
AS_HELP_STRING([m4_version_prereq(2.62,
|
|
[@<:@--with-drivers=driver@<:@,driver@:>@@:>@],
|
|
[[[[--with-drivers=driver@<:@,driver@:>@]]]])],
|
|
[Only build specific drivers (all)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|no)
|
|
AC_MSG_ERROR(invalid option --with(out)-drivers - see docs/configure.txt)
|
|
;;
|
|
*)
|
|
DRIVER_BUILD_LIST=`echo ${withval} | sed "s/,/ /g"`
|
|
AC_MSG_RESULT(${DRIVER_BUILD_LIST})
|
|
;;
|
|
esac
|
|
], [
|
|
DRIVER_BUILD_LIST="all"
|
|
AC_MSG_RESULT(all available)
|
|
])
|
|
AM_CONDITIONAL(SOME_DRIVERS, test "${DRIVER_BUILD_LIST}" != "all")
|
|
|
|
if test "${DRIVER_BUILD_LIST}" != "all"; then
|
|
NUT_REPORT([only build specific drivers], [${DRIVER_BUILD_LIST}])
|
|
fi
|
|
|
|
AC_MSG_CHECKING(which driver man pages to install)
|
|
if test "${DRIVER_BUILD_LIST}" = "all"; then
|
|
DRIVER_MAN_LIST=all
|
|
AC_MSG_RESULT(all available)
|
|
else
|
|
DRIVER_MAN_LIST=""
|
|
for i in ${DRIVER_BUILD_LIST}; do
|
|
if test -f ${srcdir}/docs/man/$i.8; then
|
|
DRIVER_MAN_LIST="${DRIVER_MAN_LIST} $i.8"
|
|
fi
|
|
done
|
|
AC_MSG_RESULT(${DRIVER_MAN_LIST})
|
|
fi
|
|
|
|
AC_MSG_CHECKING(whether to strip debug symbols)
|
|
AC_ARG_ENABLE(strip,
|
|
AS_HELP_STRING([--enable-strip], [Strip debugging symbols from binaries (no)]),
|
|
[
|
|
case "${withval}" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT(yes)
|
|
CFLAGS="${CFLAGS} -s"
|
|
;;
|
|
esac
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
|
|
AC_MSG_CHECKING(whether to install pkg-config *.pc files)
|
|
AC_ARG_WITH(pkgconfig-dir,
|
|
AS_HELP_STRING([--with-pkgconfig-dir=PATH], [where to install pkg-config *.pc files (EPREFIX/lib/pkgconfig)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|auto)
|
|
;;
|
|
no)
|
|
pkgconfigdir=""
|
|
;;
|
|
*)
|
|
pkgconfigdir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
if test -n "${pkgconfigdir}"; then
|
|
AC_MSG_RESULT(using ${pkgconfigdir})
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
AM_CONDITIONAL(WITH_PKG_CONFIG, test -n "${pkgconfigdir}")
|
|
|
|
PKG_PROG_PKG_CONFIG
|
|
systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
|
|
AC_MSG_CHECKING(whether to install systemd files)
|
|
AC_ARG_WITH([systemdsystemunitdir],
|
|
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files (auto)]),
|
|
[
|
|
case "${withval}" in
|
|
yes|auto)
|
|
;;
|
|
no)
|
|
systemdsystemunitdir=""
|
|
;;
|
|
*)
|
|
systemdsystemunitdir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
dnl Override installation directory, with the local installation
|
|
dnl prefix. This is needed for 'distcheck*' targets, otherwise
|
|
dnl files will try to get intalled to the actual system directories
|
|
if test -n "${systemdsystemunitdir}"; then
|
|
systemdsystemshutdowndir="${libdir}/systemd/system-shutdown"
|
|
AC_MSG_RESULT(using ${systemdsystemunitdir})
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
AM_CONDITIONAL(HAVE_SYSTEMD, test "$systemdsystemunitdir" != "")
|
|
|
|
AC_MSG_CHECKING(whether to install hotplug rules)
|
|
AC_ARG_WITH(hotplug-dir,
|
|
AS_HELP_STRING([--with-hotplug-dir=PATH], [where to install hotplug rules (/etc/hotplug)]),
|
|
[
|
|
case "${withval}" in
|
|
yes)
|
|
if test -z "${hotplugdir}"; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_ERROR(["hotplug directory requested but not found"])
|
|
fi
|
|
;;
|
|
auto)
|
|
;;
|
|
no)
|
|
hotplugdir=""
|
|
;;
|
|
*)
|
|
hotplugdir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
if test -n "${hotplugdir}"; then
|
|
AC_MSG_RESULT(using ${hotplugdir})
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
AM_CONDITIONAL(WITH_HOTPLUG, test -n "${hotplugdir}")
|
|
|
|
AC_MSG_CHECKING(whether to install udev rules)
|
|
AC_ARG_WITH(udev-dir,
|
|
AS_HELP_STRING([--with-udev-dir=PATH], [where to install udev rules (/lib/udev or /etc/udev)]),
|
|
[
|
|
case "${withval}" in
|
|
yes)
|
|
if test -z "${udevdir}"; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_ERROR(["udev directory requested but not found"])
|
|
fi
|
|
;;
|
|
auto)
|
|
;;
|
|
no)
|
|
udevdir=""
|
|
;;
|
|
*)
|
|
udevdir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
if test -n "${udevdir}"; then
|
|
AC_MSG_RESULT(using ${udevdir})
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
AM_CONDITIONAL(WITH_UDEV, test -n "${udevdir}")
|
|
|
|
dnl FreeBSD devd support:
|
|
|
|
AC_MSG_CHECKING(whether to install FreeBSD devd.conf file)
|
|
AC_ARG_WITH(devd-dir,
|
|
AS_HELP_STRING([--with-devd-dir=PATH], [where to install devd.conf file (/usr/local/etc/devd or /etc/devd)]),
|
|
[
|
|
case "${withval}" in
|
|
yes)
|
|
if test -z "${devddir}"; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_ERROR(["devd directory requested but not found"])
|
|
fi
|
|
;;
|
|
auto)
|
|
;;
|
|
no)
|
|
devddir=""
|
|
;;
|
|
*)
|
|
devddir="${withval}"
|
|
;;
|
|
esac
|
|
], [])
|
|
if test -n "${devddir}"; then
|
|
AC_MSG_RESULT(using ${devddir})
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
AM_CONDITIONAL(WITH_DEVD, test -n "${devddir}")
|
|
|
|
dnl
|
|
|
|
AC_PATH_PROGS([ASCIIDOC], [asciidoc], [none])
|
|
AM_CONDITIONAL([MANUALUPDATE], [test "x$ASCIIDOC" != "xnone"])
|
|
AC_PATH_PROGS([A2X], [a2x], [none])
|
|
|
|
dnl check for spell checking deps
|
|
AC_PATH_PROGS([ASPELL], [aspell], [none])
|
|
AM_CONDITIONAL([HAVE_ASPELL], [test "x$ASPELL" != "xnone"])
|
|
|
|
dnl AIX system
|
|
AM_CONDITIONAL([SYSTEM_AIX], [test "xAIX" = "x`uname -s 2>/dev/null`"])
|
|
|
|
dnl processor type
|
|
AC_DEFINE_UNQUOTED(CPU_TYPE, $target_cpu, [Define processor type])
|
|
|
|
dnl expand ${sysconfdir} and write it out
|
|
conftemp="${sysconfdir}"
|
|
eval conftemp=\"${conftemp}\"
|
|
eval conftemp=\"${conftemp}\"
|
|
CONFPATH=${conftemp}
|
|
AC_DEFINE_UNQUOTED(CONFPATH, "${conftemp}", [Default path for configuration files])
|
|
|
|
dnl same for datadir
|
|
conftemp="${datadir}"
|
|
eval conftemp=\"${conftemp}\"
|
|
eval conftemp=\"${conftemp}\"
|
|
DATADIR=${conftemp}
|
|
AC_DEFINE_UNQUOTED(DATADIR, "${conftemp}", [Default path for data files])
|
|
|
|
dnl same for bindir
|
|
conftemp="${bindir}"
|
|
eval conftemp=\"${conftemp}\"
|
|
eval conftemp=\"${conftemp}\"
|
|
BINDIR=${conftemp}
|
|
AC_DEFINE_UNQUOTED(BINDIR, "${conftemp}", [Default path for user executables])
|
|
|
|
dnl same for sbindir
|
|
conftemp="${sbindir}"
|
|
eval conftemp=\"${conftemp}\"
|
|
eval conftemp=\"${conftemp}\"
|
|
SBINDIR=${conftemp}
|
|
AC_DEFINE_UNQUOTED(SBINDIR, "${conftemp}", [Default path for system executables])
|
|
|
|
dnl Current date
|
|
now=`TZ=UTC date +%Y-%m-%d`
|
|
|
|
AC_SUBST(now)
|
|
AC_SUBST(OS_NAME)
|
|
AC_SUBST(TREE_VERSION)
|
|
AC_SUBST(NUT_NETVERSION)
|
|
AC_SUBST(LIBSSL_CFLAGS)
|
|
AC_SUBST(LIBSSL_LIBS)
|
|
AC_SUBST(LIBGD_CFLAGS)
|
|
AC_SUBST(LIBGD_LDFLAGS)
|
|
AC_SUBST(LIBNETSNMP_CFLAGS)
|
|
AC_SUBST(LIBNETSNMP_LIBS)
|
|
AC_SUBST(LIBUSB_CFLAGS)
|
|
AC_SUBST(LIBUSB_LIBS)
|
|
AC_SUBST(LIBNEON_CFLAGS)
|
|
AC_SUBST(LIBNEON_LIBS)
|
|
AC_SUBST(LIBAVAHI_CFLAGS)
|
|
AC_SUBST(LIBAVAHI_LIBS)
|
|
AC_SUBST(LIBPOWERMAN_CFLAGS)
|
|
AC_SUBST(LIBPOWERMAN_LIBS)
|
|
AC_SUBST(LIBIPMI_CFLAGS)
|
|
AC_SUBST(LIBIPMI_LIBS)
|
|
AC_SUBST(DOC_BUILD_LIST)
|
|
AC_SUBST(LIBWRAP_CFLAGS)
|
|
AC_SUBST(LIBWRAP_LIBS)
|
|
AC_SUBST(LIBLTDL_CFLAGS)
|
|
AC_SUBST(LIBLTDL_LIBS)
|
|
AC_SUBST(DRIVER_BUILD_LIST)
|
|
AC_SUBST(DRIVER_MAN_LIST)
|
|
AC_SUBST(DRIVER_INSTALL_TARGET)
|
|
AC_SUBST(NETLIBS)
|
|
AC_SUBST(SERLIBS)
|
|
AC_SUBST(PIDPATH)
|
|
AC_SUBST(STATEPATH)
|
|
AC_SUBST(CONFPATH)
|
|
AC_SUBST(BINDIR)
|
|
AC_SUBST(DRVPATH)
|
|
AC_SUBST(SBINDIR)
|
|
AC_SUBST(PORT)
|
|
AC_SUBST(RUN_AS_USER)
|
|
AC_SUBST(RUN_AS_GROUP)
|
|
AC_SUBST(SUN_LIBUSB)
|
|
AC_SUBST(WORDS_BIGENDIAN)
|
|
AC_SUBST(cgiexecdir)
|
|
AC_SUBST(devddir)
|
|
AC_SUBST(driverexecdir)
|
|
AC_SUBST(htmldir)
|
|
AC_SUBST(pkgconfigdir)
|
|
AC_SUBST(systemdsystemunitdir)
|
|
AC_SUBST(systemdsystemshutdowndir)
|
|
AC_SUBST(hotplugdir)
|
|
AC_SUBST(udevdir)
|
|
|
|
AC_OUTPUT([
|
|
clients/Makefile
|
|
common/Makefile
|
|
conf/Makefile
|
|
conf/upsmon.conf.sample
|
|
conf/upssched.conf.sample
|
|
data/html/header.html
|
|
data/html/Makefile
|
|
data/Makefile
|
|
data/driver.list
|
|
docs/Makefile
|
|
docs/docinfo.xml
|
|
docs/man/Makefile
|
|
drivers/Makefile
|
|
include/Makefile
|
|
lib/libupsclient-config
|
|
lib/libupsclient.pc
|
|
lib/libnutclient.pc
|
|
lib/libnutscan.pc
|
|
lib/Makefile
|
|
scripts/Aix/nut-aix.spec
|
|
scripts/augeas/Makefile
|
|
scripts/augeas/nutnutconf.aug
|
|
scripts/augeas/nutupsconf.aug
|
|
scripts/augeas/nutupsdconf.aug
|
|
scripts/augeas/nutupsdusers.aug
|
|
scripts/augeas/nutupsmonconf.aug
|
|
scripts/augeas/nutupsschedconf.aug
|
|
scripts/augeas/nuthostsconf.aug
|
|
scripts/augeas/nutupssetconf.aug
|
|
scripts/avahi/nut.service
|
|
scripts/devd/Makefile
|
|
scripts/devd/nut-usb.conf
|
|
scripts/hotplug/Makefile
|
|
scripts/hotplug/libhidups
|
|
scripts/HP-UX/nut.psf
|
|
scripts/HP-UX/postinstall
|
|
scripts/python/Makefile
|
|
scripts/systemd/Makefile
|
|
scripts/systemd/nut-driver.service
|
|
scripts/systemd/nut-monitor.service
|
|
scripts/systemd/nut-server.service
|
|
scripts/systemd/nutshutdown
|
|
scripts/Solaris/Makefile
|
|
scripts/Solaris/pkginfo
|
|
scripts/Solaris/postinstall
|
|
scripts/Solaris/preremove
|
|
scripts/Solaris/nut
|
|
scripts/udev/Makefile
|
|
scripts/udev/nut-ipmipsu.rules
|
|
scripts/udev/nut-usbups.rules
|
|
scripts/ufw/nut.ufw.profile
|
|
scripts/Makefile
|
|
server/Makefile
|
|
tools/Makefile
|
|
tools/nut-scanner/Makefile
|
|
tests/Makefile
|
|
Makefile
|
|
])
|
|
|
|
NUT_PRINT_FEATURE_REPORT
|