Encode GCC/ISL/CLooG requirements

Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
Alexey Neyman 2017-06-29 22:40:50 -07:00
parent c7a924a073
commit b155ce6ab8
6 changed files with 36 additions and 16 deletions

View File

@ -8,6 +8,17 @@
## select CC_SUPPORT_OBJC
## select CC_SUPPORT_OBJCXX
## select CC_SUPPORT_GOLANG
# GCC7 requires ISL 0.15+
## select ISL_REQUIRE_0_15_or_later if ISL_NEEDED && GCC_7_or_later
# GCC6 requires ISL 0.14+ (it says 0.14-0.16, but accepts newer ISL as well)
## select ISL_REQUIRE_0_14_or_later if ISL_NEEDED && GCC_6_or_later
# GCC5 requires ISL 0.12+ (again, it says 0.12-0.16, but also accepts newer ISL)
## select ISL_REQUIRE_0_12_or_later if ISL_NEEDED && GCC_5_or_later
# GCC4.9 requires ISL 0.10..0.15
# GCC4.8 requires ISL 0.10..0.14
## select ISL_REQUIRE_0_10_or_later if ISL_NEEDED && GCC_4_8_or_later
## select ISL_REQUIRE_0_15_or_older if ISL_NEEDED && GCC_4_9_or_later && !GCC_5_or_later
## select ISL_REQUIRE_0_14_or_older if ISL_NEEDED && GCC_4_8_or_later && !GCC_4_9_or_later
##
## help gcc is the full-blown GNU compiler. This is what most people will choose.
## help

View File

@ -1,9 +1,8 @@
# CLooG options
## depends on OBSOLETE
# TBD: encode these version requirements - how?
# CLooG 0.18.4 requires ISL 0.12 or newer
# CLooG 0.18.1/0.18.0 frequires ISL 0.12 or older
# CLooG 0.18.1/0.18.0 requires ISL 0.12 or older
source "config/versions/cloog.in"

View File

@ -1,19 +1,23 @@
# ISL options
# TBD need to encode this with new framework
# GCC 4.8 supports ISL 0.10 to 0.14
# GCC 4.9 supports ISL 0.10 to 0.15
# GCC 5 supports ISL 0.12 to 0.16
# GCC 6 supports ISL 0.14 to 0.16
# GCC 7 supports ISL 0.15 and up
# Starting with GCC 5, GCC's configure no longer checks the ISL version explicitly,
# despite what the configure's message says ("checking for isl 0.15 or 0.16").
# Instead, it verifies that certain interfaces are available, so it accepts 0.17.1
# or 0.18 under that check. Include them as experimental just in case anyone needs
# the bugfixes in these releases.
# FIXME these currently have no effect
## select CLOOG_REQUIRE_0_18_1_or_older if !ISL_0_12_or_later
## select CLOOG_REQUIRE_0_18_4_or_later if !ISL_0_14_or_older
source "config/versions/isl.in"
# FIXME should be auto-generated once companion libs are using gen-kconfig (and hence, ## syntax)
config ISL_CLOOG_auto_select_1
def_bool y
depends on CLOOG_NEEDED && !ISL_0_12_or_later
select CLOOG_REQUIRE_0_18_1_or_older
# FIXME should be auto-generated once companion libs are using gen-kconfig (and hence, ## syntax)
config ISL_CLOOG_auto_select_2
def_bool y
depends on CLOOG_NEEDED && !ISL_0_13_or_older
select CLOOG_REQUIRE_0_18_4_or_later
# TBD 0.12.2 should allow both!
config ISL_NEEDS_WITH_GMP
bool
default y if !ISL_0_12_or_later

View File

@ -213,6 +213,9 @@ config @@pfx@@_V_@@kcfg@@
#!if [ "@@version_cmp_milestone@@" -ge 0 ]
select @@masterpfx@@_@@ms_kcfg@@_or_later
#!end-if
#!if [ "@@version_cmp_milestone@@" -le 0 ]
select @@masterpfx@@_@@ms_kcfg@@_or_older
#!end-if
#!if [ "@@version_cmp_milestone@@" -gt 0 ]
depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_older
#!end-if
@ -260,6 +263,9 @@ endif
config @@masterpfx@@_@@ms_kcfg@@_or_later
bool
config @@masterpfx@@_@@ms_kcfg@@_or_older
bool
#!// Milestone requirements selected by other packages that restrict
#!// the choices in this package
config @@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_later

View File

@ -1,4 +1,4 @@
name='CLooG'
repository='git git://repo.or.cz/cloog.git'
mirrors='http://www.bastoul.net/cloog/pages/download ftp://gcc.gnu.org/pub/gcc/infrastructure'
milestones='0.18'
milestones='0.18 0.18.1 0.18.4'

View File

@ -1,4 +1,4 @@
repository='git git://repo.or.cz/isl.git'
bootstrap='./autogen.sh'
mirrors='http://isl.gforge.inria.fr'
milestones='0.12 0.14'
milestones='0.12 0.13 0.14 0.15'