chiark / gitweb /
configure: allow to enable/disable extras individually
authorKay Sievers <kay.sievers@vrfy.org>
Fri, 29 Apr 2011 12:27:11 +0000 (14:27 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Fri, 29 Apr 2011 12:27:11 +0000 (14:27 +0200)
      - remove gobject introspection switch
      - disable hid2hci by default (moved to bluez)
      - disable action-modeswitch by default (will move to usb_modeswitch)
      - disable edd_id by default (problems with disk signatures)
      - disable legacy floppy by default (no more nasty device node hacks by default)

INSTALL
Makefile.am
README
configure.ac

diff --git a/INSTALL b/INSTALL
index 02ad55fe471139bb342d0687f86f170664e56a80..09dc3f7d248135c8a57691758e06aaf5862550ee 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -27,9 +27,24 @@ All options:
   --with-selinux
       Link against SELinux libraries to set the expected context
       for created files.
   --with-selinux
       Link against SELinux libraries to set the expected context
       for created files.
-  --disable-extras
-      Disable the build of all extras which have larger external
-      dependencies like glib, libacl, libusb, ...
+  --disable-rule_generator
+      Disable persistent network, cdrom naming support.
+  --disable-hwdb
+      Disable hardware database support
+  --disable-udev_acl
+      Disable local user acl permissions support.
+  --disable-gudev
+      Disable Gobject libudev support.
+  --disable-keymap
+      Disable keymap fixup support.
+  --enable-floppy
+      Enable legacy floppy support.
+  --enable-edd
+      Enable disk edd support.
+  --enable-hid2hci
+      Enable bluetooth hid to hci switch.
+  --enable-action_modeswitch
+      Enable action modeswitch support.
 
 The options used in a RPM spec file usually look like:
   %configure \
 
 The options used in a RPM spec file usually look like:
   %configure \
@@ -47,13 +62,12 @@ other location will break other packages, who rightfully expect
 the /lib/udev/ directory, to install their rule helper and udev
 rule files.
 
 the /lib/udev/ directory, to install their rule helper and udev
 rule files.
 
-It is recommended to use the /lib/udev/devices/ directory to place
+It is possible to use the /lib/udev/devices/ directory to place
 device nodes, directories and symlinks, which are copied to /dev/
 at every bootup. That way, nodes for devices which can not be
 detected automatically, or are activated on-demand by opening the
 pre-existing device node, will be available.
 
 device nodes, directories and symlinks, which are copied to /dev/
 at every bootup. That way, nodes for devices which can not be
 detected automatically, or are activated on-demand by opening the
 pre-existing device node, will be available.
 
-Default udev rules and persistent device naming rules are required
+Default udev rules and persistent device naming rules may be required
 by other software that depends on the data udev collects from the
 by other software that depends on the data udev collects from the
-devices, and should therefore be installed by default with every udev
-installation.
+devices.
index 5beec9434414b622420b4cdeed88f91e362665d9..9db127038c93256762f1f66a144af1fbd11cce73 100644 (file)
@@ -25,11 +25,12 @@ DISTCHECK_CONFIGURE_FLAGS = \
        --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
 
 CLEANFILES =
        --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
 
 CLEANFILES =
-
+BUILT_SOURCES =
 INSTALL_EXEC_HOOKS =
 INSTALL_DATA_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 DISTCHECK_HOOKS =
 INSTALL_EXEC_HOOKS =
 INSTALL_DATA_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 DISTCHECK_HOOKS =
+dist_libexec_SCRIPTS =
 
 # ------------------------------------------------------------------------------
 # libudev
 
 # ------------------------------------------------------------------------------
 # libudev
@@ -211,20 +212,6 @@ udev_test_udev_SOURCES = \
        udev/test-udev.c
 udev_test_udev_LDADD = libudev/libudev-private.la
 
        udev/test-udev.c
 udev_test_udev_LDADD = libudev/libudev-private.la
 
-# ------------------------------------------------------------------------------
-# rule_generator - persistent network and optical device rule generator
-# ------------------------------------------------------------------------------
-dist_libexec_SCRIPTS = \
-       extras/rule_generator/write_cd_rules \
-       extras/rule_generator/write_net_rules
-
-udevhomedir = $(libexecdir)
-dist_udevhome_DATA = extras/rule_generator/rule_generator.functions
-
-dist_udevrules_DATA += \
-       extras/rule_generator/75-cd-aliases-generator.rules \
-       extras/rule_generator/75-persistent-net-generator.rules
-
 # ------------------------------------------------------------------------------
 # firmware - firmware loading
 # ------------------------------------------------------------------------------
 # ------------------------------------------------------------------------------
 # firmware - firmware loading
 # ------------------------------------------------------------------------------
@@ -256,22 +243,6 @@ extras_collect_collect_SOURCES = extras/collect/collect.c
 extras_collect_collect_LDADD = libudev/libudev-private.la
 libexec_PROGRAMS += extras/collect/collect
 
 extras_collect_collect_LDADD = libudev/libudev-private.la
 libexec_PROGRAMS += extras/collect/collect
 
-# ------------------------------------------------------------------------------
-# edd_id - BIOS EDD block device match
-# ------------------------------------------------------------------------------
-extras_edd_id_edd_id_SOURCES = extras/edd_id/edd_id.c
-extras_edd_id_edd_id_LDADD = libudev/libudev-private.la
-libexec_PROGRAMS += extras/edd_id/edd_id
-dist_udevrules_DATA += extras/edd_id/61-persistent-storage-edd.rules
-
-# ------------------------------------------------------------------------------
-# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
-# ------------------------------------------------------------------------------
-extras_floppy_create_floppy_devices_SOURCES = extras/floppy/create_floppy_devices.c
-extras_floppy_create_floppy_devices_LDADD = libudev/libudev-private.la
-libexec_PROGRAMS += extras/floppy/create_floppy_devices
-dist_udevrules_DATA += extras/floppy/60-floppy.rules
-
 # ------------------------------------------------------------------------------
 # input_id - import input device class
 # ------------------------------------------------------------------------------
 # ------------------------------------------------------------------------------
 # input_id - import input device class
 # ------------------------------------------------------------------------------
@@ -313,20 +284,75 @@ extras_v4l_id_v4l_id_LDADD = libudev/libudev-private.la
 libexec_PROGRAMS += extras/v4l_id/v4l_id
 dist_udevrules_DATA += extras/v4l_id/60-persistent-v4l.rules
 
 libexec_PROGRAMS += extras/v4l_id/v4l_id
 dist_udevrules_DATA += extras/v4l_id/60-persistent-v4l.rules
 
+# ------------------------------------------------------------------------------
+# mtd_probe - autoloads FTL module for mtd devices
+# ------------------------------------------------------------------------------
+extras_mtd_probe_mtd_probe_SOURCES =  \
+       extras/mtd_probe/mtd_probe.c \
+       extras/mtd_probe/mtd_probe.h \
+       extras/mtd_probe/probe_smartmedia.c
+extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
+dist_udevrules_DATA += extras/mtd_probe/75-probe_mtd.rules
+libexec_PROGRAMS += extras/mtd_probe/mtd_probe
+
 # ------------------------------------------------------------------------------
 # qemu -- qemu/kvm guest tweaks
 # ------------------------------------------------------------------------------
 dist_udevrules_DATA += extras/qemu/42-qemu-usb.rules
 
 # ------------------------------------------------------------------------------
 # qemu -- qemu/kvm guest tweaks
 # ------------------------------------------------------------------------------
 dist_udevrules_DATA += extras/qemu/42-qemu-usb.rules
 
-if ENABLE_EXTRAS
+if ENABLE_RULE_GENERATOR
 # ------------------------------------------------------------------------------
 # ------------------------------------------------------------------------------
-# conditional extras (need glib, libusb, libacl, ...)
+# rule_generator - persistent network and optical device rule generator
 # ------------------------------------------------------------------------------
 # ------------------------------------------------------------------------------
+dist_libexec_SCRIPTS += \
+       extras/rule_generator/write_cd_rules \
+       extras/rule_generator/write_net_rules
+
+udevhomedir = $(libexecdir)
+dist_udevhome_DATA = extras/rule_generator/rule_generator.functions
+
+dist_udevrules_DATA += \
+       extras/rule_generator/75-cd-aliases-generator.rules \
+       extras/rule_generator/75-persistent-net-generator.rules
+endif
+
+if ENABLE_HWDB
+# ------------------------------------------------------------------------------
+# usb/pci-db - read vendor/device string database
+# ------------------------------------------------------------------------------
+extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
+extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
+extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/usb-db/usb-db
 dist_udevrules_DATA += \
        rules/rules.d/75-net-description.rules \
        rules/rules.d/75-tty-description.rules \
        rules/rules.d/78-sound-card.rules
 
 dist_udevrules_DATA += \
        rules/rules.d/75-net-description.rules \
        rules/rules.d/75-tty-description.rules \
        rules/rules.d/78-sound-card.rules
 
+extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
+extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(PCI_DATABASE)\" -DBUILD_FOR_PCI
+extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/usb-db/pci-db
+endif
+
+if ENABLE_UDEV_ACL
+# ------------------------------------------------------------------------------
+# udev_acl - apply ACLs for users with local forground sessions
+# ------------------------------------------------------------------------------
+extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
+extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
+extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
+dist_udevrules_DATA += extras/udev-acl/70-acl.rules
+libexec_PROGRAMS += extras/udev-acl/udev-acl
+
+udevacl-install-hook:
+       mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
+       ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
+
+INSTALL_EXEC_HOOKS += udevacl-install-hook
+endif
+
+if ENABLE_GUDEV
 # ------------------------------------------------------------------------------
 # GUdev - libudev gobject interface
 # ------------------------------------------------------------------------------
 # ------------------------------------------------------------------------------
 # GUdev - libudev gobject interface
 # ------------------------------------------------------------------------------
@@ -367,7 +393,7 @@ dist_extras_gudev_libgudev_1_0_la_SOURCES = \
        extras/gudev/gudevmarshal.c \
        extras/gudev/gudevenumtypes.h \
        extras/gudev/gudevenumtypes.c
        extras/gudev/gudevmarshal.c \
        extras/gudev/gudevenumtypes.h \
        extras/gudev/gudevenumtypes.c
-BUILT_SOURCES = $(dist_extras_gudev_libgudev_1_0_la_SOURCES)
+BUILT_SOURCES += $(dist_extras_gudev_libgudev_1_0_la_SOURCES)
 
 extras_gudev_libgudev_1_0_la_CPPFLAGS = \
        $(AM_CPPFLAGS) \
 
 extras_gudev_libgudev_1_0_la_CPPFLAGS = \
        $(AM_CPPFLAGS) \
@@ -407,7 +433,6 @@ extras/gudev/gudevenumtypes.c: extras/gudev/gudevenumtypes.c.template extras/gud
        $(AM_V_GEN)glib-mkenums --template $^ > \
            $@.tmp && mv $@.tmp $@
 
        $(AM_V_GEN)glib-mkenums --template $^ > \
            $@.tmp && mv $@.tmp $@
 
-if ENABLE_INTROSPECTION
 extras/gudev/GUdev-1.0.gir: extras/gudev/libgudev-1.0.la $(G_IR_SCANNER) Makefile.am
        $(AM_V_GEN)PKG_CONFIG_PATH=$(top_builddir)/data:$$PKG_CONFIG_PATH \
        LD_LIBRARY_PATH=$(top_builddir)/extras/gudev:$$LD_LIBRARY_PATH \
 extras/gudev/GUdev-1.0.gir: extras/gudev/libgudev-1.0.la $(G_IR_SCANNER) Makefile.am
        $(AM_V_GEN)PKG_CONFIG_PATH=$(top_builddir)/data:$$PKG_CONFIG_PATH \
        LD_LIBRARY_PATH=$(top_builddir)/extras/gudev:$$LD_LIBRARY_PATH \
@@ -445,7 +470,6 @@ typelibsdir = $(GIRTYPELIBDIR)
 typelibs_DATA = extras/gudev/GUdev-1.0.typelib
 
 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
 typelibs_DATA = extras/gudev/GUdev-1.0.typelib
 
 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
-endif # ENABLE_INTROSPECTION
 
 # move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
 libgudev-install-move-hook:
 
 # move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
 libgudev-install-move-hook:
@@ -462,79 +486,9 @@ libgudev-uninstall-move-hook:
 
 INSTALL_EXEC_HOOKS += libgudev-install-move-hook
 UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
 
 INSTALL_EXEC_HOOKS += libgudev-install-move-hook
 UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
+endif
 
 
-# ------------------------------------------------------------------------------
-# Bluetooth HID devices with special magic to switch the device
-# ------------------------------------------------------------------------------
-extras_hid2hci_hid2hci_SOURCES = extras/hid2hci/hid2hci.c
-extras_hid2hci_hid2hci_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
-extras_hid2hci_hid2hci_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
-dist_udevrules_DATA += extras/hid2hci/70-hid2hci.rules
-libexec_PROGRAMS += extras/hid2hci/hid2hci
-
-# ------------------------------------------------------------------------------
-# udev_acl - apply ACLs for users with local forground sessions
-# ------------------------------------------------------------------------------
-extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
-extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
-extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
-dist_udevrules_DATA += extras/udev-acl/70-acl.rules
-libexec_PROGRAMS += extras/udev-acl/udev-acl
-
-udevacl-install-hook:
-       mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
-       ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
-
-INSTALL_EXEC_HOOKS += udevacl-install-hook
-
-# ------------------------------------------------------------------------------
-# usb-db - read USB vendor/device string database
-# ------------------------------------------------------------------------------
-extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
-extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
-extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
-libexec_PROGRAMS += extras/usb-db/usb-db
-
-# ------------------------------------------------------------------------------
-# pci-db - read PCI vendor/device string database
-# ------------------------------------------------------------------------------
-extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
-extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(PCI_DATABASE)\" -DBUILD_FOR_PCI
-extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
-libexec_PROGRAMS += extras/usb-db/pci-db
-
-# ------------------------------------------------------------------------------
-# mobile-action-modeswitch - switch Mobile Action cables into serial mode
-# ------------------------------------------------------------------------------
-extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES =\
-       extras/mobile-action-modeswitch/mobile-action-modeswitch.c \
-       extras/mobile-action-modeswitch/utils.c \
-       extras/mobile-action-modeswitch/utils.h \
-       extras/mobile-action-modeswitch/ma8280p_us.c \
-       extras/mobile-action-modeswitch/ma8280p_us.h
-extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
-extras_mobile_action_modeswitch_mobile_action_modeswitch_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
-
-dist_udevrules_DATA += \
-       extras/mobile-action-modeswitch/61-mobile-action.rules
-
-libexec_PROGRAMS += extras/mobile-action-modeswitch/mobile-action-modeswitch
-
-# ------------------------------------------------------------------------------
-# mtd_probe - autoloads FTL module for mtd devices
-# ------------------------------------------------------------------------------
-extras_mtd_probe_mtd_probe_SOURCES =  \
-       extras/mtd_probe/mtd_probe.c \
-       extras/mtd_probe/mtd_probe.h \
-       extras/mtd_probe/probe_smartmedia.c
-
-extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
-
-dist_udevrules_DATA += extras/mtd_probe/75-probe_mtd.rules
-
-libexec_PROGRAMS += extras/mtd_probe/mtd_probe
-
+if ENABLE_KEYMAP
 # ------------------------------------------------------------------------------
 # keymap - map custom hardware's multimedia keys
 # ------------------------------------------------------------------------------
 # ------------------------------------------------------------------------------
 # keymap - map custom hardware's multimedia keys
 # ------------------------------------------------------------------------------
@@ -552,7 +506,6 @@ libexec_PROGRAMS += extras/keymap/keymap
 dist_libexec_SCRIPTS += extras/keymap/findkeyboards
 dist_libexec_SCRIPTS += extras/keymap/keyboard-force-release.sh
 dist_doc_DATA = extras/keymap/README.keymap.txt
 dist_libexec_SCRIPTS += extras/keymap/findkeyboards
 dist_libexec_SCRIPTS += extras/keymap/keyboard-force-release.sh
 dist_doc_DATA = extras/keymap/README.keymap.txt
-
 CLEANFILES += \
        extras/keymap/keys.txt \
        extras/keymap/keys-from-name.gperf
 CLEANFILES += \
        extras/keymap/keys.txt \
        extras/keymap/keys-from-name.gperf
@@ -638,8 +591,55 @@ extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile
 keymaps-distcheck-hook: extras/keymap/keys.txt
        $(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^
 DISTCHECK_HOOKS += keymaps-distcheck-hook
 keymaps-distcheck-hook: extras/keymap/keys.txt
        $(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^
 DISTCHECK_HOOKS += keymaps-distcheck-hook
+endif
+
+if ENABLE_FLOPPY
+# ------------------------------------------------------------------------------
+# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
+# ------------------------------------------------------------------------------
+extras_floppy_create_floppy_devices_SOURCES = extras/floppy/create_floppy_devices.c
+extras_floppy_create_floppy_devices_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/floppy/create_floppy_devices
+dist_udevrules_DATA += extras/floppy/60-floppy.rules
+endif
+
+if ENABLE_EDD
+# ------------------------------------------------------------------------------
+# edd_id - create /dev/disk/by-id/edd-* links for BIOS EDD data
+# ------------------------------------------------------------------------------
+extras_edd_id_edd_id_SOURCES = extras/edd_id/edd_id.c
+extras_edd_id_edd_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/edd_id/edd_id
+dist_udevrules_DATA += extras/edd_id/61-persistent-storage-edd.rules
+endif
+
+if ENABLE_HID2HCI
+# ------------------------------------------------------------------------------
+# Bluetooth HID devices with special magic to switch the device
+# ------------------------------------------------------------------------------
+extras_hid2hci_hid2hci_SOURCES = extras/hid2hci/hid2hci.c
+extras_hid2hci_hid2hci_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
+extras_hid2hci_hid2hci_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
+dist_udevrules_DATA += extras/hid2hci/70-hid2hci.rules
+libexec_PROGRAMS += extras/hid2hci/hid2hci
+endif
 
 
-endif # ENABLE_EXTRAS
+if ENABLE_ACTION_MODESWITCH
+# ------------------------------------------------------------------------------
+# mobile-action-modeswitch - switch Mobile Action cables into serial mode
+# ------------------------------------------------------------------------------
+extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES =\
+       extras/mobile-action-modeswitch/mobile-action-modeswitch.c \
+       extras/mobile-action-modeswitch/utils.c \
+       extras/mobile-action-modeswitch/utils.h \
+       extras/mobile-action-modeswitch/ma8280p_us.c \
+       extras/mobile-action-modeswitch/ma8280p_us.h
+extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
+extras_mobile_action_modeswitch_mobile_action_modeswitch_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
+dist_udevrules_DATA += \
+       extras/mobile-action-modeswitch/61-mobile-action.rules
+libexec_PROGRAMS += extras/mobile-action-modeswitch/mobile-action-modeswitch
+endif
 
 # ------------------------------------------------------------------------------
 # install, uninstall, clean hooks
 
 # ------------------------------------------------------------------------------
 # install, uninstall, clean hooks
diff --git a/README b/README
index 4520f3dbe30918377a4a55dcd0dc7eebbc773adc..34d1267430ddd56c4f0ae5780e6a355c5680a030 100644 (file)
--- a/README
+++ b/README
@@ -51,9 +51,9 @@ Requirements:
     these group names with only the rootfs mounted and while no network is
     available.
 
     these group names with only the rootfs mounted and while no network is
     available.
 
-  - The 'udev extras' has the following dependencies:
+  - Some udev extras have external dependencies like:
       libacl, libglib2, libusb, usbutils, pciutils, and gperf.
       libacl, libglib2, libusb, usbutils, pciutils, and gperf.
-    These dependencies can be disabled with the --disable-extras configure option.
+    All these extras can be disabled with configure options.
 
 Setup:
   - At bootup, the /dev directory should get the 'devtmpfs' filesystem
 
 Setup:
   - At bootup, the /dev directory should get the 'devtmpfs' filesystem
@@ -90,7 +90,8 @@ Operation:
       http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
       http://www.kernel.org/pub/linux/utils/kernel/hotplug/gudev/
 
       http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
       http://www.kernel.org/pub/linux/utils/kernel/hotplug/gudev/
 
-For more details about udev and udev rules, see the udev(7) man page.
+For more details about udev and udev rules, see the udev man pages:
+      http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/
 
 Please direct any comment/question to the linux-hotplug mailing list at:
   linux-hotplug@vger.kernel.org
 
 Please direct any comment/question to the linux-hotplug mailing list at:
   linux-hotplug@vger.kernel.org
index cb7585e58bcf9ad9fd6c3c0c28272b05bade24ca..d5585b3c4a3839c153c5e9bb36ac812a24e337e4 100644 (file)
@@ -54,8 +54,7 @@ AC_ARG_WITH(firmware-path,
        [], [with_firmware_path="/lib/firmware/updates:/lib/firmware"])
 OLD_IFS=$IFS
 IFS=:
        [], [with_firmware_path="/lib/firmware/updates:/lib/firmware"])
 OLD_IFS=$IFS
 IFS=:
-for i in $with_firmware_path
-do
+for i in $with_firmware_path; do
        if test "x${FIRMWARE_PATH}" = "x"; then
                FIRMWARE_PATH="\\\"${i}/\\\""
        else
        if test "x${FIRMWARE_PATH}" = "x"; then
                FIRMWARE_PATH="\\\"${i}/\\\""
        else
@@ -69,38 +68,34 @@ AC_ARG_WITH([systemdsystemunitdir],
        AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
        [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
 if test "x$with_systemdsystemunitdir" != xno; then
        AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
        [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
 if test "x$with_systemdsystemunitdir" != xno; then
-    AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+       AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
 fi
 AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
 
 fi
 AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
 
-AC_ARG_ENABLE([extras],
-       AS_HELP_STRING([--disable-extras], [disable extras with external dependencies]),
-       [], [enable_extras=yes])
-if test "x$enable_extras" = xyes; then
-       AC_PATH_PROG([GPERF], [gperf])
-       if test -z "$GPERF"; then
-               AC_MSG_ERROR([gperf is needed])
-       fi
-
-       PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.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)])
+# ------------------------------------------------------------------------------
+# rule_generator - persistent network and optical device rule generator
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([hwdb],
+       AS_HELP_STRING([--disable-rule_generator], [disable persistent network, cdrom support]),
+       [], [enable_rule_generator=yes])
+AM_CONDITIONAL([ENABLE_RULE_GENERATOR], [test "x$enable_rule_genarator" = xyes])
 
 
+# ------------------------------------------------------------------------------
+# usb/pci-db - read vendor/device string database
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([hwdb],
+       AS_HELP_STRING([--disable-hwdb], [disable hardware database support]),
+       [], [enable_hwdb=yes])
+if test "x$enable_hwdb" = xyes; then
        if test "x$cross_compiling" = "xno" ; then
                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])
        fi
        if test "x$cross_compiling" = "xno" ; then
                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])
        fi
