#!// This file is not automatically generated, but we want this banner to
#!// appear in the files produced from it.
#
# DO NOT EDIT! This file is automatically generated.
#

# The component directory name
config @@master|@@_DIR_NAME
    string
    default "@@master@@"

#!if [ "@@nforks@@" -ge 2 ]

choice
    bool "Show @@master@@ versions from"

#!foreach fork
config @@master|@@_USE_@@origin|@@
    bool "@@origin@@"
#!if [ -n "@@only_obsolete@@" ]
    depends on OBSOLETE
#!end-if
#!if [ -n "@@only_experimental@@" ]
    depends on EXPERIMENTAL
#!end-if
    help
@@originhelp@@

#!end-foreach
endchoice

config @@master|@@_USE
    string
#!foreach fork
    default "@@fork|@@" if @@master|@@_USE_@@origin|@@
#!end-foreach

#!end-if

#!foreach fork
#!if [ "@@nforks@@" -ge 2 ]
if @@master|@@_USE_@@origin|@@
#!end-if

config @@fork|@@_PKG_NAME
    string
    default "@@pkg_name@@"

#!// If a project makes official releases, using "bleeding edge"
#!// from a development repository is experimental. However, there
#!// are projects that consider its HEAD a "rolling release". For
#!// those, checking out from a repository is the regular method.
choice
    bool "Source of @@pkg_label@@"

#!if [ "@@#version@@" -gt 0 ] && [ "@@src_release@@" != "n" ]
config @@fork|@@_SRC_RELEASE
    bool "Released tarball"
    help
      Download a released tarball.

#!end-if
config @@fork|@@_SRC_DEVEL
    bool "Vendor/custom repository"
    help
      Check out from a repository.
#!if [ -n "@@repository@@" ]
      Default is the vendor repository at @@repository_url@@
#!end-if

config @@fork|@@_SRC_CUSTOM
    bool "Custom location"
    depends on EXPERIMENTAL
    help
      Custom directory or tarball.

endchoice

if @@fork|@@_SRC_DEVEL

choice
    bool "VCS type"
#!if [ -n "@@repository@@" ]
    default @@fork|@@_DEVEL_VCS_@@vcs@@
#!end-if
    help
      Version control system from which the sources will be checked out.
      The default value points to the development repository for @@pkg_label@@.

config @@fork|@@_DEVEL_VCS_git
    bool "Git"

config @@fork|@@_DEVEL_VCS_svn
    bool "Subversion"

config @@fork|@@_DEVEL_VCS_hg
    bool "Mercurial"

config @@fork|@@_DEVEL_VCS_cvs
    bool "CVS"

endchoice

config @@fork|@@_DEVEL_VCS
    string
    default "git" if @@fork|@@_DEVEL_VCS_git
    default "svn" if @@fork|@@_DEVEL_VCS_svn
    default "hg" if @@fork|@@_DEVEL_VCS_hg
    default "cvs" if @@fork|@@_DEVEL_VCS_cvs

config @@fork|@@_DEVEL_URL
    string "Repository URL"
#!if [ -n "@@repository@@" ]
    default "@@repository_url@@"
#!end-if
    help
      Repository URL.

      For CVS, enter both the value of CVS root and the module name, separated
      by a space.

config @@fork|@@_DEVEL_BRANCH
    string "Branch/tag to check out"
#!foreach version if-differs repository_branch
    default "@@repository_branch@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@repository_branch@@"
    help
      Git/CVS: branch/tag to be checked out
      Subversion: directories to append to the repository URL (i.e. branch or tag)
      Mercurial: official guide recommends using separate repositories to maintain
      stable branches. You likely need to change the repository URL, rather than
      enter anything here.

config @@fork|@@_DEVEL_REVISION
    string "Revision/changeset"
#!foreach version if-differs repository_cset
    default "@@repository_cset@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@repository_cset@@"
    help
      Commit ID or revision ID to check out.
      Git: enter the commit ID to check out a commit.
      CVS: enter the date in "YYYY/MM/DD HH:MM:SS" format (UTC) to check out certain date.
      Subversion: enter the revision.

