On Tue, May 19, 2026 at 1:10 AM Johan Corveleyn <[email protected]> wrote:
>
> On Tue, May 19, 2026 at 12:53 AM Johan Corveleyn <[email protected]> wrote:
> >
> > On Mon, May 4, 2026 at 4:19 AM <[email protected]> wrote:
> > >
> > > Author: brane
> > > Date: Mon May  4 02:19:20 2026
> > > New Revision: 1933796
> > >
> > > Log:
> > > Silence JavaHL compiler warnings about missing bootstrap classpath.
> > > Use the --release option instead of -source and -target if the Java
> > > compiler supports it.
> > >
> > > * build/ac-macros/java.m4
> > >   (SVN_FIND_JDK): Check the javac version and adjust flags accordingly.
> > >    If debugging is enabled, silence warnings about the target JVM version
> > >    8 (1.8) being deprecated.
> > >
> > > Modified:
> > >    subversion/trunk/build/ac-macros/java.m4
> > >
> > > Modified: subversion/trunk/build/ac-macros/java.m4
> > > ==============================================================================
> > > --- subversion/trunk/build/ac-macros/java.m4    Mon May  4 00:35:48 2026  
> > >       (r1933795)
> > > +++ subversion/trunk/build/ac-macros/java.m4    Mon May  4 02:19:20 2026  
> > >       (r1933796)
> > > @@ -166,12 +166,27 @@ AC_DEFUN(SVN_FIND_JDK,
> > >      # The release for "-source" could actually be greater than that
> > >      # of "-target", if we want to cross-compile for lesser JVMs.
> > >      if test -z "$JAVAC_FLAGS"; then
> > > -      JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.8"
> > > +      java_version=[`"$JDK/bin/javac" -version 2>&1 | $SED -e 
> > > 's/^[^0-9]*//' -e 's/\.[^.]*$//'`]
> > > +      java_major=[`echo $java_version | $SED -e 's/\.[^.]*$//'`]
> > > +      java_minor=[`echo $java_version | $SED -e 's/^[^.]*\.//'`]
> > > +      if test "$java_major" -eq 1 && test "$java_minor" -lt 9; then
> > > +        JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.8"
> > > +      else
> > > +        java_release=[`echo $JAVA_OLDEST_WORKING_VER | $SED -e 
> > > 's/^[^.]*\.//'`]
> > > +        JAVAC_FLAGS="--release $java_release"
> >
> > The sed pattern looks a bit tricky to me, it will only work as long as
> > $JAVA_OLDEST_WORKING_VER is of the form 1.x, or if there would be no
> > '.' at all.
> >
> > I see this value is only set in configure.ac:
> > [[[
> > # The minimum version for the JVM runtime for our Java bytecode.
> > JAVA_OLDEST_WORKING_VER='1.8'
> > # SVN_CHECK_JDK sets $JAVA_CLASSPATH
> > SVN_CHECK_JDK($JAVA_OLDEST_WORKING_VER)
> > ]]]
> >
> > I suppose whoever updates this someday will put '11' or '21' in there,
> > and not '11.0' or somesuch, but who knows.
> >
> > Maybe (only converting 1.x to x):
> >     java_release=[`echo $JAVA_OLDEST_WORKING_VER | $SED -e 's/^1\.//'`]
> > ?

Doh, you changed this in r1933892, so after that it looks perfect.
I should read all your backport proposals one after the other in the future :-).
(with that I've converted my -1 to +1 for this backport)

> >
> > > +      fi
> > > +
> > >        if test "$enable_debugging" = "yes"; then
> > >          JAVAC_FLAGS="-g -Xlint -Xlint:unchecked -Xlint:serial 
> > > -Xlint:path $JAVAC_FLAGS"
> > >          if test -z "$JAVAC_COMPAT_FLAGS"; then
> > >            JAVAC_COMPAT_FLAGS="$JAVAC_FLAGS -Xlint:-unchecked 
> > > -Xlint:-deprecation -Xlint:-dep-ann -Xlint:-rawtypes"
> > >          fi
> > > +      else
> > > +        dnl Ignore warnings about deprecated version 8 (from --release 8)
> > > +        JAVAC_FLAGS="-Xlint:options"
> > > +        if test -z "$JAVAC_COMPAT_FLAGS"; then
> > > +          JAVAC_COMPAT_FLAGS="$JAVAC_FLAGS"
> > > +        fi
> >
> > I'm a bit confused. In the commit message you said: "If debugging is
> > enabled, silence warnings about the target JVM version 8 (1.8) being
> > deprecated.". But the change above is in the else branch of checking
> > for $enable_debugging. Did you mean to say "If debugging is *not*
> > enabled" in your commit message?
> >
> > Or ... IIUC -Xlint:options does warn about problems with command line
> > options. From "javac --help-lint" (with openjdk 21):
> >     options              Warn about issues relating to use of command
> > line options.
> >
> > So perhaps here you intentionally enable warnings for "options" when
> > debugging is not enabled (and leave it to the recommended lint options
> > + (unchecked, serial, path) if debugging is enabled)?
>
> Ah, upon further crawling through the backport proposals I saw you
> changed this some more in r1933877. After that, I think it makes more
> sense. Still, I'd like to understand whether you wanted to suppress
> this warning for debug (as your commit message of r1933796 seems to
> say) or for non-debug mode (as r1933877 seems to implement) :-).

-- 
Johan

Reply via email to