Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Aug 2020 14:14:51 +0000 (UTC)
From:      Alex Richardson <arichardson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r364191 - head/share/mk
Message-ID:  <202008131414.07DEEpeo002851@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arichardson
Date: Thu Aug 13 14:14:51 2020
New Revision: 364191
URL: https://svnweb.freebsd.org/changeset/base/364191

Log:
  Make bsd.linker.mk work with the MacOS linker
  
  This is not strictly required for crossbuilding but having lots of warnings
  from bsd.linker.mk in the output was making it hard to see the actual
  warning messages.
  
  Reviewed By:	imp
  Differential Revision: https://reviews.freebsd.org/D14318

Modified:
  head/share/mk/bsd.linker.mk

Modified: head/share/mk/bsd.linker.mk
==============================================================================
--- head/share/mk/bsd.linker.mk	Thu Aug 13 14:14:46 2020	(r364190)
+++ head/share/mk/bsd.linker.mk	Thu Aug 13 14:14:51 2020	(r364191)
@@ -58,7 +58,7 @@ ${var}=	${${var}__${${X_}_ld_hash}}
 
 .if ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD})
 .if !defined(${X_}LINKER_TYPE) || !defined(${X_}LINKER_VERSION)
-_ld_version!=	(${${ld}} --version || echo none) | sed -n 1p
+_ld_version!=	(${${ld}} -v 2>&1 || echo none) | sed -n 1p
 .if ${_ld_version} == "none"
 .warning Unable to determine linker type from ${ld}=${${ld}}
 .endif
@@ -73,6 +73,17 @@ _v=	${_ld_version:[2]}
 ${X_}LINKER_FREEBSD_VERSION:=	${_ld_version:[4]:C/.*-([^-]*)\)/\1/}
 .else
 ${X_}LINKER_FREEBSD_VERSION=	0
+.endif
+.elif ${_ld_version:[1]} == "@(\#)PROGRAM:ld"
+# bootstrap linker on MacOS
+${X_}LINKER_TYPE=        mac
+_v=        ${_ld_version:[2]:S/PROJECT:ld64-//}
+# Convert version 409.12 to 409.12.0 so that the echo + awk below works
+.if empty(_v:M[1-9]*.[0-9]*.[0-9]*) && !empty(_v:M[1-9]*.[0-9]*)
+_v:=${_v}.0
+.else
+# Some versions do not contain a minor version so we need to append .0.0 there
+_v:=${_v}.0.0
 .endif
 .else
 .warning Unknown linker from ${ld}=${${ld}}: ${_ld_version}, defaulting to bfd



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008131414.07DEEpeo002851>