config BR2_PACKAGE_CONTAINERD
	bool "containerd"
	depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
	depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
	depends on BR2_USE_MMU # util-linux
	select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
	select BR2_PACKAGE_UTIL_LINUX # runtime dependency
	select BR2_PACKAGE_UTIL_LINUX_BINARIES
	select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
	select BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT
	select BR2_PACKAGE_UTIL_LINUX_MOUNT
	help
	  containerd is a daemon to control runC.

	  https://containerd.io/

if BR2_PACKAGE_CONTAINERD

config BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS
	bool "btrfs snapshot driver"
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
	help
	  Build the btrfs snapshot driver for containerd.

comment "brtfs snapshot driver needs headers >= 4.12"
	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12

config BR2_PACKAGE_CONTAINERD_DRIVER_DEVMAPPER
	bool "devmapper snapshot driver"
	depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2
	depends on BR2_USE_MMU # lvm2
	depends on !BR2_STATIC_LIBS # lvm2
	select BR2_PACKAGE_LVM2
	help
	  Build the devmapper snapshot driver for containerd.

comment "devmapper snapshot driver needs a toolchain w/ threads, dynamic library"
	depends on BR2_USE_MMU
	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_CONTAINERD_DRIVER_ZFS
	bool "zfs snapshot driver"
	depends on BR2_LINUX_KERNEL # zfs
	depends on BR2_PACKAGE_HAS_UDEV # zfs
	depends on BR2_USE_MMU  # zfs
	depends on BR2_TOOLCHAIN_HAS_THREADS  # zfs
	select BR2_PACKAGE_ZFS
	help
	  Build the zfs snapshot driver for containerd.

comment "zfs snapshot driver needs a Linux kernel, udev, toolchain w/ threads"
	depends on BR2_USE_MMU
	depends on !BR2_LINUX_KERNEL || !BR2_PACKAGE_HAS_UDEV || \
		!BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_CONTAINERD_CRI
	bool "Kubernetes CRI support"
	help
	  Build containerd with Kubernetes CRI support.

endif

comment "containerd needs a glibc or musl toolchain w/ threads"
	depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
	depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
	depends on BR2_USE_MMU
	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC
