nut/m4/nut_config_libhal.m4
2011-01-26 10:35:08 +01:00

102 lines
3 KiB
Text

dnl Check for LIBHAL configuration if support for HAL was found.
dnl This keeps compile and link time options separate from runtime
dnl configuration items. This macro can be run multiple times, but
dnl will do the checking only once.
AC_DEFUN([NUT_CONFIG_LIBHAL],
[
if test -z "${nut_have_config_libhal_seen}" -a "${nut_have_libhal}" = "yes"; then
nut_have_config_libhal_seen=yes
AC_REQUIRE([NUT_CHECK_LIBHAL])
AC_MSG_CHECKING(for libhal user)
AC_ARG_WITH(hal-user,
AS_HELP_STRING([@<:@--with-hal-user=USER@:>@], [addons run as user]),
[
case "${withval}" in
yes|no)
AC_MSG_ERROR(invalid option --with(out)-hal-user - see docs/configure.txt)
;;
*)
HAL_USER="${withval}"
;;
esac
], [
dnl this will only work as of HAL 0.5.9
HAL_USER="`pkg-config --silence-errors --variable=haluser hal 2>/dev/null`"
if test "$?" != "0" -o -z "${HAL_USER}"; then
HAL_USER="haldaemon"
fi
])
AC_MSG_RESULT(${HAL_USER})
AC_DEFINE_UNQUOTED(HAL_USER, "${HAL_USER}", [addons run as user])
AC_MSG_CHECKING(for libhal device match key)
AC_ARG_WITH(hal-device-match-key,
AS_HELP_STRING([@<:@--with-hal-device-match-key=KEY@:>@], [device match key]),
[
case "${withval}" in
yes|no)
AC_MSG_ERROR(invalid option --with(out)-hal-device-match-key - see docs/configure.txt)
;;
*)
HAL_DEVICE_MATCH_KEY="${withval}"
;;
esac
], [
dnl the device match key changed with HAL 0.5.11
if pkg-config --silence-errors --atleast-version=0.5.11 hal 2>/dev/null; then
HAL_DEVICE_MATCH_KEY="info.bus"
else
HAL_DEVICE_MATCH_KEY="info.subsystem"
fi
])
AC_MSG_RESULT(${HAL_DEVICE_MATCH_KEY})
AC_MSG_CHECKING(for libhal Callouts path)
AC_ARG_WITH(hal-callouts-path,
AS_HELP_STRING([@<:@--with-hal-callouts-path=PATH@:>@], [installation path for callouts]),
[
case "${withval}" in
yes|no)
AC_MSG_ERROR(invalid option --with(out)-hal-callouts-path - see docs/configure.txt)
;;
*)
HAL_CALLOUTS_PATH="${withval}"
;;
esac
], [
dnl Determine installation path for callouts
dnl As per HAL spec, §5 Callouts addon install path: $libdir/hal
HAL_CALLOUTS_PATH="`pkg-config --silence-errors --variable=libexecdir hal 2>/dev/null`"
if test "$?" != "0" -o -z "${HAL_CALLOUTS_PATH}"; then
HAL_CALLOUTS_PATH="${libdir}/hal"
fi
])
AC_MSG_RESULT(${HAL_CALLOUTS_PATH})
AC_MSG_CHECKING(for libhal Device Information path)
AC_ARG_WITH(hal-fdi-path,
AS_HELP_STRING([@<:@--with-hal-fdi-path=PATH@:>@], [installation path for device information files]),
[
case "${withval}" in
yes|no)
AC_MSG_ERROR(invalid option --with(out)-hal-fdi-path - see docs/configure.txt)
;;
*)
HAL_FDI_PATH="${withval}"
;;
esac
], [
dnl Determine installation path for .fdi
dnl As per HAL spec, §2 Device Information Files
dnl fdi install path: $datarootdir/hal/fdi/information/20thirdparty
HAL_FDI_PATH="`pkg-config --silence-errors --variable=hal_fdidir hal 2>/dev/null`"
if test "$?" != "0" -o -z "${HAL_FDI_PATH}"; then
HAL_FDI_PATH="${datarootdir}/hal/fdi/information/20thirdparty"
fi
])
AC_MSG_RESULT(${HAL_FDI_PATH})
fi
])