oracle / graal

GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀
https://www.graalvm.org
Other
20.43k stars 1.64k forks source link

[GR-56345] Provide an `espresso-runtime-<RuntimeResourceId>` with UPL or GPL as the LICENSE? #9382

Open linghengqian opened 4 months ago

linghengqian commented 4 months ago

Feature request

Please include the following information:

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. E.g. I'm always frustrated when [...]

Describe the solution you'd like. A clear and concise description of what you want to happen.

Describe who do you think will benefit the most. GraalVM users, GraalVM contributors, developers of libraries and frameworks which depend on GraalVM, or somebody else?

Describe alternatives you've considered. A clear and concise description of any alternative solutions or features you've considered.

Additional context. Add any other context about the feature request here. For example, link to the relevant projects, documentation, standards.

Express whether you'd like to help contributing this feature If you'd like to contribute, please read the contribution guide.

fernando-valdez commented 4 months ago

Internal ticket: GR-56345

gilles-duboscq commented 4 months ago

Thanks for reaching out about this @linghengqian.

Note that you can use org.graalvm.polyglot:java instead of org.graalvm.polyglot:java-community, that would automatically bring in the necessary dependencies. It is licenced as GFTC so it's free even for production use. See the FAQ.

For GPL espresso-runtime-resource bits based on OpenJDK21 you'd need:

Maybe the GraalVM backport maintainers could publish those in the future? /cc @zakkak

There should be nothing special about the standard build. For the llvm build, you'll need a Sulong toolchain and build the JDK with that. Then you can point ESPRESSO_JAVA_HOME to the standard build and ESPRESSO_LLVM_JAVA_HOME to the llvm build. With that you should be able to build ESPRESSO_RUNTIME_RESOURCES. To get all platforms merged, you can use mx archive-pd-layouts/mx restore-pd-layouts and mx --multi-platform-layout-directories=... build. I can provide further details on how to build if necessary.

linghengqian commented 4 months ago