<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Maurizio,<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> <i>Hi Gavin, as soon as the PR [1] is integrated, we will make a jextract build available with it.</i></blockquote><div><br></div><div>Awesome, really looking forward to this!</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> <i>But, we're also exploring interim ways for developers to more easily build jextract, by "bootstrapping" the jextract 20 build with the 19 binary.</i><br>> <i>After all, the big issue when building jextract is getting the correct libclang dependency - but that doesn't change across jextract version.</i></blockquote><div><br></div><div>Building the JDK is definitely the most time-consuming/laborious part.</div><div>(Note: if anyone else reading this winds up wanting to do it, I put together a Dockerfile which installs all deps + will build the JDK automatically for you)</div><div><a href="https://gist.github.com/GavinRay97/778dd5c511030820020897568b63ee7f">https://gist.github.com/GavinRay97/778dd5c511030820020897568b63ee7f</a></div><div><br></div><div>At least for the LLVM toolchain, it's nice that you can use the shell script they provide and give it a version number, or copy the test from the jextract Github Action workflow here:<br></div><div><a href="https://github.com/openjdk/jextract/blob/73e408ec3f15fe1e615eeca434c2ce54627adeab/.github/workflows/test.yml#L72-L78">https://github.com/openjdk/jextract/blob/73e408ec3f15fe1e615eeca434c2ce54627adeab/.github/workflows/test.yml#L72-L78</a><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> <i>So, stay tuned, we might have more news soon!</i></blockquote><div><br></div><div>My ears will be peeled =) </div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 28, 2022 at 2:11 PM Maurizio Cimadamore <<a href="mailto:maurizio.cimadamore@oracle.com">maurizio.cimadamore@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hey Duncan,<br>
Note that we do have jextract binaries available:</p>
<p><a href="https://jdk.java.net/jextract/" target="_blank">https://jdk.java.net/jextract/</a></p>
<p>This works against a vanilla JDK 19.</p>
<p>When the first JDK 20 EA build with the new FFM API will come
out, the above page will be updated, and a link to jextract 20
will be added.</p>
<p>The Panama binary download page you indicated is effectively
obsolete, and it should probably be removed, to avoid confusion.<br>
</p>
<p>Maurizio<br>
</p>
<div>On 28/10/2022 17:37, Duncan Gittins
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Continuing the theme of Gavin's
request, I think you might get more people to try
out jextract and Panama if there were easy to find
download links in <a href="https://urldefense.com/v3/__https://jdk.java.net/panama/__;!!ACWV5N9M2RV99hQ!NwW3xcoQINXDkZUYrgkilaKazXBg7Lbny12740ULMd93Kt9K294BZxGybUuFG_wLac9iDuQ8pzIdwG8Os7Vqo-fi_I3YxzoF$" target="_blank">https://jdk.java.net/panama/</a>
for versions aligned the shipped JDK 17/18/19. </div>
<div dir="ltr"><br>
</div>
<div>This means a developer could try samples for the
JDK version they already have installed without
needing to build either JDK or jextract themselves.
Hopefully it only needs posting every 6 months.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Kind regards<br>
</div>
<div><br>
</div>
<div>Duncan</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, 28 Oct 2022 at 00:56,
Gavin Ray <<a href="mailto:ray.gavin97@gmail.com" target="_blank">ray.gavin97@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Hooray!
<div><br>
</div>
<div>By any chance, will there be a new release of the
Panama 20ea JDK and jextract binaries as well?</div>
<div>I've had quite some difficulties getting jextract on 20
built and it'd be swell to rebase some of the work I've
done on the more recent API changes.</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Oct 27, 2022 at
2:30 PM Mark Reinhold <<a href="mailto:mark.reinhold@oracle.com" target="_blank">mark.reinhold@oracle.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><a href="https://openjdk.org/jeps/434" rel="noreferrer" target="_blank">https://openjdk.org/jeps/434</a><br>
<br>
Summary: Introduce an API by which Java programs can
interoperate with<br>
code and data outside of the Java runtime. By
efficiently invoking<br>
foreign functions (i.e., code outside the JVM), and by
safely accessing<br>
foreign memory (i.e., memory not managed by the JVM),
the API enables<br>
Java programs to call native libraries and process
native data without<br>
the brittleness and danger of JNI. This is a preview
API.<br>
<br>
- Mark</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote></div>