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-all
mailing list