RFR: JDK-8165946: buildjdk logic is incomplete when separate sysroots needed

Gary Adams gary.adams at oracle.com
Tue Sep 13 12:19:15 UTC 2016


When the buildjdk logic was added to the jdk9 build system, it did not 
completely
cover the use cases required in the mobile/dev builds. We have been 
working around
this issue using a prebuilt macosx buildjdk with the --with-build-jdk 
autoconf option.
This is an awkward workaround, because the buildjdk had to be new enough 
to match the
requirements of the repos being built. e.g. jdk9 b132 included some 
newer command line
option in the jmod and jlink command build step.

This fix is a more permanent solution adding a --with-build-sysroot 
option to allow
an explicit reference to the sysroot to use on the build system. A 
similar call already exists
when --with-devkit and --with-build-devkit are used.

    JIRA: https://bugs.openjdk.java.net/browse/JDK-8165946
    Webrev: http://cr.openjdk.java.net/~gadams/8165946/wevrev.00/

This is an interim fix in the mobile/dev repos. Many of the platform 
specific checks will need to
be addressed before they can be targeted for the mainstream repos.

Here's an example of how this would be used for an ios-arm64 build :


export 
IOS_SDK_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
export 
MACOSX_SDK_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
...
configure \
...
     --with-sys-root=${IOS_SDK_PATH} \
     --with-build-sysroot=${MACOSX_SDK_PATH}





More information about the build-dev mailing list