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
	depends on !BR2_STATIC_LIBS # 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
