# Automatically selected by the corresponding linux extension
config BR2_PACKAGE_AUFS
	bool

if BR2_PACKAGE_AUFS

# Both come from the selection of the linux extension.
config BR2_PACKAGE_AUFS_SERIES
	int
	default BR2_LINUX_KERNEL_EXT_AUFS_SERIES

config BR2_PACKAGE_AUFS_VERSION
	string
	default BR2_LINUX_KERNEL_EXT_AUFS_VERSION

endif
