dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) AC_INIT(hal, 0.2.90, david@fubar.dk) AM_INIT_AUTOMAKE(hal, 0.2.90) AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE AC_ISC_POSIX AC_PROG_CC AC_PROG_CXX AM_PROG_CC_STDC AC_HEADER_STDC AM_PROG_LIBTOOL AC_PROG_MAKE_SET AC_PROG_LN_S AM_PATH_PYTHON AC_ARG_WITH(init-scripts, [ --with-init-scripts= Style of init scripts to install (redhat)]) AC_ARG_WITH(pid-file, [ --with-pid-file= PID file HAL daemon]) AC_ARG_WITH(hwdata,[ --with-hwdata= where PCI and USB IDs are found (auto)]) if ! test -z "$with_hwdata" ; then HWDATA_DIR="$with_hwdata" else for dir in /usr/share/hwdata /usr/share/misc /usr/share; do AC_CHECK_FILE($dir/pci.ids,HWDATA_DIR=$dir) done fi if test -z "$HWDATA_DIR"; then AC_ERROR(cannot find pci.ids. Use --with-hwdata to specify location) fi AC_SUBST(HWDATA_DIR) AC_DEFINE_UNQUOTED(HWDATA_DIR,"$HWDATA_DIR", [Where PCI and USB IDs are found]) AC_ARG_WITH(hal_user,[ --with-hal-user= User for running the HAL daemon (haldaemon)]) if test -z "$with_hal_user" ; then HAL_USER=haldaemon else HAL_USER=$with_hal_user fi AC_SUBST(HAL_USER) AC_DEFINE_UNQUOTED(HAL_USER,"$HAL_USER", [User for running the HAL daemon]) AC_ARG_WITH(hal_group,[ --with-hal-group= Group for HAL (haldaemon)]) if test -z "$with_hal_group" ; then HAL_GROUP=haldaemon else HAL_GROUP=$with_hal_group fi AC_SUBST(HAL_GROUP) AC_DEFINE_UNQUOTED(HAL_GROUP,"$HAL_GROUP", [Group for HAL]) # Taken from dbus AC_ARG_ENABLE(ansi, [ --enable-ansi enable -ansi -pedantic gcc flags],enable_ansi=$enableval,enable_ansi=no) AC_ARG_ENABLE(verbose-mode, [ --enable-verbose-mode support verbose debug mode],enable_verbose_mode=$enableval,enable_verbose_mode=$USE_MAINTAINER_MODE) AC_ARG_ENABLE(doxygen-docs, [ --enable-doxygen-docs build DOXYGEN documentation (requires Doxygen)],enable_doxygen_docs=$enableval,enable_doxygen_docs=auto) if test x$enable_verbose_mode = xyes; then AC_DEFINE(ENABLE_VERBOSE_MODE,1,[Support a verbose mode]) fi #### gcc warning flags if test "x$GCC" = "xyes"; then changequote(,)dnl case " $CFLAGS " in *[\ \ ]-Wall[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wall" ;; esac case " $CFLAGS " in *[\ \ ]-Wchar-subscripts[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wchar-subscripts" ;; esac case " $CFLAGS " in *[\ \ ]-Wmissing-declarations[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wmissing-declarations" ;; esac case " $CFLAGS " in *[\ \ ]-Wnested-externs[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wnested-externs" ;; esac case " $CFLAGS " in *[\ \ ]-Wpointer-arith[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wpointer-arith" ;; esac case " $CFLAGS " in *[\ \ ]-Wcast-align[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wcast-align" ;; esac case " $CFLAGS " in *[\ \ ]-Wsign-compare[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wsign-compare" ;; esac if test "x$enable_ansi" = "xyes"; then case " $CFLAGS " in *[\ \ ]-ansi[\ \ ]*) ;; *) CFLAGS="$CFLAGS -ansi" ;; esac case " $CFLAGS " in *[\ \ ]-D_POSIX_C_SOURCE*) ;; *) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;; esac case " $CFLAGS " in *[\ \ ]-D_BSD_SOURCE[\ \ ]*) ;; *) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;; esac case " $CFLAGS " in *[\ \ ]-pedantic[\ \ ]*) ;; *) CFLAGS="$CFLAGS -pedantic" ;; esac fi if test x$enable_gcov = xyes; then case " $CFLAGS " in *[\ \ ]-fprofile-arcs[\ \ ]*) ;; *) CFLAGS="$CFLAGS -fprofile-arcs" ;; esac case " $CFLAGS " in *[\ \ ]-ftest-coverage[\ \ ]*) ;; *) CFLAGS="$CFLAGS -ftest-coverage" ;; esac ## remove optimization CFLAGS=`echo "$CFLAGS" | sed -e 's/-O[0-9]*//g'` fi changequote([,])dnl else if test x$enable_gcov = xyes; then AC_MSG_ERROR([--enable-gcov can only be used with gcc]) fi fi dbus_module="dbus-1 >= 0.20" pkg_modules="glib-2.0 >= 2.2.2, dbus-glib-1 >= 0.20, $dbus_module" PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) AC_ARG_WITH(expat, [ --with-expat= Use expat from here], [ expat=$withval CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib" ] ) AC_CHECK_HEADERS(expat.h) AC_CHECK_LIB(expat,XML_ParserCreate) dnl DBUS API is subject to changes AC_DEFINE_UNQUOTED(DBUS_API_SUBJECT_TO_CHANGE, ,DBUS API is subject to change) AC_SUBST(PACKAGE_CFLAGS) AC_SUBST(PACKAGE_LIBS) # Now just the D-BUS libs PKG_CHECK_MODULES(DBUS, [$dbus_module]) AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) ### All this also from dbus ### Doxygen Documentation AC_PATH_PROG(DOXYGEN, doxygen, no) AC_MSG_CHECKING([whether to build Doxygen documentation]) if test x$DOXYGEN = xno ; then have_doxygen=no else have_doxygen=yes fi if test x$enable_doxygen_docs = xauto ; then if test x$have_doxygen = xno ; then enable_doxygen_docs=no else enable_doxygen_docs=yes fi fi if test x$enable_doxygen_docs = xyes; then if test x$have_doxygen = xno; then AC_MSG_ERROR([Building Doxygen docs explicitly required, but Doxygen not found]) fi fi AM_CONDITIONAL(DBUS_DOXYGEN_DOCS_ENABLED, test x$enable_doxygen_docs = xyes) AC_MSG_RESULT(yes) AS_AC_EXPAND(LOCALSTATEDIR, $localstatedir) AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) AS_AC_EXPAND(DATADIR, $datadir) AS_AC_EXPAND(BINDIR, $bindir) AS_AC_EXPAND(SBINDIR, $sbindir) AS_AC_EXPAND(LIBDIR, $libdir) AC_ARG_WITH(dbus-sys, [ --with-dbus-sys= where D-BUS system.d directory is]) if ! test -z "$with_dbus_sys" ; then DBUS_SYS_DIR="$with_dbus_sys" else DBUS_SYS_DIR="$SYSCONFDIR/dbus-1/system.d" fi AC_SUBST(DBUS_SYS_DIR) AC_DEFINE_UNQUOTED(DBUS_SYSTEMD_DIR, "$DBUS_SYS_DIR", [Where system.d dir for DBUS is]) AC_ARG_WITH(hotplug-dir, [ --with-hotplug= where hotplug.d directory is]) if ! test -z "$with_hotplug" ; then LINUX_HOTPLUG_DIR="$with_hotplug" else # LINUX_HOTPLUG_DIR="$SYSCONFDIR/hotplug.d" # It's quite uncommon to have hotplug.d other places than this, so default # to it LINUX_HOTPLUG_DIR=/etc/hotplug.d fi AC_SUBST(LINUX_HOTPLUG_DIR) AC_DEFINE_UNQUOTED(LINUX_HOTPLUG_DIR, "$LINUX_HOTPLUG_DIR", [where hotplug.d directory is]) #### Check our operating system operating_system=unknown if test -f /etc/redhat-release || test -f SYSCONFDIR/redhat-release ; then operating_system=redhat fi #### Sort out init scripts if test x$with_init_scripts = x; then if test xredhat = x$operating_system ; then with_init_scripts=redhat else with_init_scripts=none fi fi #### Set up the pid file if ! test -z "$with_pid_file"; then HALD_PID_FILE=$with_system_pid_file elif test x$operating_system = xredhat ; then HALD_PID_FILE=${LOCALSTATEDIR}/run/haldaemon.pid else HALD_PID_FILE=${LOCALSTATEDIR}/run/hald/pid fi AC_SUBST(HALD_PID_FILE) AM_CONDITIONAL(INIT_SCRIPTS_RED_HAT, test x$with_init_scripts = xredhat) AC_OUTPUT([ hal.pc hal.conf Doxyfile Makefile hald/Makefile hald/haldaemon libhal/Makefile tools/Makefile tools/linux/Makefile tools/device-manager/Makefile tools/device-manager/Const.py fdi/Makefile fdi/10generic/Makefile fdi/20freedesktop/Makefile doc/Makefile examples/Makefile examples/volumed/Makefile ]) dnl ========================================================================== echo " HAL $VERSION =========== prefix: ${prefix} libdir: ${LIBDIR} bindir: ${BINDIR} sbindir: ${SBINDIR} datadir: ${DATADIR} sysconfdir: ${SYSCONFDIR} localstatedir: ${LOCALSTATEDIR} dbus-1 system.d dir: ${DBUS_SYS_DIR} pci.ids, usb.ids dir: ${HWDATA_DIR} linux hotplug.d dir: ${LINUX_HOTPLUG_DIR} compiler: ${CC} cflags: ${CFLAGS} cppflags: ${CPPFLAGS} Doxygen: ${DOXYGEN} User for HAL: ${HAL_USER} Group for HAL: ${HAL_GROUP} hald pidfile: ${HALD_PID_FILE} " echo " Maintainer mode: ${USE_MAINTAINER_MODE} Building verbose mode: ${enable_verbose_mode} Building Doxygen docs: ${enable_doxygen_docs} " if test x$enable_verbose_mode = xyes; then echo "NOTE: building with verbose mode increases library size, may slightly increase security risk, and decreases performance." echo fi if test x$with_init_scripts = xredhat; then echo "NOTE: Red Hat style init scripts will be installed" else echo "NOTE: You have to install init scripts yourself" fi echo echo "NOTE: Remember to create user ${HAL_USER} and group ${HAL_GROUP} before make install" echo dnl if test x${USE_MAINTAINER_MODE} = xyes; then dnl echo "NOTE: device info files will be read from the device_info_files directory in the source distribution rather than from ${LOCALSTATEDIR}/hal/fdi" dnl echo dnl fi dnl if test x${USE_MAINTAINER_MODE} = xyes; then dnl echo "NOTE: do NOT issue 'make install' when in maintainer mode" dnl echo dnl fi