summaryrefslogtreecommitdiff
path: root/lib/libc++
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2021-04-26 11:23:24 +0000
committerDimitry Andric <dim@FreeBSD.org>2021-06-13 20:01:15 +0000
commitd409305fa3838fb39b38c26fc085fb729b8766d5 (patch)
treefd234b27775fb59a57266cf36a05ec916e79a85f /lib/libc++
parente8d8bef961a50d4dc22501cde4fb9fb0be1b2532 (diff)
parentb4125f7d51da2bb55d3b850dba9a69c201c3422c (diff)
Diffstat (limited to 'lib/libc++')
-rw-r--r--lib/libc++/Makefile26
-rw-r--r--lib/libc++/__config_site40
2 files changed, 64 insertions, 2 deletions
diff --git a/lib/libc++/Makefile b/lib/libc++/Makefile
index 066faf4abb1f..f47e7b594241 100644
--- a/lib/libc++/Makefile
+++ b/lib/libc++/Makefile
@@ -32,6 +32,7 @@ SRCS+= functional.cpp
SRCS+= future.cpp
SRCS+= hash.cpp
SRCS+= ios.cpp
+SRCS+= ios.instantiations.cpp
SRCS+= iostream.cpp
SRCS+= locale.cpp
SRCS+= memory.cpp
@@ -83,12 +84,13 @@ CFLAGS+= -fdata-sections
CXXSTD?= c++14
LIBADD+= cxxrt
-INCSGROUPS= STD EXP EXT
+INCSGROUPS= STD MEM EXP EXT
+STD_HEADERS+= __availability
STD_HEADERS+= __bit_reference
+STD_HEADERS+= __bits
STD_HEADERS+= __bsd_locale_defaults.h
STD_HEADERS+= __bsd_locale_fallbacks.h
-STD_HEADERS+= __config
STD_HEADERS+= __debug
STD_HEADERS+= __errc
STD_HEADERS+= __functional_03
@@ -236,6 +238,26 @@ STD+= ${_LIBCXXRTDIR}/${hdr}
.endfor
STDDIR= ${CXXINCLUDEDIR}
+# Special case for __config, which as of libc++ 12.0.0 is produced by
+# concatenating the locally generated __config_site and the upstream __config
+# files.
+CONFIG_HEADER= __config
+
+${CONFIG_HEADER}: ${.CURDIR}/__config_site ${HDRDIR}/__config
+ cat ${.ALLSRC} > ${.TARGET}
+STD+= ${CONFIG_HEADER}
+CLEANFILES+= ${CONFIG_HEADER}
+
+MEM_HEADERS+= allocator_traits.h
+MEM_HEADERS+= base.h
+MEM_HEADERS+= pointer_traits.h
+MEM_HEADERS+= utilities.h
+
+.for hdr in ${MEM_HEADERS}
+MEM+= ${HDRDIR}/__memory/${hdr}
+.endfor
+MEMDIR= ${CXXINCLUDEDIR}/__memory
+
EXP_HEADERS+= __config
EXP_HEADERS+= __memory
EXP_HEADERS+= algorithm
diff --git a/lib/libc++/__config_site b/lib/libc++/__config_site
new file mode 100644
index 000000000000..0030c2aed2d6
--- /dev/null
+++ b/lib/libc++/__config_site
@@ -0,0 +1,40 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP_CONFIG_SITE
+#define _LIBCPP_CONFIG_SITE
+
+/* #undef _LIBCPP_ABI_VERSION */
+/* #undef _LIBCPP_ABI_UNSTABLE */
+/* #undef _LIBCPP_ABI_FORCE_ITANIUM */
+/* #undef _LIBCPP_ABI_FORCE_MICROSOFT */
+/* #undef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT */
+/* #undef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE */
+/* #undef _LIBCPP_HAS_NO_STDIN */
+/* #undef _LIBCPP_HAS_NO_STDOUT */
+/* #undef _LIBCPP_HAS_NO_THREADS */
+/* #undef _LIBCPP_HAS_NO_MONOTONIC_CLOCK */
+/* #undef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS */
+/* #undef _LIBCPP_HAS_MUSL_LIBC */
+/* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */
+/* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */
+/* #undef _LIBCPP_HAS_THREAD_API_WIN32 */
+/* #undef _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL */
+/* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */
+#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
+/* #undef _LIBCPP_NO_VCRUNTIME */
+/* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */
+/* #undef _LIBCPP_ABI_NAMESPACE */
+/* #undef _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY */
+/* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */
+/* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */
+/* #undef _LIBCPP_HAS_NO_LOCALIZATION */
+
+
+
+#endif // _LIBCPP_CONFIG_SITE