From: Roy Marples Date: Thu, 12 Sep 2013 21:43:17 +0000 (+0000) Subject: It seems that some older udev versions support filtering but not X-Git-Tag: v6.1.0~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=077eb0643c8ebd33de846745a54a3969e5077af2;p=thirdparty%2Fdhcpcd.git It seems that some older udev versions support filtering but not per device initialization checks. Add a test for this. --- diff --git a/configure b/configure index dbd4c6f7..c54028ad 100755 --- a/configure +++ b/configure @@ -634,6 +634,24 @@ EOF echo "no" fi rm -f _udev.c _udev + + printf "Checking udev_device_get_is_initialized ... " + cat <_udev.c +#include +#include +int main(void) { + udev_device_get_is_initialized(NULL); + return 0; +} +EOF + if $XCC $LIBUDEV_CFLAGS _udev.c -o _udev $LIBUDEV_LIBS 2>/dev/null + then + echo "yes" + else + echo "LIBUDEV_CPPFLAGS+= -DLIBUDEV_NOINIT" >>$CONFIG_MK + echo "no" + fi + rm -f _udev.c _udev elif [ "$DEV" != no -a "$UDEV" != no ]; then echo "no" fi diff --git a/dev/udev.c b/dev/udev.c index 52562c06..4f9450e8 100644 --- a/dev/udev.c +++ b/dev/udev.c @@ -62,7 +62,7 @@ udev_initialized(const char *ifname) device = udev_device_new_from_subsystem_sysname(udev, "net", ifname); if (device) { -#ifndef LIBUDEV_NOFILTER +#ifndef LIBUDEV_NOINIT r = udev_device_get_is_initialized(device); #else r = 1;