bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Current requirements for Java


From: Bruno Haible
Subject: Re: Current requirements for Java
Date: Sun, 14 Oct 2018 22:24:31 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-137-generic; KDE/5.18.0; x86_64; ; )

Hi Akim,

> In Bison we have a Java backend.  We use gnulib to handle the
> Java tool chain.  In particular, in configure.ac we have
> 
> gt_JAVACOMP([1.3], [1.4])
> gt_JAVAEXEC
> 
> it worked like a charm for years.
> 
> Until macOS Mojave; Yu Yijun reported that we get:
> 
>   467. java.at:367: testing Calculator  ...
>   ./java.at:367: bison -fno-caret -o Calc.java Calc.y
>   ./java.at:367: $SHELL ../../../javacomp.sh Calc.java
>   stderr:
>   warning: [options] bootstrap class path not set in conjunction with -source 
> 1.3
>   error: Source option 1.3 is no longer supported. Use 1.6 or later.
>   error: Target option 1.4 is no longer supported. Use 1.6 or later.
> ...
> I have absolutely no idea what that change implies.  What are
> the other project based on gnulib that use this?  What is the
> current policy for updating the requirements?

The essential reference is the timeline of Java releases:
https://en.wikipedia.org/wiki/Java_version_history

As you can see, Java specification levels 1.3, 1.4, 1.5 are outdated for
more than 3 years. And level 1.6 will be outdated in December 2018.
So, why not move to
  gt_JAVACOMP([1.7], [1.7])
already now?

What this change implies?
  1) You must adapt your source code (or bison-generated code) to be compliant
     with Java 1.7. In particular, you cannot have variables or methods named
     'assert' any more, since this is a keyword since Java 1.4. And a couple
     of things like that.
  2) You cannot use GCJ as Java implementation any more, since it stayed
     at level 1.5 / 1.6 before it was discontinued. (It was dropped in GCC 7.)
  3) Users who want to use the compiled .class / .jar files will need Java 7
     or newer. But this is not a problem, since the industry has already
     moved from Java 6 to Java 7 (mostly).

Gettext moved from
  gt_JAVACOMP([1.3], [1.1])
to
  gt_JAVACOMP([1.5], [1.6])
recently, as a consequence of this bug report:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892733>

There is no policy; you update these gt_JAVACOMP invocations as you like.

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]