crosstool-ng/maintainer/kconfig-versions.template
Egeyar 7fdb7665f7 Support released versions from Git branches
* Do not assume a release has a tarball if src_release is set to "n".
 * Do not assume versions in repositories are all experimental.
 * Allow versions to define their default repository_branch,
   repository_cset, repository_subdir and bootstrap.
 * Do not expect mirrors, archive_filename, archive_dirname,
   archive_formats and signature_format from a version if src_release
   is set to "n".
 * Add version_number to allow version names to be different than the
   version number. When given, use version_number to compare against
   the milestones.

Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
2020-11-23 19:47:13 +13:00

401 lines
11 KiB
Plaintext

#!// 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
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
config @@fork|@@_SRC_CUSTOM
bool "Custom location"
depends on EXPERIMENTAL
help
Custom directory or tarball.
if @@fork|@@_SRC_CUSTOM
config @@fork|@@_CUSTOM_LOCATION
string "Custom source location"
help
Path to the directory or tarball with the sources.
endif
endchoice
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