# HG changeset patch # User vkempik # Date 1597088529 -10800 # Mon Aug 10 22:42:09 2020 +0300 # Node ID c738d3e6ae80dd1b0da3866da84cc85c1a18fb5b # Parent 1ddf5ae17b35ba0e1623c6be2243d1afe367d4ae 8250876: Fix issues with cross-compile on macos Reviewed-by: erikj, ihse diff --git a/make/autoconf/flags.m4 b/make/autoconf/flags.m4 --- a/make/autoconf/flags.m4 +++ b/make/autoconf/flags.m4 @@ -224,10 +224,12 @@ # We also need -iframework/System/Library/Frameworks $1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -iframework [$]$1SYSROOT/System/Library/Frameworks" $1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -iframework [$]$1SYSROOT/System/Library/Frameworks" - # These always need to be set, or we can't find the frameworks embedded in JavaVM.framework - # set this here so it doesn't have to be peppered throughout the forest - $1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks" - $1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks" + if test -d "[$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks" ; then + # These always need to be set on macOS 10.X, or we can't find the frameworks embedded in JavaVM.framework + # set this here so it doesn't have to be peppered throughout the forest + $1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks" + $1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks" + fi fi AC_SUBST($1SYSROOT_CFLAGS) diff --git a/make/autoconf/toolchain.m4 b/make/autoconf/toolchain.m4 --- a/make/autoconf/toolchain.m4 +++ b/make/autoconf/toolchain.m4 @@ -948,9 +948,14 @@ # FIXME: we should list the discovered compilers as an exclude pattern! # If we do that, we can do this detection before POST_DETECTION, and still # find the build compilers in the tools dir, if needed. - BASIC_REQUIRE_PROGS(BUILD_CC, [cl cc gcc]) + if test "x$OPENJDK_BUILD_OS" = xmacosx; then + BASIC_REQUIRE_PROGS(BUILD_CC, [clang cl cc gcc]) + BASIC_REQUIRE_PROGS(BUILD_CXX, [clang++ cl CC g++]) + else + BASIC_REQUIRE_PROGS(BUILD_CC, [cl cc gcc]) + BASIC_REQUIRE_PROGS(BUILD_CXX, [cl CC g++]) + fi BASIC_FIXUP_EXECUTABLE(BUILD_CC) - BASIC_REQUIRE_PROGS(BUILD_CXX, [cl CC g++]) BASIC_FIXUP_EXECUTABLE(BUILD_CXX) BASIC_PATH_PROGS(BUILD_NM, nm gcc-nm) BASIC_FIXUP_EXECUTABLE(BUILD_NM)