# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

choice
prompt "Binary Format"
depends on ADK_TARGET_OS_LINUX

config ADK_TARGET_BINFMT_ELF
	bool "ELF"
	depends on ADK_TARGET_WITH_MMU

config ADK_TARGET_BINFMT_FLAT
	bool "FLAT"
	select ADK_TARGET_UCLINUX if ADK_TARGET_ARCH_BFIN
	depends on ADK_TARGET_LIB_UCLIBC_NG
	depends on (ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_SH || ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_WITHOUT_MMU \
		|| ADK_TARGET_ARCH_H8300 || ADK_TARGET_ARCH_LM32 || ADK_TARGET_ARCH_BFIN

config ADK_TARGET_BINFMT_FDPIC
	bool "FDPIC"
	depends on ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH

config ADK_TARGET_BINFMT_DSBT
	bool "DSBT"
	depends on ADK_TARGET_ARCH_C6X

endchoice

# Set up flat binary type
choice
prompt "FLAT Binary type"
depends on ADK_TARGET_BINFMT_FLAT && (ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_BFIN)
default ADK_TARGET_BINFMT_FLAT_ONE

config ADK_TARGET_BINFMT_FLAT_ONE
	bool "One memory region"
	depends on ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_M68K
	help
	  All segments are linked into one memory region.

config ADK_TARGET_BINFMT_FLAT_SEP_DATA
	bool "Separate data and code region"
	depends on ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_M68K
	help
	  Allow for the data and text segments to be separated and placed in
	  different regions of memory.

config ADK_TARGET_BINFMT_FLAT_SHARED
	bool "Shared binary"
	help
	  Allow to load and link indiviual FLAT binaries at run time.

endchoice

config ADK_TARGET_BINFMT
	string
	depends on ADK_TARGET_ARCH_BFIN
	default "flat" if ADK_TARGET_BINFMT_FLAT
	default "fdpic" if ADK_TARGET_BINFMT_FDPIC

