summaryrefslogtreecommitdiffstats
path: root/share/mk
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2015-11-13 01:47:56 +0000
committerbdrewery <bdrewery@FreeBSD.org>2015-11-13 01:47:56 +0000
commit33468f235abe8c6601085122e21b61a524d4c8dc (patch)
tree6ce5eedb7f0799bdac6ae86d20b4d852b8158e6e /share/mk
parentd484c089b5df6284949d1415484a475b33aadefa (diff)
downloadFreeBSD-src-33468f235abe8c6601085122e21b61a524d4c8dc.zip
FreeBSD-src-33468f235abe8c6601085122e21b61a524d4c8dc.tar.gz
META MODE: Don't double stage SYMLINKS for libraries.
meta.stage.mk is handling ${SYMLINKS:T} for stage_libs already. The logic in bsd.sys.mk to handle ${SYMLINKS} was brought in r247817 when it was moved out of bsd.prog.mk and bsd.lib.mk into bsd.sys.mk. The logic previously was limited to bsd.prog.mk. This fixes a race, seen easily in lib/libthr, where libpthread_p.a is created by both stage_libs and stage_symlinks resulting in 'ln: File exists'. Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.sys.mk3
1 files changed, 2 insertions, 1 deletions
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index cad2b2f..4a4e080 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -276,7 +276,8 @@ STAGE_SETS+= links
STAGE_LINKS.links= ${LINKS}
.endif
-.if !empty(SYMLINKS)
+# Don't handle SYMLINKS for libraries since stage_libs is already doing so.
+.if !empty(SYMLINKS) && empty(_LIBS)
STAGE_TARGETS+= stage_symlinks
STAGE_SETS+= links
STAGE_SYMLINKS.links= ${SYMLINKS}
OpenPOWER on IntegriCloud