[OpenJDK 2D-Dev] RFR: JDK-8003593: build-infra: Paths to optional platform-specific files should not be hardwired to src/closed

Phil Race philip.race at oracle.com
Fri Jul 1 17:59:38 UTC 2016


FWIW "CLOSED" implies better to me what this is about than "CUSTOM".


Regarding all the freetype symbols in here .. they aren't used in the 
Oracle JDK, so is there another
closed version of this file for the 'custom' source ?

57 ifdef OPENJDK
  458   BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
  459 else
  460   BUILD_LIBJAVAJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
  461   LIBJAVAJPEG_SRC += $(JDK_TOPDIR)/src/closed/java.desktop/share/native/libjavajpeg
  462 endif

Where is the closed replacement for this ? In another review you will send out internally ?

>  I have tested these changes extensively using the compare script and -testset buildinfra in JPRT
So this verifies the resulting "bits" are correct ?

  .. and that includes the various combinations you are providing  ?
- build openjdk in presence of only openjdk
- build oracle jdk in presence of open+closed
- build 'openjdk-only" in presence of open+closed


On 07/01/2016 10:47 AM, Erik Joelsson wrote:
> The separation between OpenJDK and Oracle's closed additions have 
> historically been quite messy. The build-infra project has tried to 
> improve on this, but failed in one regard, which was to hard code all 
> references to "closed" source instead of using a variable. I decided 
> to finally fix this. Along the way, I found that there weren't that 
> many references left in open makefiles, which is a good thing. OpenJDK 
> should not be tainted with Oracle specific stuff unnecessarily. So 
> then I decided to completely remove the last references as part of 
> fixing this bug. With this patch, the following is now in effect:
> * There is no longer a variable named "OPENJDK". That variable was 
> confusing and got in the way of other people trying to add custom 
> additions to the OpenJDK code base. In configure there is now only 
> "SUPPRESS_CUSTOM_SOURCE" which is set using the --enable-openjdk-only 
> option. This variable can be read by custom extensions to configure 
> and should be used to disable those custom extensions.
> * There is no Oracle specific logic left in open makefiles. All 
> customizations and references to custom source should be done in 
> custom makefiles, included using the IncludeCustomExtension macro. I 
> have converted the last uses of "ifndef OPENJDK" to such constructs.
> I have moved all Oracle specific mapfiles out of the open jdk repository.
> Specifically to 2d-dev reviewers, I have moved 
> jdk/src/java.desktop/share/classes/sun/dc/DuctusRenderingEngine.java 
> out of the open as well. This file has been explicitly excluded from 
> all open builds since forever AFAICT. I see no reason for it be in the 
> open. If someone would like to read the source outside of Oracle, it 
> will still be in the hg history.
> I have tested these changes extensively using the compare script and 
> -testset buildinfra in JPRT. This covers a wide variety of build 
> configurations so I feel pretty confident that it won't break anything.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8003593
> Webrev: http://cr.openjdk.java.net/~erikj/8003593/webrev.01/
> /Erik

More information about the 2d-dev mailing list