# eglibc options

## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
##
## select LIBC_SUPPORT_NPTL
## select LIBC_SUPPORT_LINUXTHREADS
## select CC_CORE_PASSES_NEEDED
##
## help EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC
## help that is designed to work well on embedded systems.  EGLIBC strives
## help to be source and binary compatible with GLIBC.  Its goals include
## help a reduced footprint, configurable components, and improved
## help cross-compilation support.  EGLIBC also includes some embedded ports
## help (such as e500/spe) that are normally separate add-ons of GLIBC.

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

config LIBC_EGLIBC_V_2_17
    bool
    prompt "2_17"
    select LIBC_EGLIBC_2_16_or_later

config LIBC_EGLIBC_V_2_16
    bool
    prompt "2_16"
    select LIBC_EGLIBC_2_16_or_later

config LIBC_EGLIBC_V_2_15
    bool
    prompt "2_15"

config LIBC_EGLIBC_V_2_14
    bool
    prompt "2_14"

config LIBC_EGLIBC_V_2_13
    bool
    prompt "2_13"

config LIBC_EGLIBC_V_2_12
    bool
    prompt "2_12"

config LIBC_EGLIBC_V_2_11
    bool
    prompt "2_11"

config LIBC_EGLIBC_V_2_10
    bool
    prompt "2_10"

config LIBC_EGLIBC_V_2_9
    bool
    prompt "2_9"

config LIBC_EGLIBC_V_TRUNK
    bool
    prompt "'trunk'"
    select LIBC_EGLIBC_2_16_or_later
    help
      Selecting this will export the trunk of the eglibc subversion repository.

endchoice

config LIBC_VERSION
    string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
    default "2_17" if LIBC_EGLIBC_V_2_17
    default "2_16" if LIBC_EGLIBC_V_2_16
    default "2_15" if LIBC_EGLIBC_V_2_15
    default "2_14" if LIBC_EGLIBC_V_2_14
    default "2_13" if LIBC_EGLIBC_V_2_13
    default "2_12" if LIBC_EGLIBC_V_2_12
    default "2_11" if LIBC_EGLIBC_V_2_11
    default "2_10" if LIBC_EGLIBC_V_2_10
    default "2_9" if LIBC_EGLIBC_V_2_9
    default "trunk" if LIBC_EGLIBC_V_TRUNK

config LIBC_EGLIBC_2_16_or_later
    bool

if CONFIGURE_has_svn

config EGLIBC_REVISION
    string
    prompt "Revision to use"
    default "HEAD"
    help
      Enter the revision of trunk you want to use.
      Default is HEAD.
      
      A revision argument can be one of:
          NUMBER       revision number
          '{' DATE '}' revision at start of the date (*)
          'HEAD'       latest in repository
      
      (*) If you want to use a date, please use ISO-8601 formats if
          at all possible.

config EGLIBC_HTTP
    bool
    prompt "use http:// instead of svn://"
    help
      By default, when eglibc is downloaded it is checked out using
      svn://svn.eglibc.org. This option allows you to download eglibc
      from http://www.eglibc.org, if you are behind a proxy or firewall.
      If you are behind a proxy, don't forget to update your
      .subversion/servers file with your proxy info in [global].

config EGLIBC_CHECKOUT
    bool
    prompt "checkout instead of export"
    default y if LIBC_EGLIBC_V_TRUNK
    help
      By default, the eglibc download will be an export of the subversion
      repository. If you say 'y' here, then the repository will instead be
      checked-out, so that you can update it later.
      
      Note that crosstool-NG will *not* update your working copy, you will
      have to do that yourself.

endif # ! CONFIGURE_has_svn
if ! CONFIGURE_has_svn

comment "svn is missing. You'll have to either:"
comment "|  - have a pre-downloaded local tarball"
comment "|  - or have a LAN mirror with a pre-downloaded tarball"
comment "otherwise you won't be able to download eglibc"

endif # ! CONFIGURE_has_svn

config EGLIBC_OPT_SIZE
    bool
    prompt "optimize eglibc for size (-Os)"
    help
      Optimize eglibc for size using -Os instead of -O2. This will make eglibc
      smaller but may make it slower.

config EGLIBC_CUSTOM_CONFIG
    bool
    prompt "Use custom configuration file"
    help
      Use a custom configuration file to disable some features in the eglibc
      library. The configuration file options are described in detail in the
      option-groups.def file in the eglibc source directory.

if EGLIBC_CUSTOM_CONFIG
    config EGLIBC_OPTION_GROUPS_FILE
        string
        prompt "Path to the option-groups configuration file"
        default ""
        help
          Path to the option groups configuration file.

    config EGLIBC_BUNDLED_NSS_CONFIG
        bool
        prompt "Use bundled NSS config file"
        default y
        help
          Use minimal nsswitch configuration file bundled in eglibc.
          This option is only meaningful when runtime nss configuration
          is disabled in the option groups file.

    config EGLIBC_NSS_CONFIG_FILE
        string
        prompt "Path to the NSS config file"
        default ""
        depends on !EGLIBC_BUNDLED_NSS_CONFIG
        help
          Path to the nsswitch configuration file

    config EGLIBC_BUNDLED_NSS_FUNCTIONS
        bool
        prompt "Use bundled NSS functions file"
        default y
        help
          Use minimal nsswitch functions file bundled in eglibc.
          This option is only meaningful when runtime nss configuration
          is disabled in the option groups file.

    config EGLIBC_NSS_FUNCTIONS_FILE
        string
        prompt "Path to the NSS functions file"
        default ""
        depends on !EGLIBC_BUNDLED_NSS_FUNCTIONS
        help
          Path to the nsswitch functions file
endif
