-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
TL;DR
Improve AWT support to use dynamic linking of the AWT native code libraries. Generalize the dynamic linking approach, which is currently used only on Windows, to all platforms. Drop the current static linking approach used for Linux
Goals
The current support for AWT on Windows uses dynamic linking of the native code libraries: the unmodified shared libraries of the JDK are loaded dynamically at image run time using the regular JNI mechanism. The only "downside" of this approach is that the shared libraries need to be shipped together with the application executable.
On Linux, currently a static linking approach is used: the AWT native code is linked statically into the application. This approach has significant compatibility issues and would require changes to the native code for future JDK versions and to support additional platforms. It is therefore a goal to remove the static linking approach on Linux and switch to the dynamic linking. Once dynamic linking is working on Windows and Linux, adding support for MacOS will be not much additional work.
Non-goals
- We will remove the current static linking approach used for Linux. This approach can be considered a failed experiment because it is not maintainable and has no significant benefits over the dynamic linking approach.
- It is not a goal to provide a complete reflection and resource registration of all parts of AWT. Each application still needs to provide its own registrations, which can be collected using the tracing agent.
Metadata
Metadata
Labels
Type
Projects
Status