Newer versions of ld64 allow specifiying the OS target (e.g. macos or ios) the version and the SDK version all in a single command. This checks the availability of the command for the current toolchain.
tested on *-darwin*, x86_64-linux-gnu, pushed to master, thanks Iain Signed-off-by: Iain Sandoe <i...@sandoe.co.uk> gcc/ChangeLog: * config.in: Regenerate. * configure: Regenerate. * configure.ac: Test ld64 for -platform-version support. --- gcc/config.in | 6 ++++++ gcc/configure | 21 ++++++++++++++++++++- gcc/configure.ac | 16 +++++++++++++++- 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/gcc/configure.ac b/gcc/configure.ac index 065080a4b39..c9ee1fb8919 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -6253,6 +6253,7 @@ if test x"$ld64_flag" = x"yes"; then # Set defaults for possibly untestable items. gcc_cv_ld64_export_dynamic=0 + gcc_cv_ld64_platform_version=0 if test "$build" = "$host"; then darwin_try_test=1 @@ -6274,9 +6275,12 @@ if test x"$ld64_flag" = x"yes"; then AC_MSG_CHECKING(ld64 specified version) gcc_cv_ld64_major=`echo "$gcc_cv_ld64_version" | sed -e 's/\..*//'` AC_MSG_RESULT($gcc_cv_ld64_major) - if test "$gcc_cv_ld64_major" -ge 236; then + if test "$gcc_cv_ld64_major" -ge 236; then gcc_cv_ld64_export_dynamic=1 fi + if test "$gcc_cv_ld64_major" -ge 512; then + gcc_cv_ld64_platform_version=1 + fi elif test -x "$gcc_cv_ld" -a "$darwin_try_test" -eq 1; then # If the version was not specified, try to find it. AC_MSG_CHECKING(linker version) @@ -6291,6 +6295,13 @@ if test x"$ld64_flag" = x"yes"; then gcc_cv_ld64_export_dynamic=0 fi AC_MSG_RESULT($gcc_cv_ld64_export_dynamic) + + AC_MSG_CHECKING(linker for -platform_version support) + gcc_cv_ld64_platform_version=1 + if $gcc_cv_ld -platform_version macos 10.5 0.0 < /dev/null 2>&1 | grep 'unknown option' > /dev/null; then + gcc_cv_ld64_platform_version=0 + fi + AC_MSG_RESULT($gcc_cv_ld64_platform_version) fi if test x"${gcc_cv_ld64_version}" != x; then @@ -6300,6 +6311,9 @@ if test x"$ld64_flag" = x"yes"; then AC_DEFINE_UNQUOTED(LD64_HAS_EXPORT_DYNAMIC, $gcc_cv_ld64_export_dynamic, [Define to 1 if ld64 supports '-export_dynamic'.]) + + AC_DEFINE_UNQUOTED(LD64_HAS_PLATFORM_VERSION, $gcc_cv_ld64_platform_version, + [Define to 1 if ld64 supports '-platform_version'.]) fi if test x"$dsymutil_flag" = x"yes"; then -- 2.24.3 (Apple Git-128)