summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2015-11-13 22:27:24 +0000
committerbdrewery <bdrewery@FreeBSD.org>2015-11-13 22:27:24 +0000
commite3347af437af55376a333371d3c62fb46c99b67d (patch)
treecf8d4965ad26cd266027273223c1a7935e134a36 /share
parent10c8fd7b789c3524e9815310bdcf0c86f04a1fd4 (diff)
downloadFreeBSD-src-e3347af437af55376a333371d3c62fb46c99b67d.zip
FreeBSD-src-e3347af437af55376a333371d3c62fb46c99b67d.tar.gz
META MODE: Don't double stage SYMLINKS for shared libraries.
This also fixes truncating the path that the links were installed to, which was most likely going to be the same directory the library was in anyhow. Let bsd.sys.mk handle SYMLINKS via stage_symlinks. stage_libs continues to handle the SHLIB_LINK though since it is not a SYMLINKS. 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 Discussed with: sjg
Diffstat (limited to 'share')
-rw-r--r--share/mk/meta.stage.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/share/mk/meta.stage.mk b/share/mk/meta.stage.mk
index cdf3e36..0f5f37d 100644
--- a/share/mk/meta.stage.mk
+++ b/share/mk/meta.stage.mk
@@ -156,7 +156,7 @@ stage_libs: .dirdep
@${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} \
${SHLIB_LINKS:@t@${STAGE_LIBS:T:M$t.*} $t@}
.elif !empty(SHLIB_LINK) && !empty(SHLIB_NAME)
- @${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} ${SHLIB_NAME} ${SHLIB_LINK} ${SYMLINKS:T}
+ @${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} ${SHLIB_NAME} ${SHLIB_LINK}
.endif
.endif
@touch $@
OpenPOWER on IntegriCloud