config BR2_TARGET_SYSLINUX
	bool "syslinux"
	depends on BR2_i386 || BR2_x86_64
	# Make sure at least one of the flavors is installed
	select BR2_TARGET_SYSLINUX_ISOLINUX \
		if !BR2_TARGET_SYSLINUX_PXELINUX && \
		   !BR2_TARGET_SYSLINUX_MBR && \
		   !BR2_TARGET_SYSLINUX_EFI
	select BR2_PACKAGE_UTIL_LINUX
	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
	help
	  The syslinux bootloader for x86 systems.
	  This includes: syslinux, pxelinux, extlinux.

	  http://syslinux.org

if BR2_TARGET_SYSLINUX

config BR2_TARGET_SYSLINUX_LEGACY_BIOS
	bool

config BR2_TARGET_SYSLINUX_ISOLINUX
	bool "install isolinux"
	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
	help
	  Install the legacy-BIOS 'isolinux' image, to boot off
	  optical media (CDROM, DVD.)

config BR2_TARGET_SYSLINUX_PXELINUX
	bool "install pxelinux"
	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
	help
	  Install the legacy-BIOS 'pxelinux' image, to boot off
	  the network using PXE.

config BR2_TARGET_SYSLINUX_MBR
	bool "install mbr"
	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
	help
	  Install the legacy-BIOS 'mbr' image, to boot off a
	  local MBR-partition (e.g. prepared with 'extlinux'
	  or 'syslinux').

config BR2_TARGET_SYSLINUX_EFI
	bool "install efi"
	depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
	select BR2_PACKAGE_GNU_EFI
	help
	  Install the 'efi' image, to boot from an EFI environment.

if BR2_TARGET_SYSLINUX_LEGACY_BIOS

config BR2_TARGET_SYSLINUX_C32
	string "modules to install"
	help
	  Enter a space-separated list of .c32 modules to install.
	  Leave empty to install no module.

endif # BR2_TARGET_SYSLINUX_LEGACY_BIOS

endif # BR2_TARGET_SYSLINUX