+
+       PKG_CHECK_MODULES(USBUTILS, usbutils >= 0.82)
+       AC_SUBST([USB_DATABASE], [$($PKG_CONFIG --variable=usbids usbutils)])
+
        AC_ARG_WITH(pci-ids-path,
                [AS_HELP_STRING([--with-pci-ids-path=DIR], [Path to pci.ids file])],
                [PCI_DATABASE=${withval}],
        AC_ARG_WITH(pci-ids-path,
                [AS_HELP_STRING([--with-pci-ids-path=DIR], [Path to pci.ids file])],
                [PCI_DATABASE=${withval}],
@@ -112,25 +107,103 @@ if test "x$enable_extras" = xyes; then
        AC_MSG_CHECKING([for PCI database location])
        AC_MSG_RESULT([$PCI_DATABASE])
        AC_SUBST(PCI_DATABASE)
        AC_MSG_CHECKING([for PCI database location])
        AC_MSG_RESULT([$PCI_DATABASE])
        AC_SUBST(PCI_DATABASE)
+fi
+AM_CONDITIONAL([ENABLE_HWDB], [test "x$enable_hwdb" = xyes])
 
 
-       AC_CHECK_HEADER([linux/input.h], [:], AC_MSG_ERROR([kernel headers not found]))
-       AC_SUBST([INCLUDE_PREFIX], [$(echo '#include <linux/input.h>' | eval $ac_cpp -E - | sed -n '/linux\/input.h/ {s:.*"\(.*\)/linux/input.h".*:\1:; p; q}')])
+# ------------------------------------------------------------------------------
+# udev_acl - apply ACLs for users with local forground sessions
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([udev_acl],
+       AS_HELP_STRING([--disable-udev_acl], [disable local user acl permissions support]),
+       [], [enable_udev_acl=yes])
+if test "x$enable_udev_acl" = xyes; then
+       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([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0])
+       AC_SUBST([GLIB_CFLAGS])
+       AC_SUBST([GLIB_LIBS])
 fi
 fi
-AM_CONDITIONAL([ENABLE_EXTRAS], [test "x$enable_extras" = xyes])
+AM_CONDITIONAL([ENABLE_UDEV_ACL], [test "x$enable_udev_acl" = xyes])
+
+# ------------------------------------------------------------------------------
+# GUdev - libudev gobject interface
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([gudev],
+       AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support]),
+       [], [enable_gudev=yes])
+if test "x$enable_gudev" = xyes; then
+       PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0])
+       AC_SUBST([GLIB_CFLAGS])
+       AC_SUBST([GLIB_LIBS])
 
 
-AC_ARG_ENABLE([introspection],
-       AS_HELP_STRING([--disable-introspection], [disable GObject introspection]),
-       [], [enable_introspection=yes])
-if test "x$enable_introspection" = xyes; then
        PKG_CHECK_MODULES([INTROSPECTION], [gobject-introspection-1.0 >= 0.6.2])
        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 --define-variable=datadir=${datadir} --variable=girdir gobject-introspection-1.0)])
        AC_SUBST([GIRTYPELIBDIR], [$($PKG_CONFIG --define-variable=libdir=${libdir} --variable=typelibdir gobject-introspection-1.0)])
 fi
        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 --define-variable=datadir=${datadir} --variable=girdir gobject-introspection-1.0)])
        AC_SUBST([GIRTYPELIBDIR], [$($PKG_CONFIG --define-variable=libdir=${libdir} --variable=typelibdir gobject-introspection-1.0)])
 fi
