OpenJDK11 build on macOS with autoconf 2.72 / -std=gnu++11 option
Baesken, Matthias
matthias.baesken at sap.com
Thu Jan 4 13:14:10 UTC 2024
>So autoconf forcibly selects a -std= option, possibly overriding either an
>explicit option or the compiler's default. Who thought that was a good idea?
>There are even comments from the time that question that "feature".
>
>It looks like there is code to attempt to deal with that sort of thing in our
>build system. See TOOLCHAIN_POST_DETECTION in make/autoconf/toolchain.m4. That
>dates back to JDK 9. However, that only deals with CFLAGS and CXXFLAGS. The
>AC_PROG_CC/CXX feature affects the CC/CXX variables. Bleh!
Hi Kim, it is not a nice thing; probably the CXX could be overwritten when settings the CXX env variable before running configure ?
>But I wonder why our explicit -std=gnu++98 (or whatever we were using) doesn't
>override that. In the command lines are you seeing
>
> "g++ ... -std=gnu++11 ... -std=c++14"
It is Openjdk11 ; I only see the -std=gnu++11 in the Hotspot compilation units. Only the harfbuzz files have the -std=gnu++11 ... -std=c++11 so there it is overwritten ,
but looks like it compiles without issues with those settings in Hotspot (as long as PCH is disabled) .
>I have no idea why disabling PCH might change things in this area.
Good question, seems there is something 'special' with PCH .
Best regards, Matthias
More information about the build-dev
mailing list