Add LIB_CXX so that C++ libraries will use CXX to link.
This fixes C++ libraries not implicitly linking in libc++. This is generally not an issue because the final linking with the compiled binary will involve CXX via PROG_CXX or other means. It is however inconsistent with libraries implicitly linking in libc and problematic for trying to build libraries with '-z defs' to ensure all direct dependencies are linked in. libatf-c++ is currently the only consumer of this new feature. Differential Revision: https://reviews.freebsd.org/D2039 Reviewed by: imp Discussed with: bapt MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
7e8ffa29c7
commit
215d02b78c
@ -1685,6 +1685,10 @@ gnu/lib/libstdc++__L: lib/msun__L
|
||||
gnu/lib/libsupc++__L: gnu/lib/libstdc++__L
|
||||
.endif
|
||||
|
||||
.if ${MK_LIBCPLUSPLUS} != "no"
|
||||
_prebuild_libs+= lib/libc++
|
||||
.endif
|
||||
|
||||
lib/libgeom__L: lib/libexpat__L
|
||||
|
||||
.if ${MK_LIBTHR} != "no"
|
||||
|
@ -28,7 +28,7 @@
|
||||
.include <src.opts.mk>
|
||||
.include <bsd.init.mk>
|
||||
|
||||
LIB= atf-c++
|
||||
LIB_CXX= atf-c++
|
||||
PRIVATELIB= true
|
||||
SHLIB_MAJOR= 2
|
||||
|
||||
|
@ -4,6 +4,13 @@
|
||||
|
||||
.include <bsd.init.mk>
|
||||
|
||||
.if defined(LIB_CXX)
|
||||
LIB= ${LIB_CXX}
|
||||
_LD= ${CXX}
|
||||
.else
|
||||
_LD= ${CC}
|
||||
.endif
|
||||
|
||||
# Set up the variables controlling shared libraries. After this section,
|
||||
# SHLIB_NAME will be defined only if we are to create a shared library.
|
||||
# SHLIB_LINK will be defined only if we are to create a link to it.
|
||||
@ -217,7 +224,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
|
||||
.if defined(SHLIB_LINK)
|
||||
@${INSTALL_SYMLINK} ${SHLIB_NAME} ${SHLIB_LINK}
|
||||
.endif
|
||||
${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
|
||||
${_LD} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
|
||||
-o ${.TARGET} -Wl,-soname,${SONAME} \
|
||||
`NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
|
||||
.if ${MK_CTF} != "no"
|
||||
|
Loading…
Reference in New Issue
Block a user