RFR: 8227808: Make GTK3 libraries mandatory for building on Linux
Ambarish Rapte
arapte at openjdk.java.net
Thu Dec 5 08:12:02 UTC 2019
On Thu, 5 Dec 2019 07:36:31 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:
> Need for the change [[JDK-8227808](https://bugs.openjdk.java.net/browse/JDK-8227808)]:
> Currently GTK3 is the default on Linux. However, there is build logic that will skip building glassgtk3 if the gtk3 development libraries are not installed. This creates a situation where the build will succeed, but the resulting JavaFX library will fail to run unless you explicitly force GTK2 with "-Djdk.gtk.version=2".
>
> How to verify the change:
> On a Linux system without gtk2 and gtk3 packages,
> 1. Clone jfx and run gradle sdk.
> -> Build should fail with an error for missing GTK3 packages.
>
> 2. Install gtk3 packages, remove build directory and run gradle clean sdk.
> -> Build should fail with an error for missing GTK2 packages.
>
> 3. Install gtk2 packages, remove build directory and run gradle clean sdk.
> -> Build should finish without any error.
>
> Build verification:
> 1. Run a JavaFX application with -Djdk.gtk.verbose=true
> Verify the verbose message, the default glassgtk3 library should be used.
>
> 2. Run a JavaFX application with -Djdk.gtk.verbose=true -Djdk.gtk.version=2
> Verify the verbose message, glassgtk2 library should be used.
>
> 3. Run a JavaFX application with -Djdk.gtk.verbose=true -Djdk.gtk.version=3
> Verify the verbose message, glassgtk3 library should be used.
>
> ----------------
>
> Commits:
> - 57157900: 8227808: Make GTK3 libraries mandatory for building on Linux
>
> Changes: https://git.openjdk.java.net/jfx/pull/61/files
> Webrev: https://webrevs.openjdk.java.net/jfx/61/webrev.00
> Issue: https://bugs.openjdk.java.net/browse/JDK-8227808
> Stats: 18 lines in 1 file changed: 0 ins; 10 del; 8 mod
> Patch: https://git.openjdk.java.net/jfx/pull/61.diff
> Fetch: git fetch https://git.openjdk.java.net/jfx pull/61/head:pull/61
buildSrc/linux.gradle line 138:
> 137: gtk3CCFlags.addAll(cflagsGTK3.split(" "))
> 138: gtk3LinkFlags.addAll(libsGTK3.split(" "))
> 139: } else {
Here only variable names are changed to make them similar to the names used for gtk2 code.
PR: https://git.openjdk.java.net/jfx/pull/61
More information about the openjfx-dev
mailing list