New jextract build released (22-jextract+6-47)
Jorn Vernee
jorn.vernee at oracle.com
Thu Nov 7 14:43:57 UTC 2024
Totally forgot to mention this, but as usual, the new builds can be
found at: https://jdk.java.net/jextract/
Jorn
On 7-11-2024 15:32, Jorn Vernee wrote:
> Hey all,
>
> We just published a new jextract build. We've added a new build for
> the Linux/AArch64 platform. Besides that, these are the other
> user-facing changes that are worth highlighting:
>
> 7903782: clang warnings and diagnostics below warning level should be
> logged as well [1]
> 7903779: unify logger messages to show position whenever possible [2]
> 7903776: jextract generates uncompilable code when C identifier with
> the name from "java.lang" classes is used [3]
> 7903777: jextract layout for enum with big constant values is wrong [4]
> 7903755: multi header support and special syntax for header file [5]
>
> I want to call special attention to the last entry in this list: It is
> no longer required to specify the full path of the header file you
> want to extract. The header file just has to be findable in one of the
> locations specified through the -I options. This should simplify the
> command line somewhat. It is also possible to use the form <foo.h> to
> pass a file to jextract (given sufficient shell quoting [6]). Doing
> this mimics the behavior of a header file included like #include
> <foo.h> within a C source file, which looks in a standard list of
> system directories for the included header file. Though the exact
> directories that are searched is platform dependent, it's possible to
> show the header file search directories by using a compile_flags.txt
> [7] file with the --verbose option. For example, by default, on my
> Windows machine, this prints something like:
>
> #include "..." search starts here:
> #include <...> search starts here:
> C:\<path to>\jextract\runtime\conf\jextract
> C:\<path to>\<current directory>
> C:\Program Files\Microsoft Visual
> Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include
> C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt
> C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared
> C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um
> C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt
> End of search list.
>
> This latest version of jextract still targets Java 22 as a baseline,
> but the generated bindings will work on Java 23 as well. If you find
> any issues with the new build, please report them back to this mailing
> list (jextract-dev at openjdk.org).
>
> Thanks,
> Jorn
>
> [1]: https://bugs.openjdk.org/browse/CODETOOLS-7903782
> [2]: https://bugs.openjdk.org/browse/CODETOOLS-7903779
> [3]: https://bugs.openjdk.org/browse/CODETOOLS-7903776
> [4]: https://bugs.openjdk.org/browse/CODETOOLS-7903777
> [5]: https://bugs.openjdk.org/browse/CODETOOLS-7903755
> [6]: '<foo.h>' in most shells, ^^<foo.h^^> in cmd.exe
> [7]:
> https://github.com/openjdk/jextract/blob/master/doc/GUIDE.md#additional-clang-options
>
More information about the jextract-dev
mailing list