if PAYLOAD_GRUB2

choice
	prompt "GRUB2 version"
	default GRUB2_MASTER

config GRUB2_MASTER
	bool "HEAD"
	help
	  Newest GRUB2 version

config GRUB2_REVISION
	bool "git revision"
	help
	  Select this option if you have a specific commit or branch
	  that you want to use as the revision from which to
	  build GRUB2.

	  You will be able to specify the name of a branch or a commit id
	  later.
endchoice

config GRUB2_REVISION_ID
	string "Insert a commit's SHA-1 or a branch name"
	depends on GRUB2_REVISION
	default "origin/master"
	help
	   The commit's SHA-1 or branch name of the revision to use.

config GRUB2_EXTRA_MODULES
	string "Extra modules to include in GRUB image"
	help
	  Space-separated list of additional modules to include. Few common
	  ones:
	  * bsd for *BSD
	  * png/jpg for PNG/JPG images
	  * gfxmenu for graphical menus (you'll need a theme as well)
	  * gfxterm_background for setting background

config PAYLOAD_FILE
	default "payloads/external/GRUB2/grub2/build/default_payload.elf"

config GRUB2_INCLUDE_RUNTIME_CONFIG_FILE
	bool "Include GRUB2 runtime config file into ROM image"
	depends on PAYLOAD_GRUB2
	default n
	help
	  The GRUB2 payload reads its runtime configuration file from etc/grub.cfg
	  stored in the CBFS on the flash ROM chip. Without that, it’ll just drop
	  into a rescue shell.

	  This configuration may need to be coreboot specific.

	  Select this option, if you want to include the GRUB2 runtime
	  configuration file into CBFS as `etc/grub.cfg` automatically.

	  You will be able to specify the path of the configuration file later.

	  Without this option you would need to add this file manually with
	  build/cbfstool build/coreboot.rom add -f grub.cfg -n etc/grub.cfg -t raw

config GRUB2_RUNTIME_CONFIG_FILE
	string "Path of grub.cfg"
	depends on GRUB2_INCLUDE_RUNTIME_CONFIG_FILE
	default "grub.cfg"
	help
	  The path of the GRUB2 runtime configuration file to be added to CBFS.

endif
