chiark / gitweb /
configure.ac: ddd --with-firmware-path option
authorYury G. Kudryashov <urkud.urkud@gmail.com>
Fri, 16 Apr 2010 05:38:32 +0000 (09:38 +0400)
committerKay Sievers <kay.sievers@vrfy.org>
Tue, 20 Apr 2010 05:02:58 +0000 (07:02 +0200)
In NixOS we need to use non-standard firmware path: we have no /lib.

Makefile.am
configure.ac
extras/firmware/firmware.c

index 076db8c9e77b40feb935480633eabf2e029c2079..7403949cf31948496943a9e9d6ce4450f0fa473e 100644 (file)
@@ -194,6 +194,7 @@ dist_udevrules_DATA += \
 # ------------------------------------------------------------------------------
 extras_firmware_firmware_SOURCES = extras/firmware/firmware.c
 extras_firmware_firmware_LDADD = libudev/libudev-private.la
+extras_firmware_firmware_CPPFLAGS = $(AM_CPPFLAGS) -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
 dist_udevrules_DATA += extras/firmware/50-firmware.rules
 libexec_PROGRAMS = extras/firmware/firmware
 
index 492fa022429bf096c2b4415b805c51c8c86969d7..cce70d11785da5caccb9502de35a1aaf4d649c92 100644 (file)
@@ -82,6 +82,26 @@ if test "x$enable_extras" = xyes; then
                fi])
        AC_SUBST(PCI_DATABASE)
 
+       AC_ARG_WITH(firmware-path,
+               AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
+                  [Firmware search path (default=/lib/firmware/updates:/lib/firmware)]),
+               [],
+               [with_firmware_path="/lib/fimware/updates:/lib/fimware"]
+               )
+       OLD_IFS=$IFS
+       IFS=:
+       for i in $with_firmware_path
+       do
+               if test "x${FIRMWARE_PATH}" = "x"
+               then
+                       FIRMWARE_PATH="\\\"${i}/\\\""
+               else
+                       FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\""
+               fi
+       done
+       IFS=$OLD_IFS
+       AC_SUBST([FIRMWARE_PATH], [$FIRMWARE_PATH])
+
        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
@@ -144,6 +164,7 @@ AC_MSG_RESULT([
 
        usb.ids:                ${USB_DATABASE}
        pci.ids:                ${PCI_DATABASE}
+       firmware path:          ${FIRMWARE_PATH}
 
        xsltproc:               ${XSLTPROC}
        gperf:                  ${GPERF}
index 92f0918c6fce60818807321581ead92bdce01357..76593bad3030cdfade41d1021ec5bab3f391a4ae 100644 (file)
@@ -79,10 +79,7 @@ int main(int argc, char **argv)
                { "help", no_argument, NULL, 'h' },
                {}
        };
-       static const char *searchpath[] = {
-               "/lib/firmware/updates/",
-               "/lib/firmware/"
-       };
+       static const char *searchpath[] = { FIRMWARE_PATH };
        char fwencpath[UTIL_PATH_SIZE];
        char misspath[UTIL_PATH_SIZE];
        char loadpath[UTIL_PATH_SIZE];