>From 0782fa4dc036a709d5501a8712c5331489c28be9 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Wed, 26 Sep 2018 22:14:07 +0200 Subject: [PATCH 2/2] javacomp-script, javacomp: Add preliminary support for Java 12..17. * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11. * lib/javacomp.c (default_target_version): Likewise. --- ChangeLog | 6 ++++++ lib/javacomp.c | 17 ++++++++++++++--- m4/javacomp.m4 | 4 ++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3dad3ae..45d85f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2018-09-26 Bruno Haible + javacomp-script, javacomp: Add preliminary support for Java 12..17. + * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11. + * lib/javacomp.c (default_target_version): Likewise. + +2018-09-26 Bruno Haible + javacomp-script, javacomp: Add support for Java 11. * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and target-version 11. diff --git a/lib/javacomp.c b/lib/javacomp.c index 1c08ec6..9d5b249 100644 --- a/lib/javacomp.c +++ b/lib/javacomp.c @@ -98,8 +98,9 @@ default_target_version (void) { /* Determine the version from the found JVM. */ java_version_cache = javaexec_version (); - if (java_version_cache == NULL - || !((java_version_cache[0] == '1' + if (java_version_cache == NULL) + java_version_cache = "1.1"; + else if ((java_version_cache[0] == '1' && java_version_cache[1] == '.' && java_version_cache[2] >= '1' && java_version_cache[2] <= '8' && java_version_cache[3] == '\0') @@ -108,7 +109,17 @@ default_target_version (void) || (java_version_cache[0] == '1' && (java_version_cache[1] >= '0' && java_version_cache[1] <= '1') - && java_version_cache[2] == '\0'))) + && java_version_cache[2] == '\0')) + /* It's one of the valid target version values. */ + ; + else if (java_version_cache[0] == '1' + && (java_version_cache[1] >= '2' + && java_version_cache[1] <= '7') + && java_version_cache[2] == '\0') + /* Assume that these (not yet released) Java versions will behave + like the preceding ones. */ + java_version_cache = "11"; + else java_version_cache = "1.1"; } return java_version_cache; diff --git a/m4/javacomp.m4 b/m4/javacomp.m4 index 97b7a17..1d0cf25 100644 --- a/m4/javacomp.m4 +++ b/m4/javacomp.m4 @@ -127,6 +127,10 @@ changequote([,])dnl }` case "$target_version" in 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 9 | 10 | 11) ;; + 12 | 13 | 14 | 15 | 16 | 17) + dnl Assume that these (not yet released) Java versions will behave + dnl like the preceding ones. + target_version=11 ;; null) dnl JDK 1.1.X returns null. target_version=1.1 ;; -- 2.7.4