config BR2_PACKAGE_LUGARU
	bool "lugaru"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_PACKAGE_HAS_LIBGL # libglu
	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
	depends on BR2_PACKAGE_XORG7 # SDL2 OpenGL (GLX)
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # openal
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal
	depends on BR2_USE_MMU # SDL2 OpenGL (GLX)
	depends on !BR2_STATIC_LIBS # SDL2
	select BR2_PACKAGE_JPEG
	select BR2_PACKAGE_LIBGLU # GL/glu.h
	select BR2_PACKAGE_LIBPNG
	select BR2_PACKAGE_LIBVORBIS
	select BR2_PACKAGE_OPENAL
	select BR2_PACKAGE_SDL2
	select BR2_PACKAGE_SDL2_OPENGL
	select BR2_PACKAGE_ZLIB
	help
	  Lugaru (pronounced Loo-GAH-roo) is a cross-platform
	  third-person action game. The main character, Turner, is an
	  anthropomorphic rebel bunny rabbit with impressive combat
	  skills. In his quest to find those responsible for
	  slaughtering his village, he uncovers a far-reaching
	  conspiracy involving the corrupt leaders of the rabbit
	  republic and the starving wolves from a nearby den. Turner
	  takes it upon himself to fight against their plot and save
	  his fellow rabbits from slavery.

	  https://osslugaru.gitlab.io/

comment "lugaru needs X11 and a toolchain w/ C++, OpenGL backend, gcc >= 4.9, NPTL, dynamic library"
	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
	depends on BR2_PACKAGE_XORG7
	depends on BR2_USE_MMU
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
		BR2_STATIC_LIBS
