diff options
-rw-r--r-- | configure.ac | 23 | ||||
-rwxr-xr-x | tool/darwin-cc | 6 |
2 files changed, 25 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index bfe7c19ce8..e7f2131679 100644 --- a/configure.ac +++ b/configure.ac @@ -211,6 +211,18 @@ AS_CASE(["$build_os"], [xcc|x/usr/bin/cc], [: ${CXX=c++}], [xicc], [: ${CXX=icpc}], [xclang|x/usr/bin/clang], [: ${CXX=clang++}]) + + # Xcode linker warns for deprecated architecture and wrongly + # installed TBD files. + CC_WRAPPER="" + AS_IF([! $CC -E -xc - <<SRC >/dev/null 2>&1], [ + @%:@if defined __APPLE_CC__ && defined __clang_major__ && __clang_major__ >= 10 + @%:@error ignore linker warnings + @%:@endif +SRC + CC_WRAPPER=`PWD=; cd "$srcdir/tool" && pwd`/darwin-cc + CC="$CC_WRAPPER $CC" + ]) ]) test -z "$CXX" || ac_cv_prog_CXX="$CXX" @@ -398,10 +410,6 @@ RUBY_WERROR_FLAG([ ] ) - # now Xcode linker warns for deprecated architecture and wrongly - # installed TBD files. - AS_CASE(["$target_os"], [darwin*], [ac_c_werror_flag=]) - AC_MSG_CHECKING([whether LDFLAGS is valid]) { mkdir tmp.$$.try_link && @@ -3815,6 +3823,13 @@ PACKAGE=$RUBY_BASE_NAME AC_SUBST(PACKAGE) AS_MESSAGE([$PACKAGE library version = $ruby_version]) +AS_CASE(["$build_os"], [darwin1*.*], [ + AS_IF([test x"$CC_WRAPPER" != x], [ + CC="${CC@%:@$CC_WRAPPER }" + CPP="${CPP@%:@$CC_WRAPPER }" + ]) +]) + AS_CASE([" $CPP "], [*" $CC "*], [CPP=`echo " $CPP " | sed "s| $CC |"' $(CC) |;s/^ *//;s/ *$//'`]) AS_IF([test x"$firstmf" != x], [ diff --git a/tool/darwin-cc b/tool/darwin-cc new file mode 100755 index 0000000000..6eee96e435 --- /dev/null +++ b/tool/darwin-cc @@ -0,0 +1,6 @@ +#!/bin/bash +exec 2> >(exec grep -v \ + -e '^ld: warning: The [a-z0-9_][a-z0-9_]* architecture is deprecated for macOS' \ + -e '^ld: warning: text-based stub file /System/Library/Frameworks/' \ + >&2) +exec "$@" |