summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-06-30 05:40:50 (GMT)
committerAlexey Neyman <stilor@att.net>2017-07-08 17:57:56 (GMT)
commitb155ce6ab804df56cdeb5b89bdf89f805ef4d853 (patch)
tree8c15f88f3a1b38689b5ffc2033187af0c9a6c884
parentc7a924a0732bd2aefe9af1411da629ccc3f34811 (diff)
Encode GCC/ISL/CLooG requirements
Signed-off-by: Alexey Neyman <stilor@att.net>
-rw-r--r--config/cc/gcc.in11
-rw-r--r--config/companion_libs/cloog.in3
-rw-r--r--config/companion_libs/isl.in28
-rw-r--r--maintainer/kconfig-versions.template6
-rw-r--r--packages/cloog/package.desc2
-rw-r--r--packages/isl/package.desc2
6 files changed, 36 insertions, 16 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index cdcda9d..96e0b28 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -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
diff --git a/config/companion_libs/cloog.in b/config/companion_libs/cloog.in
index 3c92d52..b894de9 100644
--- a/config/companion_libs/cloog.in
+++ b/config/companion_libs/cloog.in
@@ -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"
diff --git a/config/companion_libs/isl.in b/config/companion_libs/isl.in
index cf0fea8..b617aa3 100644
--- a/config/companion_libs/isl.in
+++ b/config/companion_libs/isl.in
@@ -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
diff --git a/maintainer/kconfig-versions.template b/maintainer/kconfig-versions.template
index c8dfed7..c135091 100644
--- a/maintainer/kconfig-versions.template
+++ b/maintainer/kconfig-versions.template
@@ -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
diff --git a/packages/cloog/package.desc b/packages/cloog/package.desc
index ac3c29a..76252ae 100644
--- a/packages/cloog/package.desc
+++ b/packages/cloog/package.desc
@@ -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'
diff --git a/packages/isl/package.desc b/packages/isl/package.desc
index e4904d5..1efde40 100644
--- a/packages/isl/package.desc
+++ b/packages/isl/package.desc
@@ -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'