chiark / gitweb /
configure: enable all extras by default, provide --disable-extras
[elogind.git] / configure.ac
index 9571c902f8746f732eb56e184d2d59c232cea97d..bba82ee7bd1b5ecf973323e16098f19de61d5f16 100644 (file)
@@ -59,15 +59,52 @@ if test "x$enable_logging" = "xyes"; then
 fi
 
 AC_ARG_ENABLE([extras],
-       AS_HELP_STRING([--enable-extras], [enable extras with external dependencies]),
-       [], [enable_extras=no])
+       AS_HELP_STRING([--disable-extras], [disable extras with external dependencies]),
+       [], [enable_extras=yes])
 if test "x$enable_extras" = xyes; then
        PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.7.0 gobject-2.0 >= 2.7.0])
        AC_SUBST([GLIB_CFLAGS])
        AC_SUBST([GLIB_LIBS])
+
+       AC_CHECK_LIB([acl], [acl_init], [:], AC_MSG_ERROR([libacl not found]))
+       AC_CHECK_HEADER([acl/libacl.h], [:], AC_MSG_ERROR([libacl header not found]))
+
+       PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.12)
+       AC_SUBST(LIBUSB_CFLAGS)
+       AC_SUBST(LIBUSB_LIBS)
+
+       PKG_CHECK_MODULES(USBUTILS, usbutils >= 0.82)
+       AC_SUBST([USB_DATABASE], [$($PKG_CONFIG --variable=usbids usbutils)])
+
+       AC_CHECK_FILES([/usr/share/pci.ids], [pciids=/usr/share/pci.ids])
+       AC_CHECK_FILES([/usr/share/hwdata/pci.ids], [pciids=/usr/share/hwdata/pci.ids])
+       AC_CHECK_FILES([/usr/share/misc/pci.ids], [pciids=/usr/share/misc/pci.ids])
+       AC_ARG_WITH(pci-ids-path,
+               AS_HELP_STRING([--pci-ids-path=DIR], [Path to pci.ids file]),
+               [PCI_DATABASE=${withval}],
+               [if test -n "$pciids" ; then
+                       PCI_DATABASE="$pciids"
+               else
+                       AC_MSG_ERROR([pci.ids not found, try --with-pci-ids-path=])
+               fi])
+       AC_SUBST(PCI_DATABASE)
 fi
 AM_CONDITIONAL([ENABLE_EXTRAS], [test "x$enable_extras" = xyes])
 
+AC_ARG_ENABLE([introspection],
+       AS_HELP_STRING([--enable-introspection], [enable GObject introspection]),
+       [], [enable_introspection=no])
+if test "x$enable_introspection" = xyes; then
+       PKG_CHECK_MODULES([INTROSPECTION], [gobject-introspection-1.0 >= 0.6.2])
+       AC_DEFINE([ENABLE_INTROSPECTION], [1], [enable GObject introspection support])
+       AC_SUBST([G_IR_SCANNER], [$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)])
+       AC_SUBST([G_IR_COMPILER], [$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)])
+       AC_SUBST([G_IR_GENERATE], [$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)])
+       AC_SUBST([GIRDIR], [$($PKG_CONFIG --variable=girdir gobject-introspection-1.0)])
+       AC_SUBST([GIRTYPELIBDIR], [$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)])
+fi
+AM_CONDITIONAL([ENABLE_INTROSPECTION], [test "x$enable_introspection" = xyes])
+
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_FILES([
        Makefile
@@ -89,7 +126,14 @@ AC_CONFIG_FILES([
        extras/rule_generator/Makefile
        extras/scsi_id/Makefile
        extras/usb_id/Makefile
+       extras/v4l_id/Makefile
+       extras/hid2hci/Makefile
        extras/udev-acl/Makefile
+       extras/usb-db/Makefile
+       extras/gudev/Makefile
+       extras/gudev/gudev-1.0.pc
+       extras/gudev/docs/Makefile
+       extras/gudev/docs/version.xml
 ])
 
 AC_OUTPUT
@@ -100,6 +144,7 @@ AC_MSG_RESULT([
        prefix:                 ${prefix}
        exec_prefix:            ${exec_prefix}
        udev_prefix:            ${udev_prefix}
+       libdir:                 ${libdir}
        libdir_name:            ${libdir_name}
        datarootdir:            ${datarootdir}
        mandir:                 ${mandir}
@@ -114,6 +159,10 @@ AC_MSG_RESULT([
        ldflags:                ${LDFLAGS}
 
        extras:                 ${enable_extras}
+       gintrospection:         ${enable_introspection}
+
+       usb.ids:                ${USB_DATABASE}
+       pci.ids:                ${PCI_DATABASE}
 
        xsltproc:               ${XSLTPROC}
 ])