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

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Oct 5 11:18:24 UTC 2015


On 2015-10-05 11:50, Erik Joelsson wrote:
> Here is a new webrev where I cleaned up the macosx sysroot flags logic:
>
> http://cr.openjdk.java.net/~erikj/8138694/webrev.top.02/
Great, thanks!

Looks good now.

/Magnus
>
> /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