Author: bdrewery
Date: Tue Mar 17 15:16:36 2015
New Revision: 280179
URL: https://svnweb.freebsd.org/changeset/base/280179

Log:
  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

Modified:
  head/Makefile.inc1
  head/lib/atf/libatf-c++/Makefile
  head/share/mk/bsd.lib.mk

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1  Tue Mar 17 15:12:52 2015        (r280178)
+++ head/Makefile.inc1  Tue Mar 17 15:16:36 2015        (r280179)
@@ -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"

Modified: head/lib/atf/libatf-c++/Makefile
==============================================================================
--- head/lib/atf/libatf-c++/Makefile    Tue Mar 17 15:12:52 2015        
(r280178)
+++ head/lib/atf/libatf-c++/Makefile    Tue Mar 17 15:16:36 2015        
(r280179)
@@ -28,7 +28,7 @@
 .include <src.opts.mk>
 .include <bsd.init.mk>
 
-LIB=           atf-c++
+LIB_CXX=       atf-c++
 PRIVATELIB=    true
 SHLIB_MAJOR=   2
 

Modified: head/share/mk/bsd.lib.mk
==============================================================================
--- head/share/mk/bsd.lib.mk    Tue Mar 17 15:12:52 2015        (r280178)
+++ head/share/mk/bsd.lib.mk    Tue Mar 17 15:16:36 2015        (r280179)
@@ -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"
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to