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 # containerd -> runc
	depends on BR2_USE_MMU # containerd
	depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # libseccomp
	select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
	select BR2_PACKAGE_CONTAINERD # runtime dependency
	select BR2_PACKAGE_HOST_GO
	select BR2_PACKAGE_IPTABLES # runtime dependency
	select BR2_PACKAGE_LIBSECCOMP
	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_DRIVER_BTRFS
	bool "btrfs filesystem driver"
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
	help
	  Build the btrfs filesystem driver for Docker.

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

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
	select BR2_PACKAGE_LVM2
	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.

config BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT
	bool "support docker-init"
	select BR2_PACKAGE_TINI # runtime
	help
	  Support providing a minimal init process for containers,
	  using tini. Required to use "docker run --init".

	  This does not change the Docker engine build, the
	  docker-init symlink is provided by the tini package
	  itself. This option only adds the dependency.

endif

comment "docker-engine needs a glibc or musl toolchain w/ threads, headers >= 3.17"
	depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
	depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
	depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
		BR2_TOOLCHAIN_USES_UCLIBC || \
		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
	depends on BR2_USE_MMU
