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