Index: lib/Makefile
===================================================================
--- lib/Makefile
+++ lib/Makefile
@@ -156,7 +156,7 @@
 
 .if ${MK_LIBCPLUSPLUS} != "no"
 _libcxxrt=	libcxxrt
-_libcplusplus=	libc++
+_libcplusplus=	libc++ libc++experimental
 .endif
 
 SUBDIR.${MK_EFI}+=	libefivar
Index: lib/libc++experimental/Makefile
===================================================================
--- /dev/null
+++ lib/libc++experimental/Makefile
@@ -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>
Index: tools/build/mk/OptionalObsoleteFiles.inc
===================================================================
--- tools/build/mk/OptionalObsoleteFiles.inc
+++ tools/build/mk/OptionalObsoleteFiles.inc
@@ -4512,6 +4512,7 @@
 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