# Compiler options

config CC_gcc
    select CC_SUPPORT_CXX
    select CC_SUPPORT_FORTRAN
    select CC_SUPPORT_JAVA
    select CC_SUPPORT_ADA
    select CC_SUPPORT_OBJC
    select CC_SUPPORT_OBJCXX
    help
      gcc is the full-blown GNU compiler. This is what most people will choose.
      
      gcc supports many languages, a powerful code parser, optimised binary
      output, and lots of other features.

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

config CC_V_4_5_0
    bool
    prompt "4.5.0 (EXPERIMENTAL)"
    depends on EXPERIMENTAL
    select CC_GCC_4_5_or_later

config CC_V_4_4_4
    bool
    prompt "4.4.4 (EXPERIMENTAL)"
    depends on EXPERIMENTAL
    select CC_GCC_4_4_or_later

config CC_V_4_4_3
    bool
    prompt "4.4.3"
    select CC_GCC_4_4_or_later

config CC_V_4_4_2
    bool
    prompt "4.4.2"
    select CC_GCC_4_4_or_later

config CC_V_4_4_1
    bool
    prompt "4.4.1"
    select CC_GCC_4_4_or_later

config CC_V_4_4_0
    bool
    prompt "4.4.0"
    select CC_GCC_4_4_or_later

config CC_V_4_3_4
    bool
    prompt "4.3.4"
    select CC_GCC_4_3_or_later

config CC_V_4_3_3
    bool
    prompt "4.3.3"
    select CC_GCC_4_3_or_later

config CC_V_4_3_2
    bool
    prompt "4.3.2"
    select CC_GCC_4_3_or_later

config CC_V_4_3_1
    bool
    prompt "4.3.1"
    select CC_GCC_4_3_or_later

config CC_V_4_2_4
    bool
    prompt "4.2.4"
    select CC_GCC_4_2_or_later

config CC_V_4_2_3
    bool
    prompt "4.2.3 (OBSOLETE)"
    select CC_GCC_4_2_or_later
    depends on OBSOLETE

config CC_V_4_2_2
    bool
    prompt "4.2.2"
    select CC_GCC_4_2_or_later

config CC_V_4_2_1
    bool
    prompt "4.2.1 (OBSOLETE)"
    select CC_GCC_4_2_or_later
    depends on OBSOLETE

config CC_V_4_2_0
    bool
    prompt "4.2.0 (OBSOLETE)"
    select CC_GCC_4_2_or_later
    depends on OBSOLETE

config CC_V_4_1_2
    bool
    prompt "4.1.2 (OBSOLETE)"
    depends on OBSOLETE

config CC_V_4_0_4
    bool
    prompt "4.0.4 (OBSOLETE)"
    depends on OBSOLETE

config CC_V_3_4_6
    bool
    prompt "3.4.6 (OBSOLETE)"
    depends on OBSOLETE

endchoice

config CC_GCC_4_2_or_later
    bool
    default n

config CC_GCC_4_3_or_later
    bool
    default n
    select CC_GCC_4_2_or_later
    select CC_GCC_USE_GMP_MPFR

config CC_GCC_4_4_or_later
    bool
    default n
    select CC_GCC_4_3_or_later
    select CC_GCC_USE_PPL_CLOOG

config CC_GCC_4_5_or_later
    bool
    default n
    select CC_GCC_4_4_or_later
    select CC_GCC_USE_MPC_LIBELF

config CC_GCC_USE_GMP_MPFR
    bool
    default n
    select GMP
    select MPFR

config CC_GCC_USE_PPL_CLOOG
    bool
    default n
    select PPL
    select CLOOG

config CC_GCC_USE_MPC_LIBELF
    bool
    default n
    select MPC
    select LIBELF

config CC_VERSION
    string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
    default "4.5.0" if CC_V_4_5_0
    default "4.4.4" if CC_V_4_4_4
    default "4.4.3" if CC_V_4_4_3
    default "4.4.2" if CC_V_4_4_2
    default "4.4.1" if CC_V_4_4_1
    default "4.4.0" if CC_V_4_4_0
    default "4.3.4" if CC_V_4_3_4
    default "4.3.3" if CC_V_4_3_3
    default "4.3.2" if CC_V_4_3_2
    default "4.3.1" if CC_V_4_3_1
    default "4.3.0" if CC_V_4_3_0
    default "4.2.4" if CC_V_4_2_4
    default "4.2.3" if CC_V_4_2_3
    default "4.2.2" if CC_V_4_2_2
    default "4.2.1" if CC_V_4_2_1
    default "4.2.0" if CC_V_4_2_0
    default "4.1.2" if CC_V_4_1_2
    default "4.0.4" if CC_V_4_0_4
    default "3.4.6" if CC_V_3_4_6

config CC_LANG_JAVA_USE_ECJ
    bool
    default y
    depends on CC_LANG_JAVA
    depends on CC_GCC_4_3_or_later

config CC_PKGVERSION
    string
    prompt "gcc ID string"
    depends on CC_GCC_4_3_or_later
    default "crosstool-NG-${CT_VERSION}"
    help
      Specify a string that identifies your package. You may wish to include
      a build number or build date. This version string will be included in
      the output of gcc --version.

      This is passed to the configure flag --with-pkgversion.

config CC_BUGURL
    string
    prompt "gcc bug URL"
    depends on CC_GCC_4_3_or_later
    default ""
    help
      Specify the URL that users should visit if they wish to report a bug.

config CC_ENABLE_CXX_FLAGS
    string
    prompt "Flags to pass to --enable-cxx-flags"
    default ""
    help
      Enter here the value of the gcc's ./configure option --enable-cxx-flags.
      Leave empty if you don't know better.
      
      Note: just pass in the option _value_, that is only the part that goes
      after the '=' sign.

config CC_CORE_EXTRA_CONFIG
    string
    prompt "Core gcc extra config"
    default ""
    help
      Extra flags to pass onto ./configure when configuring the core gcc.
      
      The core gcc is a stripped down, C-only compiler needed to build
      the C library. Kinda bootstrap gcc, if you wish.

config CC_EXTRA_CONFIG
    string
    prompt "gcc extra config"
    default ""
    depends on ! BARE_METAL
    help
      Extra flags to pass onto ./configure when configuring gcc.
