RFR: JDK-8138694: Devkit build on Macosx still requires Xcode to be installed

Erik Joelsson erik.joelsson at oracle.com
Mon Oct 5 09:50:38 UTC 2015


Here is a new webrev where I cleaned up the macosx sysroot flags logic:

http://cr.openjdk.java.net/~erikj/8138694/webrev.top.02/

/Erik

On 2015-10-02 17:14, Magnus Ihse Bursie wrote:
> On 2015-10-02 15:34, Erik Joelsson wrote:
>> Hello,
>>
>> While trying the macosx build using devkits again, I happened to be 
>> on a system where some Xcode install/update error had left the 
>> /usr/include directory missing. This shouldn't be an issue since we 
>> have all the necessary include files in the SDK inside the 
>> devkit/Xcode application.
>>
>> Getting this to work required several changes and cleanups that will 
>> actually improve build consistency overall. It will also guarantee 
>> that we use the correct system headers in all cases.
>>
>> * Setup SYSROOT_*FLAGS before detecting toolchain and make those 
>> flags available to the configure toolchain tests.
>> * Setup the user supplied extra flags before toolchain detection so 
>> that those are also used during configure toolchain tests.
>> * When not cross compiling, use the SYSROOT_*FLAGS also when 
>> compiling build tools, like adlc in hotspot, and gensrc tools in jdk.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8138694
>> Webrev: http://cr.openjdk.java.net/~erikj/8138694/webrev.top.01/
>
> Your changes looks good. However, I notice that there is a problem 
> with the code that you moved. In FLAGS_SETUP_SYSROOT_FLAGS, there is a 
> test:
>
> elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
> # Apple only wants -isysroot <path>, but we also need 
> -iframework<path>/System/Library/Frameworks
> SYSROOT_CFLAGS="-isysroot $SYSROOT -iframework 
> $SYSROOT/System/Library/Frameworks"
> SYSROOT_LDFLAGS=$SYSROOT_CFLAGS
>
> but this is incorrect. Remove this and instead add the -iframework 
> stuff at the end. There is already a macosx test for adding framework 
> flags, the -iframework addition fits in perfect there.
>
> /Magnus




More information about the build-dev mailing list