config @@fork|@@_DEVEL_SUBDIR
    string "Subdirectory in the repository"
#!foreach version if-differs repository_subdir
    default "@@repository_subdir@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@repository_subdir@@"
    help
      Some projects produce releases not from the top-level directory in the
      repository, but rather from some subdirectory. If it is the case,
      specify this subdirectory here.

config @@fork|@@_DEVEL_BOOTSTRAP
    string "Bootstrap command"
#!foreach version if-differs bootstrap
    default "@@bootstrap@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@bootstrap@@"
    help
      Command to run after checking out. Some projects don't store the generated
      files like configure script in the repository; building out of a checked out
      working copy thus requires some extra steps. Separate multiple shell commands
      with &&.

endif

if @@fork|@@_SRC_CUSTOM

config @@fork|@@_CUSTOM_LOCATION
    string "Custom source location"
    help
      Path to the directory or tarball with the sources.

endif

if EXPERIMENTAL
choice
    bool "@@pkg_label@@ patches origin"
    default @@fork|@@_PATCH_GLOBAL

config @@fork|@@_PATCH_GLOBAL
    bool "Per global policy"

config @@fork|@@_PATCH_BUNDLED
    bool "Bundled only"

config @@fork|@@_PATCH_LOCAL
    bool "Local only"
    select PATCH_USE_LOCAL

config @@fork|@@_PATCH_BUNDLED_LOCAL
    bool "Bundled, then local"
    select PATCH_USE_LOCAL

config @@fork|@@_PATCH_LOCAL_BUNDLED
    bool "Local, then bundled"
    select PATCH_USE_LOCAL

config @@fork|@@_PATCH_NONE
    bool "None"

endchoice
endif

config @@fork|@@_PATCH_ORDER
    string
    default "bundled" if @@fork|@@_PATCH_BUNDLED
    default "local" if @@fork|@@_PATCH_LOCAL
    default "bundled,local" if @@fork|@@_PATCH_BUNDLED_LOCAL
    default "local,bundled" if @@fork|@@_PATCH_LOCAL_BUNDLED
    default "none" if @@fork|@@_PATCH_NONE
    default "global"

#!// Below, we explicitly select all milestones to which a given version
#!// compares greater-or-equal. We don't select just the latest applicable
#!// (and letting milestones chain-select each other, with FOO_6_or_later
#!// selecting FOO_5_or_later and so on) so that we can handle the cases
#!// where we need to identify a range of releases on a branch, for example,
#!// "all FOO releases after 4.9.1 but before 4.9.3".
#!//
#!if [ "@@#version@@" -gt 0 -a -z "@@versionlocked@@" ]
choice
    bool "Version of @@pkg_label@@"
    help
      For a released version, select the version of @@pkg_label@@ to download
      and build. For sources out of the vendor repository or from a custom
      location, select the version that describes those custom sources.
      Based on this version, crosstool-NG may apply some version-specific
      quirks while building @@pkg_label@@.

config @@fork|@@_VERY_NEW
    bool "newer than anything below"
    depends on EXPERIMENTAL
    depends on @@fork|@@_SRC_DEVEL || @@fork|@@_SRC_CUSTOM
#!foreach milestone
    select @@master|@@_@@ms|@@_or_later
    select @@master|@@_later_than_@@ms|@@
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_older
    depends on !@@master|@@_REQUIRE_older_than_@@ms|@@
#!end-foreach

#!foreach version
config @@fork|@@_V_@@ver_sel|@@
    bool "@@ver@@@@obsolete? (OBSOLETE)@@@@experimental? (EXPERIMENTAL)@@"
#!if [ "@@obsolete@@" = "yes" ]
    depends on OBSOLETE
#!end-if
#!if [ "@@experimental@@" = "yes" ]
    depends on EXPERIMENTAL
