Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 May 2017 17:07:12 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r318594 - in head: lib lib/libc++experimental tools/build/mk
Message-ID:  <201705211707.v4LH7CbN016259@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sun May 21 17:07:12 2017
New Revision: 318594
URL: https://svnweb.freebsd.org/changeset/base/318594

Log:
  Add libc++experimental.a for std::experimental support
  
  This adds a separate library for supporting std::experimental features.
  It is purposefully static, and must be explicitly linked into programs
  using -lc++experimental.
  
  PLEASE NOTE: there is NO WARRANTY as to any stability or continuing
  existence of the features in the std::experimental parts of the C++
  library!
  
  Reviewed by:	ed
  Differential Revision: https://reviews.freebsd.org/D10840

Added:
  head/lib/libc++experimental/
  head/lib/libc++experimental/Makefile   (contents, props changed)
Modified:
  head/lib/Makefile
  head/tools/build/mk/OptionalObsoleteFiles.inc

Modified: head/lib/Makefile
==============================================================================
--- head/lib/Makefile	Sun May 21 15:37:08 2017	(r318593)
+++ head/lib/Makefile	Sun May 21 17:07:12 2017	(r318594)
@@ -156,7 +156,7 @@ _libclang_rt=	libclang_rt
 
 .if ${MK_LIBCPLUSPLUS} != "no"
 _libcxxrt=	libcxxrt
-_libcplusplus=	libc++
+_libcplusplus=	libc++ libc++experimental
 .endif
 
 SUBDIR.${MK_EFI}+=	libefivar

Added: head/lib/libc++experimental/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libc++experimental/Makefile	Sun May 21 17:07:12 2017	(r318594)
@@ -0,0 +1,29 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+PACKAGE=	clibs
+SRCDIR=		${SRCTOP}/contrib/libc++
+
+LIB=		c++experimental
+NO_PIC=
+MK_PROFILE=	no
+
+.PATH:		${SRCDIR}/src/experimental
+
+SRCS+=		filesystem/directory_iterator.cpp
+SRCS+=		filesystem/operations.cpp
+SRCS+=		filesystem/path.cpp
+SRCS+=		memory_resource.cpp
+
+WARNS?=		0
+CXXFLAGS+=	-isystem ${SRCDIR}/include
+CXXFLAGS+=	-nostdinc++
+CXXFLAGS+=	-nostdlib
+CXXFLAGS+=	-D_LIBCPP_BUILDING_LIBRARY
+CXXFLAGS+=	-DLIBCXXRT
+.if empty(CXXFLAGS:M-std=*)
+CXXFLAGS+=	-std=c++14
+.endif
+
+.include <bsd.lib.mk>

Modified: head/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- head/tools/build/mk/OptionalObsoleteFiles.inc	Sun May 21 15:37:08 2017	(r318593)
+++ head/tools/build/mk/OptionalObsoleteFiles.inc	Sun May 21 17:07:12 2017	(r318594)
@@ -4512,6 +4512,7 @@ OLD_LIBS+=${DEBUG_LIB32_LIBS}
 OLD_LIBS+=lib/libcxxrt.so.1
 OLD_FILES+=usr/lib/libc++.a
 OLD_FILES+=usr/lib/libc++_p.a
+OLD_FILES+=usr/lib/libc++experimental.a
 OLD_FILES+=usr/lib/libc++.so
 OLD_LIBS+=usr/lib/libc++.so.1
 OLD_FILES+=usr/lib/libcxxrt.a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705211707.v4LH7CbN016259>