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


erik,

SUPPRESS_CUSTOM_SOURCE"
FWIW "CLOSED" implies better to me what this is about than "CUSTOM".
Can't this be SUPPRESS_CLOSED_SOURCE ?

http://cr.openjdk.java.net/~erikj/8003593/webrev.01/jdk/make/mapfiles/libfontmanager/mapfile-vers.sdiff.html

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
  463

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

-phil.



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 build-dev mailing list