-AM_CONDITIONAL([ENABLE_INTROSPECTION], [test "x$enable_introspection" = xyes])
+AM_CONDITIONAL([ENABLE_GUDEV], [test "x$enable_gudev" = xyes])
+
+# ------------------------------------------------------------------------------
+# keymap - map custom hardware's multimedia keys
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([keymap],
+       AS_HELP_STRING([--disable-keymap], [disable keymap fixup support]),
+       [], [enable_keymap=yes])
+if test "x$enable_keymap" = xyes; then
+       AC_PATH_PROG([GPERF], [gperf])
+       if test -z "$GPERF"; then
+               AC_MSG_ERROR([gperf is needed])
+       fi
+
+       AC_CHECK_HEADER([linux/input.h], [:], AC_MSG_ERROR([kernel headers not found]))
+       AC_SUBST([INCLUDE_PREFIX], [$(echo '#include <linux/input.h>' | eval $ac_cpp -E - | sed -n '/linux\/input.h/ {s:.*"\(.*\)/linux/input.h".*:\1:; p; q}')])
+fi
+AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = xyes])
+
+# ------------------------------------------------------------------------------
+# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([floppy],
+       AS_HELP_STRING([--enable-floppy], [enable legacy floppy support]),
+       [], [enable_floppy=no])
+AM_CONDITIONAL([ENABLE_FLOPPY], [test "x$enable_floppy" = xyes])
+
+# ------------------------------------------------------------------------------
+# edd_id - create /dev/disk/by-id/edd-* links for BIOS EDD data
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([edd],
+       AS_HELP_STRING([--enable-edd], [enable disk edd support]),
+       [], [enable_edd=no])
+AM_CONDITIONAL([ENABLE_EDD], [test "x$enable_edd" = xyes])
+
+# ------------------------------------------------------------------------------
+# Bluetooth HID devices with special magic to switch the device
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([hid2hci],
+       AS_HELP_STRING([--enable-hid2hci], [enable bluetooth hid to hci switch]),
+       [], [enable_hid2hci=no])
+if test "x$enable_hid2hci" = xyes; then
+       PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.12)
+       AC_SUBST(LIBUSB_CFLAGS)
+       AC_SUBST(LIBUSB_LIBS)
+fi
+AM_CONDITIONAL([ENABLE_HID2HCI], [test "x$enable_hid2hci" = xyes])
+
+# ------------------------------------------------------------------------------
+# mobile-action-modeswitch - switch Mobile Action cables into serial mode
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([ACTION_MODESWITCH],
+       AS_HELP_STRING([--enable-action_modeswitch], [enable action modeswitch support]),
+       [], [enable_action_modeswitch=no])
+if test "x$enable_action_modeswitch" = xyes; then
+       PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.12)
+       AC_SUBST(LIBUSB_CFLAGS)
+       AC_SUBST(LIBUSB_LIBS)
+fi
+AM_CONDITIONAL([ENABLE_ACTION_MODESWITCH], [test "x$enable_action_modeswitch" = xyes])
 
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_FILES([
 
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_FILES([
@@ -175,8 +248,15 @@ AC_MSG_RESULT([
        cflags:                 ${CFLAGS}
        ldflags:                ${LDFLAGS}
 
        cflags:                 ${CFLAGS}
        ldflags:                ${LDFLAGS}
 
-       extras:                 ${enable_extras}
-       gintrospection:         ${enable_introspection}
+       rule_generator:         ${enable_rule_generator}
+       hwdb:                   ${enable_hwdb}
+       udev_acl:               ${enable_udev_acl}
+       gudev:                  ${enable_gudev}
+       keymap:                 ${enable_keymap}
+       floppy:                 ${enable_floppy}
+       edd:                    ${enable_edd}
+       hid2hci:                ${enable_hid2hci}
+       action_modeswitch:      ${enable_action_modeswitch}
 
        usb.ids:                ${USB_DATABASE}
        pci.ids:                ${PCI_DATABASE}
 
        usb.ids:                ${USB_DATABASE}
        pci.ids:                ${PCI_DATABASE}