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.

Bug: https://bugs.openjdk.java.net/browse/JDK-8198844
WebRev: 
http://cr.openjdk.java.net/~ihse/JDK-8198844-clean-up-GensrcX11Wrappers/webrev.01

/Magnus




More information about the build-dev mailing list