102 lines
3 KiB
Text
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
|
|
])
|