config BR2_PACKAGE_DOCKER_ENGINE
	bool "docker-engine"
	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 # docker-containerd -> runc
	depends on BR2_USE_MMU # docker-containerd
	select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
	select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency
	select BR2_PACKAGE_DOCKER_PROXY # runtime dependency
	select BR2_PACKAGE_IPTABLES # runtime dependency
	select BR2_PACKAGE_SQLITE # runtime dependency
	help
	  Docker is a platform to build, ship,
	  and run applications as lightweight containers.

	  https://github.com/docker/docker

if BR2_PACKAGE_DOCKER_ENGINE

config BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL
	bool "build experimental features"

config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS
	bool "btrfs filesystem driver"
	depends on BR2_USE_MMU # btrfs-progs
	depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs
	select BR2_PACKAGE_BTRFS_PROGS
	help
	  Build the btrfs filesystem driver for Docker.

config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER
	bool "devicemapper filesystem driver"
	depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2
	depends on BR2_USE_MMU # lvm2
	depends on !BR2_STATIC_LIBS # lvm2
	depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
	select BR2_PACKAGE_LVM2
	select BR2_PACKAGE_LVM2_APP_LIBRARY
	help
	  Build the devicemapper filesystem driver for Docker.

config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS
	bool "vfs filesystem driver"
	depends on BR2_USE_WCHAR # gvfs
	depends on BR2_USE_MMU # gvfs
	depends on BR2_TOOLCHAIN_HAS_THREADS # gvfs
	select BR2_PACKAGE_GVFS
	help
	  Build the vfs filesystem driver for Docker.

endif

comment "docker-engine 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_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC
	depends on BR2_USE_MMU
