svn commit: r364191 - head/share/mk

Alex Richardson arichardson at FreeBSD.org
Thu Aug 13 14:14:54 UTC 2020


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


More information about the svn-src-head mailing list