AC_PREREQ(2.59)
-AC_INIT([libcec], [2:0:0], [http://libcec.pulse-eight.com/])
+AC_INIT([libcec], [2:1:0], [http://libcec.pulse-eight.com/])
AC_CONFIG_HEADERS([config.h])
AH_TOP([#pragma once])
msg_dl_missing="required library 'dl' is missing"
msg_udev_missing="library 'udev' is missing - adapter detection will not be available"
msg_dirent_missing="dirent.h header is missing - adapter detection will not be available"
-msg_lockdev_missing="required library 'liblockdev' is missing"
+msg_lockdev_missing="library 'liblockdev' is missing"
msg_rpi_api_missing="Raspberry Pi API not found or incompatible with libCEC"
msg_rpi_will_check="will check for RPi support"
msg_rpi_unsupported_target="will not check for RPi support (unsupported cpu: ${host_cpu})"
AC_ARG_WITH([rpi-include-path],
[AS_HELP_STRING([--with-rpi-include-path],
[location of the Raspberry Pi headers (location of /opt/vc/include, default is auto)])],
- [RPI_CFLAGS="-I$withval -I$withval/interface/vcos/pthreads"])
+ [RPI_CFLAGS="-I$withval -I$withval/interface/vcos/pthreads -I$withval/interface/vmcs_host/linux"])
## Optional path to libbcm_host.so
AC_ARG_WITH([rpi-lib-path],
case "${host}" in
*-*-linux*)
# for timeutils
- LIBS="$LIBS -lrt"
+ AC_SEARCH_LIBS([clock_gettime], [rt])
;;
*-apple-darwin*)
LIBS="$LIBS -framework CoreVideo -framework IOKit"
## search for udev, lockdev and the RPi API, only required by libCEC
use_udev="no"
use_adapter_detection="yes"
+use_lockdev="no"
+SUPPRESS_MANGLING_WARNINGS=" -Wno-psabi"
case "${host}" in
*-*-linux*)
## search for udev if pkg-config was found
fi
## search for lockdev
- AC_CHECK_HEADER(lockdev.h,,AC_MSG_ERROR($msg_lockdev_missing))
- AC_CHECK_LIB(lockdev,dev_unlock,,AC_MSG_ERROR($msg_lockdev_missing))
+ use_lockdev="yes"
+ AC_CHECK_HEADER(lockdev.h,,[use_lockdev="no";AC_MSG_WARN($msg_lockdev_missing)])
+ AC_CHECK_LIB(lockdev,dev_unlock,,[use_lockdev="no";AC_MSG_WARN($msg_lockdev_missing)])
AC_CHECK_HEADER(time.h,,AC_MSG_ERROR($msg_required_header_missing))
AC_CHECK_HEADER(sys/prctl.h,,AC_MSG_ERROR($msg_required_header_missing))
LIBS="$libs_pre_rpi"
fi
fi
+ ## search for X11/xrandr
+ libs_tmp="$LIBS"
+ use_x11_xrandr="yes"
+ AC_CHECK_HEADER(X11/Xlib.h,,[use_x11_xrandr="no"])
+ AC_CHECK_HEADER(X11/Xatom.h,,[use_x11_xrandr="no"])
+ AC_CHECK_HEADER(X11/extensions/Xrandr.h,,[use_xrandr="no"])
+ AC_CHECK_LIB(X11,XOpenDisplay,,[use_x11_xrandr="no"])
+ AC_CHECK_LIB(Xrandr,XRRGetScreenResources,,[use_x11_xrandr="no"])
+ if test "x$use_x11_xrandr" = "xyes"; then
+ AC_DEFINE([HAVE_RANDR],[1],[Define to 1 to include support for the X11 randr extension])
+ AM_CONDITIONAL(USE_X11_RANDR, true)
+ else
+ LIBS="$libs_tmp"
+ fi
;;
*-apple-darwin*)
AC_CHECK_HEADER(mach/mach_time.h,,AC_MSG_ERROR($msg_required_header_missing))
AC_CHECK_HEADER(CoreVideo/CVHostTime.h,,AC_MSG_ERROR($msg_required_header_missing))
AC_DEFINE([TARGET_DARWIN], [1], [Darwin target])
+ SUPPRESS_MANGLING_WARNINGS=""
;;
esac
AC_DEFINE([HAVE_P8_USB],[1],[Define to 1 to include support for the Pulse-Eight USB-CEC Adapter])
AM_CONDITIONAL(USE_P8_USB, true)
+if test "x$use_lockdev" = "xyes"; then
+ AC_DEFINE([HAVE_LOCKDEV],[1],[Define to 1 if liblockdev is installed])
+fi
+
## mark adapter detection as available if the required deps were found
if test "x$use_adapter_detection" = "xyes"; then
## mark udev as available if it was found
LIBS_LIBCEC="$LIBS"
LIBS="$libs_client"
-CXXFLAGS="$CXXFLAGS -fPIC -Wall -Wextra -Werror -Wno-missing-field-initializers"
+CXXFLAGS="$CXXFLAGS -fPIC -Wall -Wextra -Wno-missing-field-initializers $SUPPRESS_MANGLING_WARNINGS"
if test "x$use_debug" = "xyes"; then
CXXFLAGS="$CXXFLAGS -g"