nut/configure.in

948 lines
27 KiB
Text
Raw Permalink Normal View History

2010-03-25 23:20:59 +00:00
dnl +------------------------------------------------------------------+
dnl | Network UPS Tools: configure.in |
dnl +------------------------------------------------------------------+
dnl NUT version number is defined here and *only* here (no more include/version)
2011-06-01 20:31:49 +00:00
AC_INIT(nut, 2.6.1)
2010-03-25 23:20:59 +00:00
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
2011-01-26 09:35:08 +00:00
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)
])
2010-03-25 23:20:59 +00:00
dnl Use "./configure --enable-maintainer-mode" to keep Makefile.in and Makefile
dnl in sync after SVN updates.
AM_MAINTAINER_MODE
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 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
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_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)
2011-01-26 09:35:08 +00:00
AC_CHECK_FUNCS(on_exit strptime setlogmask)
AC_CHECK_DECLS(LOG_UPTO, [], [], [#include <syslog.h>])
2010-03-25 23:20:59 +00:00
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
])
2011-01-26 09:35:08 +00:00
AC_REPLACE_FUNCS(setenv strerror atexit)
2010-03-25 23:20:59 +00:00
dnl
dnl Only use these when compiling with gcc
dnl
if ( test "${GCC}" = "yes" )
then
CFLAGS="${CFLAGS} -Wall -Wsign-compare"
fi
2011-06-01 20:31:49 +00:00
case ${target_os} in
hpux11* )
dnl It seems like the thread safe string functions won't be included
dnl on 64 bit HP-UX unless we define _REENTRANT
CFLAGS="${CFLAGS} -D_REENTRANT"
;;
esac
2010-03-25 23:20:59 +00:00
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 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])
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)
2011-01-26 09:35:08 +00:00
AC_ARG_WITH(all,
2011-06-01 20:31:49 +00:00
AS_HELP_STRING([--with-all], [enable serial, usb, snmp, neon, powerman, cgi, dev]),
2011-01-26 09:35:08 +00:00
[
if test -n "${withval}"; then
2010-03-25 23:20:59 +00:00
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
2011-01-26 09:35:08 +00:00
if test -z "${with_snmp}"; then with_snmp="${withval}"; fi
2010-03-25 23:20:59 +00:00
if test -z "${with_neon}"; then with_neon="${withval}"; fi
if test -z "${with_powerman}"; then with_powerman="${withval}"; fi
2011-01-26 09:35:08 +00:00
if test -z "${with_cgi}"; then with_cgi="${withval}"; fi
if test -z "${with_dev}"; then with_dev="${withval}"; fi
2010-03-25 23:20:59 +00:00
AC_MSG_RESULT("${withval}")
else
AC_MSG_RESULT(not given)
fi
2011-01-26 09:35:08 +00:00
], [
AC_MSG_RESULT(not given)
2010-03-25 23:20:59 +00:00
])
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])
2011-01-26 09:35:08 +00:00
NUT_ARG_WITH([doc], [build and install documentation], [no])
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
2010-03-25 23:20:59 +00:00
NUT_CHECK_LIBUSB
NUT_ARG_WITH([hal], [build and install HAL support], [no])
NUT_CHECK_LIBHAL
2011-01-26 09:35:08 +00:00
NUT_CONFIG_LIBHAL
2010-03-25 23:20:59 +00:00
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
dnl ----------------------------------------------------------------------
dnl additional USB-related checks
dnl Solaris 10/11 USB handling (need librt and libusb runtime path)
case ${target_os} in
solaris2.1* )
echo Checking for Solaris 10 / 11 specific configuration for usb drivers
AC_SEARCH_LIBS(nanosleep, rt)
2011-01-26 09:35:08 +00:00
LIBUSB_LIBS="-R/usr/sfw/lib ${LIBUSB_LIBS}"
2010-03-25 23:20:59 +00:00
dnl FIXME: Sun's libusb doesn't support timeout (so blocks notification)
dnl and need to call libusb close upon reconnexion
AC_DEFINE(SUN_LIBUSB, 1, [Define to 1 for Sun version of the libusb.])
SUN_LIBUSB=1
;;
esac
2011-01-26 09:35:08 +00:00
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
AM_CONDITIONAL(WITH_SERIAL, test "${nut_with_serial}" = "yes")
NUT_REPORT_FEATURE([build serial drivers], [${nut_with_serial}])
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
AM_CONDITIONAL(WITH_USB, test "${nut_with_usb}" = "yes")
NUT_REPORT_FEATURE([build USB drivers], [${nut_with_usb}])
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
AM_CONDITIONAL(WITH_SNMP, test "${nut_with_snmp}" = "yes")
NUT_REPORT_FEATURE([build SNMP drivers], [${nut_with_snmp}])
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
AM_CONDITIONAL(WITH_NEONXML, test "${nut_with_neon}" = "yes")
NUT_REPORT_FEATURE([build neon based XML driver], [${nut_with_neon}])
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
AM_CONDITIONAL(WITH_LIBPOWERMAN, test "${nut_with_powerman}" = "yes")
NUT_REPORT_FEATURE([build Powerman PDU client driver], [${nut_with_powerman}])
2010-03-25 23:20:59 +00:00
dnl ----------------------------------------------------------------------
dnl Check for --with-ssl
NUT_ARG_WITH([ssl], [enable SSL development code], [auto])
dnl ${nut_with_ssl}: any value except "yes" or "no" is treated as "auto".
if test "${nut_with_ssl}" != "no"; then
dnl check for libssl compiler flags
NUT_CHECK_LIBSSL
fi
if test "${nut_with_ssl}" = "yes" -a "${nut_have_libssl}" != "yes"; then
AC_MSG_ERROR(["OpenSSL not found, required for SSL support"])
fi
if test "${nut_with_ssl}" != "no"; then
nut_with_ssl="${nut_have_libssl}"
fi
AM_CONDITIONAL(WITH_SSL, test "${nut_with_ssl}" = "yes")
NUT_REPORT_FEATURE([enable SSL development code], [${nut_with_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
AM_CONDITIONAL(WITH_WRAP, test "${nut_with_wrap}" = "yes")
NUT_REPORT_FEATURE([enable libwrap (tcp-wrappers) support], [${nut_with_wrap}])
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
AM_CONDITIONAL(WITH_CGI, test "${nut_with_cgi}" = "yes")
NUT_REPORT_FEATURE([build CGI programs], [${nut_with_cgi}])
dnl ----------------------------------------------------------------------
dnl checks related to --with-hal
dnl ${nut_with_hal}: any value except "yes" or "no" is treated as "auto".
if test "${nut_with_hal}" = "yes" -a "${nut_have_libhal}" != "yes"; then
AC_MSG_ERROR(["libhal not found, required for HAL support"])
fi
if test "${nut_with_hal}" = "yes" -a "${nut_have_libusb}" != "yes"; then
AC_MSG_ERROR(["libusb not found, required for HAL support"])
fi
if test "${nut_with_hal}" != "no"; then
if test "${nut_have_libhal}" = "yes" -a "${nut_have_libusb}" = "yes"; then
nut_with_hal="yes"
else
nut_with_hal="no"
fi
fi
AM_CONDITIONAL(WITH_HAL, test "${nut_with_hal}" = "yes")
NUT_REPORT_FEATURE([enable HAL support], [${nut_with_hal}])
dnl ----------------------------------------------------------------------
2011-01-26 09:35:08 +00:00
dnl checks related to --with-doc
2010-03-25 23:20:59 +00:00
2011-01-26 09:35:08 +00:00
dnl Always check for AsciiDoc prerequisites, since even if --with-doc
dnl is set to 'no', we may still want to build the website, or some
dnl doc targets manually
NUT_CHECK_ASCIIDOC
2010-03-25 23:20:59 +00:00
2011-01-26 09:35:08 +00:00
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
2010-03-25 23:20:59 +00:00
2011-01-26 09:35:08 +00:00
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}])
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}"
])
;;
2010-03-25 23:20:59 +00:00
2011-01-26 09:35:08 +00:00
html-chunked)
AC_MSG_CHECKING([if a2x version can build ${nut_doc_build_target}])
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}"
])
;;
2010-03-25 23:20:59 +00:00
2011-01-26 09:35:08 +00:00
pdf)
AC_MSG_CHECKING([if dblatex version can build ${nut_doc_build_target}])
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
2010-03-25 23:20:59 +00:00
2011-01-26 09:35:08 +00:00
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(["Asciidoc is required for documentation support and missing"])
fi
;;
esac
AC_MSG_CHECKING([if asciidoc version can build website (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 website (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"
])
AM_CONDITIONAL([HAVE_ASCIIDOC], [test "${nut_have_asciidoc}" = "yes"])
NUT_REPORT_FEATURE([build and install documentation], [${nut_with_doc}])
if test "${nut_with_doc}" = "yes"; then
NUT_REPORT([only build specific documentation format], [${DOC_BUILD_LIST}])
2010-03-25 23:20:59 +00:00
fi
2011-01-26 09:35:08 +00:00
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}])
2010-03-25 23:20:59 +00:00
dnl ----------------------------------------------------------------------
2011-01-26 09:35:08 +00:00
2010-03-25 23:20:59 +00:00
AC_MSG_CHECKING(state path)
AC_ARG_WITH(statepath,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-statepath=PATH], [path for ups state files (/var/state/ups)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-statepath - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
STATEPATH="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [])
AC_DEFINE_UNQUOTED(STATEPATH, "${STATEPATH}", [Path for UPS driver state files])
2010-03-25 23:20:59 +00:00
AC_MSG_RESULT(${STATEPATH})
dnl ---------------------------------------------------------------------
dnl The 'alt pid path' is used by the drivers (via main.c) and upsd, since
2011-01-26 09:35:08 +00:00
dnl ideally they do not run as root and will not be able to write to the usual
2010-03-25 23:20:59 +00:00
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,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-altpidpath=PATH], [path for driver/upsd .pid files (<statepath>)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-altpidpath - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
ALTPIDPATH="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [
2010-03-25 23:20:59 +00:00
ALTPIDPATH="${STATEPATH}"
2011-01-26 09:35:08 +00:00
])
AC_DEFINE_UNQUOTED(ALTPIDPATH, "${ALTPIDPATH}", [Path for pid files of drivers and upsd (usually STATEPATH)])
2010-03-25 23:20:59 +00:00
AC_MSG_RESULT(${ALTPIDPATH})
AC_MSG_CHECKING(driver path)
AC_ARG_WITH(drvpath,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-drvpath=PATH], [where to install ups drivers (EPREFIX/bin)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-drvpath - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
driverexecdir="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [])
2010-03-25 23:20:59 +00:00
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,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-cgipath=PATH], [where to install CGI programs (EPREFIX/cgi-bin)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-cgipath - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
cgiexecdir="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [])
2010-03-25 23:20:59 +00:00
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,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-htmlpath=PATH], [where to install HTML files (PREFIX/html)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-htmlpath - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
htmldir="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [])
2010-03-25 23:20:59 +00:00
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,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-pidpath=PATH], [path for .pid files (/var/run)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-pidpath - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
PIDPATH="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [])
2010-03-25 23:20:59 +00:00
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,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-port=PORT], [port for network communications (3493)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-port - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
PORT="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [
2010-03-25 23:20:59 +00:00
PORT="3493"
2011-01-26 09:35:08 +00:00
])
2010-03-25 23:20:59 +00:00
AC_DEFINE_UNQUOTED(PORT, ${PORT}, [Port for network communications])
AC_MSG_RESULT(${PORT})
AC_MSG_CHECKING(user to run as)
AC_ARG_WITH(user,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-user=username], [user for programs started as root (nobody)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-user - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
RUN_AS_USER="${withval}"
nut_user_given=yes
;;
2011-01-26 09:35:08 +00:00
esac
], [
nut_user_given=no
])
AC_DEFINE_UNQUOTED(RUN_AS_USER, "${RUN_AS_USER}", [User to switch to if started as root])
2010-03-25 23:20:59 +00:00
AC_MSG_RESULT(${RUN_AS_USER})
AC_MSG_CHECKING(group membership of user to run as)
AC_ARG_WITH(group,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-group=groupname], [group membership of user for programs started as root (nogroup)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-group - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
RUN_AS_GROUP="${withval}"
nut_group_given=yes
;;
2011-01-26 09:35:08 +00:00
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])
2010-03-25 23:20:59 +00:00
AC_MSG_RESULT(${RUN_AS_GROUP})
2011-01-26 09:35:08 +00:00
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"])
2010-03-25 23:20:59 +00:00
fi
AC_MSG_CHECKING(facility for syslog)
AC_ARG_WITH(logfacility,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--with-logfacility=FACILITY], [facility for log messages (LOG_DAEMON)]),
[
case "${withval}" in
2010-03-25 23:20:59 +00:00
yes|no)
2011-01-26 09:35:08 +00:00
AC_MSG_ERROR(invalid option --with(out)-logfacility - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
LOGFACILITY="${withval}"
;;
2011-01-26 09:35:08 +00:00
esac
], [
2010-03-25 23:20:59 +00:00
LOGFACILITY="LOG_DAEMON"
2011-01-26 09:35:08 +00:00
])
AC_DEFINE_UNQUOTED(LOG_FACILITY, ${LOGFACILITY}, [Desired syslog facility - see syslog(3)])
2010-03-25 23:20:59 +00:00
AC_MSG_RESULT(${LOGFACILITY})
2011-01-26 09:35:08 +00:00
dnl Autoconf versions before 2.62 do not allow consecutive quadrigraphs,
dnl so the help string depends on the version used
2010-03-25 23:20:59 +00:00
AC_MSG_CHECKING(which drivers to build)
AC_ARG_WITH(drivers,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([m4_version_prereq(2.62,
[@<:@--with-drivers=driver@<:@,driver@:>@@:>@],
[[[[--with-drivers=driver@<:@,driver@:>@]]]])],
[Only use specific drivers (all)]),
[
case "${withval}" in
yes|no)
AC_MSG_ERROR(invalid option --with(out)-drivers - see docs/configure.txt)
2010-03-25 23:20:59 +00:00
;;
*)
DRIVER_BUILD_LIST=`echo ${withval} | sed "s/,/ /g"`
AC_MSG_RESULT(${DRIVER_BUILD_LIST})
;;
esac
2011-01-26 09:35:08 +00:00
], [
2010-03-25 23:20:59 +00:00
DRIVER_BUILD_LIST="all"
AC_MSG_RESULT(all available)
2011-01-26 09:35:08 +00:00
])
2010-03-25 23:20:59 +00:00
AM_CONDITIONAL(SOME_DRIVERS, test "${DRIVER_BUILD_LIST}" != "all")
if test "${DRIVER_BUILD_LIST}" != "all"; then
2011-01-26 09:35:08 +00:00
NUT_REPORT([only build specific drivers], [${DRIVER_BUILD_LIST}])
2010-03-25 23:20:59 +00:00
fi
AC_MSG_CHECKING(which driver man pages to install)
if test "${DRIVER_BUILD_LIST}" = "all"; then
2011-01-26 09:35:08 +00:00
DRIVER_MAN_LIST=all
AC_MSG_RESULT(all available)
2010-03-25 23:20:59 +00:00
else
2011-01-26 09:35:08 +00:00
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})
2010-03-25 23:20:59 +00:00
fi
AC_MSG_CHECKING(whether to strip debug symbols)
AC_ARG_ENABLE(strip,
2011-01-26 09:35:08 +00:00
AS_HELP_STRING([--enable-strip], [Strip debugging symbols from binaries (no)]),
2010-03-25 23:20:59 +00:00
[
case "${withval}" in
2011-01-26 09:35:08 +00:00
no)
AC_MSG_RESULT(no)
2010-03-25 23:20:59 +00:00
;;
2011-01-26 09:35:08 +00:00
*)
AC_MSG_RESULT(yes)
CFLAGS="${CFLAGS} -s"
2010-03-25 23:20:59 +00:00
;;
esac
2011-01-26 09:35:08 +00:00
], [
AC_MSG_RESULT(no)
2010-03-25 23:20:59 +00:00
])
AC_MSG_CHECKING(whether to install pkg-config *.pc files)
AC_ARG_WITH(pkgconfig-dir,
2011-01-26 09:35:08 +00:00
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
], [])
2010-03-25 23:20:59 +00:00
if test -n "${pkgconfigdir}"; then
2011-01-26 09:35:08 +00:00
AC_MSG_RESULT(using ${pkgconfigdir})
2010-03-25 23:20:59 +00:00
else
2011-01-26 09:35:08 +00:00
AC_MSG_RESULT(no)
2010-03-25 23:20:59 +00:00
fi
AM_CONDITIONAL(WITH_PKG_CONFIG, test -n "${pkgconfigdir}")
AC_MSG_CHECKING(whether to install hotplug rules)
AC_ARG_WITH(hotplug-dir,
2011-01-26 09:35:08 +00:00
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
], [])
2010-03-25 23:20:59 +00:00
if test -n "${hotplugdir}"; then
2011-01-26 09:35:08 +00:00
AC_MSG_RESULT(using ${hotplugdir})
2010-03-25 23:20:59 +00:00
else
2011-01-26 09:35:08 +00:00
AC_MSG_RESULT(no)
2010-03-25 23:20:59 +00:00
fi
AM_CONDITIONAL(WITH_HOTPLUG, test -n "${hotplugdir}")
AC_MSG_CHECKING(whether to install udev rules)
AC_ARG_WITH(udev-dir,
2011-01-26 09:35:08 +00:00
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
], [])
2010-03-25 23:20:59 +00:00
if test -n "${udevdir}"; then
2011-01-26 09:35:08 +00:00
AC_MSG_RESULT(using ${udevdir})
2010-03-25 23:20:59 +00:00
else
2011-01-26 09:35:08 +00:00
AC_MSG_RESULT(no)
2010-03-25 23:20:59 +00:00
fi
AM_CONDITIONAL(WITH_UDEV, test -n "${udevdir}")
2011-01-26 09:35:08 +00:00
AC_PATH_PROGS([ASCIIDOC], [asciidoc], [none])
AM_CONDITIONAL([MANUALUPDATE], [test "x$ASCIIDOC" != "xnone"])
AC_PATH_PROGS([A2X], [a2x], [none])
2010-03-25 23:20:59 +00:00
dnl expand ${sysconfdir} and write it out
conftemp="${sysconfdir}"
eval conftemp=\"${conftemp}\"
eval conftemp=\"${conftemp}\"
CONFPATH=${conftemp}
2011-01-26 09:35:08 +00:00
AC_DEFINE_UNQUOTED(CONFPATH, "${conftemp}", [Default path for configuration files])
2010-03-25 23:20:59 +00:00
dnl same for datadir
conftemp="${datadir}"
eval conftemp=\"${conftemp}\"
eval conftemp=\"${conftemp}\"
2011-06-01 20:31:49 +00:00
DATADIR=${conftemp}
2011-01-26 09:35:08 +00:00
AC_DEFINE_UNQUOTED(DATADIR, "${conftemp}", [Default path for data files])
2010-03-25 23:20:59 +00:00
dnl same for bindir
conftemp="${bindir}"
eval conftemp=\"${conftemp}\"
eval conftemp=\"${conftemp}\"
2011-06-01 20:31:49 +00:00
BINDIR=${conftemp}
2011-01-26 09:35:08 +00:00
AC_DEFINE_UNQUOTED(BINDIR, "${conftemp}", [Default path for user executables])
2010-03-25 23:20:59 +00:00
AC_SUBST(OS_NAME)
AC_SUBST(LIBSSL_CFLAGS)
2011-01-26 09:35:08 +00:00
AC_SUBST(LIBSSL_LIBS)
2010-03-25 23:20:59 +00:00
AC_SUBST(LIBGD_CFLAGS)
AC_SUBST(LIBGD_LDFLAGS)
AC_SUBST(LIBNETSNMP_CFLAGS)
2011-01-26 09:35:08 +00:00
AC_SUBST(LIBNETSNMP_LIBS)
2010-03-25 23:20:59 +00:00
AC_SUBST(LIBUSB_CFLAGS)
2011-01-26 09:35:08 +00:00
AC_SUBST(LIBUSB_LIBS)
2010-03-25 23:20:59 +00:00
AC_SUBST(LIBNEON_CFLAGS)
2011-01-26 09:35:08 +00:00
AC_SUBST(LIBNEON_LIBS)
2010-03-25 23:20:59 +00:00
AC_SUBST(LIBPOWERMAN_CFLAGS)
2011-01-26 09:35:08 +00:00
AC_SUBST(LIBPOWERMAN_LIBS)
AC_SUBST(DOC_BUILD_LIST)
2010-03-25 23:20:59 +00:00
AC_SUBST(LIBWRAP_CFLAGS)
2011-01-26 09:35:08 +00:00
AC_SUBST(LIBWRAP_LIBS)
2010-03-25 23:20:59 +00:00
AC_SUBST(HAL_USER)
AC_SUBST(HAL_DEVICE_MATCH_KEY)
AC_SUBST(HAL_FDI_PATH)
AC_SUBST(HAL_CALLOUTS_PATH)
AC_SUBST(LIBHAL_CFLAGS)
2011-01-26 09:35:08 +00:00
AC_SUBST(LIBHAL_LIBS)
2010-03-25 23:20:59 +00:00
AC_SUBST(DRIVER_BUILD_LIST)
AC_SUBST(DRIVER_MAN_LIST)
AC_SUBST(DRIVER_INSTALL_TARGET)
AC_SUBST(NETLIBS)
AC_SUBST(SERLIBS)
AC_SUBST(STATEPATH)
AC_SUBST(CONFPATH)
AC_SUBST(BINDIR)
AC_SUBST(RUN_AS_USER)
AC_SUBST(RUN_AS_GROUP)
AC_SUBST(SUN_LIBUSB)
AC_SUBST(WORDS_BIGENDIAN)
AC_SUBST(cgiexecdir)
AC_SUBST(driverexecdir)
AC_SUBST(htmldir)
AC_SUBST(pkgconfigdir)
AC_SUBST(hotplugdir)
AC_SUBST(udevdir)
AC_OUTPUT([
clients/Makefile
common/Makefile
conf/Makefile
conf/upssched.conf.sample
data/html/header.html
data/html/Makefile
data/Makefile
2011-01-26 09:35:08 +00:00
data/driver.list
2010-03-25 23:20:59 +00:00
docs/Makefile
2011-01-26 09:35:08 +00:00
docs/man/Makefile
docs/website/Makefile
2010-03-25 23:20:59 +00:00
drivers/Makefile
include/Makefile
lib/libupsclient-config
lib/libupsclient.pc
lib/Makefile
2011-01-26 09:35:08 +00:00
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
2010-03-25 23:20:59 +00:00
scripts/hal/Makefile
scripts/hal/ups-nut-device.fdi
scripts/hotplug/Makefile
scripts/hotplug/libhidups
scripts/python/Makefile
scripts/udev/Makefile
scripts/udev/nut-usbups.rules
scripts/Makefile
server/Makefile
tools/Makefile
Makefile
])
NUT_PRINT_FEATURE_REPORT