config BR2_PACKAGE_MINETEST
	bool "minetest"
	depends on BR2_INSTALL_LIBSTDCPP # irrlichtMt (bundled)
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # openal
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_PACKAGE_XORG7 # irrlichtMt (bundled)
	depends on BR2_PACKAGE_HAS_LIBGL # irrlichtMt (bundled)
	depends on BR2_PACKAGE_LUAJIT
	select BR2_PACKAGE_GMP
	select BR2_PACKAGE_JSONCPP
	select BR2_PACKAGE_SQLITE
	select BR2_PACKAGE_ZLIB
	select BR2_PACKAGE_ZSTD
	# At least one option must be enabled
	select BR2_PACKAGE_MINETEST_CLIENT if !BR2_PACKAGE_MINETEST_SERVER
	help
	  Minetest is a near-infinite-world block sandbox game and a
	  game engine, inspired by InfiniMiner, Minecraft, and the
	  like.

	  http://www.minetest.net

if BR2_PACKAGE_MINETEST

config BR2_PACKAGE_MINETEST_CLIENT
	bool "minetest client"
	select BR2_PACKAGE_BZIP2
	select BR2_PACKAGE_FREETYPE
	select BR2_PACKAGE_LIBPNG
	select BR2_PACKAGE_JPEG
	select BR2_PACKAGE_XLIB_LIBXI
	help
	  Build Minetest client.

config BR2_PACKAGE_MINETEST_SERVER
	bool "minetest server"
	help
	  Build Minetest server.

config BR2_PACKAGE_MINETEST_SOUND
	bool "enable sound"
	depends on BR2_PACKAGE_MINETEST_CLIENT
	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal
	select BR2_PACKAGE_LIBVORBIS
	select BR2_PACKAGE_OPENAL

comment "sound support needs a toolchain w/ threads NPTL"
	depends on BR2_PACKAGE_MINETEST_CLIENT
	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL

endif

comment "minetest needs a toolchain w/ C++, gcc >= 9, threads"
	depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP \
		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_9 \
		|| !BR2_TOOLCHAIN_HAS_THREADS

comment "minetest needs X11 and an OpenGL provider"
	depends on (BR2_INSTALL_LIBSTDCPP \
		&& BR2_TOOLCHAIN_GCC_AT_LEAST_9 \
		&& BR2_TOOLCHAIN_HAS_THREADS)
	depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7
