# elf2flt options

if ARCH_BINFMT_FLAT

comment "elf2flt"

choice
    bool
    prompt "elf2flt version"
# Don't remove next line
# CT_INSERT_VERSION_BELOW

config ELF2FLT_CVSHEAD
    bool
    prompt "CVS Head"
    help
      Grab the latest version of elf2flt from the CVS repository

config ELF2FLT_CVS_SNAPSHOT
    bool
    prompt "CVS Snapshot"

endchoice

config ELF2FLT_CVS_SNAPSHOT_SPEC
    string
    depends on ELF2FLT_CVS_SNAPSHOT
    default ""
    prompt "CVS refspec for elf2flt"
    help
       What you enter here will be passed verbatim to the cvs checkout command
       so be careful!

config ELF2FLT_VERSION
    string
    default "head" if ELF2FLT_CVSHEAD
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW

config ELF2FLT_EXTRA_CONFIG_ARRAY
    string
    prompt "elf2flt extra config"
    default ""
    help
      Extra flags passed onto ./configure when configuring
      
      You can enter multiple arguments here, and arguments can contain spaces
      if they are properly quoted (or escaped, but prefer quotes). Eg.:
          --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space

endif