#!end-if
#!foreach milestone
#!if [ "@@version_cmp_milestone@@" -gt 0 ]
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_older
    select @@master|@@_later_than_@@ms|@@
#!end-if
#!if [ "@@version_cmp_milestone@@" -ge 0 ]
    depends on !@@master|@@_REQUIRE_older_than_@@ms|@@
    select @@master|@@_@@ms|@@_or_later
#!end-if
#!if [ "@@version_cmp_milestone@@" -le 0 ]
    depends on !@@master|@@_REQUIRE_later_than_@@ms|@@
    select @@master|@@_@@ms|@@_or_older
#!end-if
#!if [ "@@version_cmp_milestone@@" -lt 0 ]
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_later
    select @@master|@@_older_than_@@ms|@@
#!end-if
#!end-foreach

#!end-foreach
config @@fork|@@_VERY_OLD
    bool "older than anything above"
    depends on OBSOLETE && EXPERIMENTAL
    depends on @@fork|@@_SRC_DEVEL || @@fork|@@_SRC_CUSTOM
#!foreach milestone
    select @@master|@@_@@ms|@@_or_older
    select @@master|@@_older_than_@@ms|@@
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_later
    depends on !@@master|@@_REQUIRE_later_than_@@ms|@@
#!end-foreach

endchoice

# A flag indicating that no valid selections exist for the version.
# This may happen if there are conflicting requirements set by
# the host system and/or other packages.
config @@fork|@@_NO_VERSIONS
    bool
    select INVALID_CONFIGURATION
    default n if @@fork|@@_VERY_NEW
#!foreach version
    default n if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default n if @@fork|@@_VERY_OLD
    default y

if @@fork|@@_NO_VERSIONS
comment "WARNING!"
comment "|  The @@master@@ package has no viable versions"
comment "|  due to conflicting constraints."
endif

#!end-if

#!if [ -n "@@versionlocked@@" ]
#!foreach version
config @@fork|@@_V_@@ver_sel|@@
    def_bool y
    depends on @@versionlocked|@@_V_@@ver_sel|@@

#!end-foreach
#!end-if

config @@fork|@@_VERSION
    string
#!foreach version
    default "@@ver@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "new" if @@fork|@@_VERY_NEW
    default "old" if @@fork|@@_VERY_OLD
    default "unknown"

#!if [ "@@#version@@" -gt 0 ] && [ "@@src_release@@" != "n" ]
config @@fork|@@_MIRRORS
    string
#!foreach version if-differs mirrors
    default "@@mirrors@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@mirrors@@"

config @@fork|@@_ARCHIVE_FILENAME
    string
#!foreach version if-differs archive_filename
    default "@@archive_filename@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@archive_filename@@"

config @@fork|@@_ARCHIVE_DIRNAME
    string
#!foreach version if-differs archive_dirname
    default "@@archive_dirname@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@archive_dirname@@"

config @@fork|@@_ARCHIVE_FORMATS
    string
#!foreach version if-differs archive_formats
    default "@@archive_formats@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@archive_formats@@"

config @@fork|@@_SIGNATURE_FORMAT
    string
#!foreach version if-differs signature_format
    default "@@signature_format@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@signature_format@@"

#!end-if

#!if [ "@@nforks@@" -ge 2 ]
endif
#!end-if

#!end-foreach

#!foreach milestone
#!// Milestones selected by a chosen version of this package
config @@master|@@_later_than_@@ms|@@
    bool

config @@master|@@_@@ms|@@_or_later
    bool

config @@master|@@_@@ms|@@_or_older
    bool

config @@master|@@_older_than_@@ms|@@
    bool

#!// Milestone requirements selected by other packages that restrict
#!// the choices in this package
config @@master|@@_REQUIRE_later_than_@@ms|@@
    bool

config @@master|@@_REQUIRE_@@ms|@@_or_later
    bool

config @@master|@@_REQUIRE_@@ms|@@_or_older
    bool

config @@master|@@_REQUIRE_older_than_@@ms|@@
    bool

#!end-foreach
