config BR2_PACKAGE_EUDEV
	bool "eudev"
	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
	depends on BR2_USE_MMU # uses fork()
	depends on BR2_USE_WCHAR # needs C99 compiler
	depends on !BR2_STATIC_LIBS # kmod
	select BR2_PACKAGE_HAS_UDEV
	select BR2_PACKAGE_UDEV_GENTOO_SCRIPTS if BR2_INIT_OPENRC
	select BR2_PACKAGE_UTIL_LINUX
	select BR2_PACKAGE_UTIL_LINUX_LIBS
	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
	select BR2_PACKAGE_KMOD
	help
	  eudev is a fork of systemd-udev with the goal of obtaining
	  better compatibility with existing software such as OpenRC and
	  Upstart, older kernels, various toolchains and anything else
	  required by users and various distributions.

	  https://github.com/eudev-project/eudev

if BR2_PACKAGE_EUDEV

config BR2_PACKAGE_PROVIDES_UDEV
	default "eudev"

config BR2_PACKAGE_EUDEV_RULES_GEN
	bool "enable rules generator"
	help
	  Enable persistent rules generator

config BR2_PACKAGE_EUDEV_ENABLE_HWDB
	bool "enable hwdb installation"
	default y
	select BR2_PACKAGE_HOST_EUDEV # for udevadm, during target-finalize
	help
	  Enables hardware database installation to /etc/udev/hwdb.bin

endif

comment "eudev needs eudev /dev management"
	depends on BR2_USE_MMU
	depends on !BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV

comment "eudev needs a toolchain w/ wchar, dynamic library"
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
