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
This commit is contained in:
dim 2017-05-21 17:07:12 +00:00
parent 583b66b532
commit b88ed9e95c
3 changed files with 31 additions and 1 deletions

View File

@ -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

View File

@ -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>

View File

@ -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