config BR2_PACKAGE_XORRISO
	bool "xorriso"
	depends on BR2_USE_WCHAR
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU # fork()
	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
	help
	  xorriso copies file objects from POSIX compliant
	  filesystems into Rock Ridge enhanced ISO 9660 filesystems
	  and allows session-wise manipulation of such filesystems.
	  It can load the management information of existing ISO
	  images and it writes the session results to optical media
	  or to filesystem objects.

	  Vice versa xorriso is able to copy file objects out of ISO
	  9660 filesystems.

	  https://www.gnu.org/software/xorriso

comment "xorriso needs a toolchain w/ wchar, threads"
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
