# Companion tools config options

if EXPERIMENTAL

menu "Companion tools"

comment "READ HELP before you say 'Y' below !!!"
config COMP_TOOLS
    bool
    prompt "Build some companion tools"
    help
      Crosstool-NG relies on some external tools to be recent enough, namely:
        make = 3.81 (in some cases)
        m4 >= 1.4.12
        autoconf >= 2.63
        automake >= 1.10.2
        libtool >= 2.2.4
      
      If your system has older versions, we can build them for you,
      but you are strongly encouraged to update your system instead!

if COMP_TOOLS

config COMP_TOOLS_make
    bool
    prompt "make"

config COMP_TOOLS_m4
    bool
    prompt "m4"

config COMP_TOOLS_autoconf
    bool
    prompt "autoconf"

config COMP_TOOLS_automake
    bool
    prompt "automake"

config COMP_TOOLS_libtool
    bool
    prompt "libtool"

endif

endmenu

endif
