RFR: JDK-8198844 Clean up GensrcX11Wrappers
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Feb 28 20:12:49 UTC 2018
My hunt on technical debt continues. This time my aim has been on the
sorry mess known as GensrcX11Wrappers.
I've disentangled it into two functions, one simple gensrc part that is
actually run during the build, and which involves just a simple java
tool and some pre-calculated data files, and a separate step for
updating those pre-calculated data files. This step is now run using
"make update-x11wrappers". It involves compiling a native binary, and
running it on the target platform, so just as before, this assumes that
you are not cross-compiling.
I'm not sure what role the "verification" step we had before ever
played. For all the years we've been "verifying" this, we've detected no
differences. In fact, as far as I understand, what we *really* would
need to verify against, is the X11 libraries on the runtime system, i.e.
where the users executes the JRE. But then again, we can assume that
this matches, just as anyone compiling with header files on one place
can assume that they can use the libraries elsewhere. The only reason,
as I see it, to keep the generation in the makefiles at all, is to
document how the files were generated, and to be ready for the need to
update the files if the list of datatypes in xlibtypes.txt changes.
More information about the build-dev