aboutsummaryrefslogtreecommitdiffstats
path: root/build/sysincl/stl-to-libcxx.yml
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /build/sysincl/stl-to-libcxx.yml
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'build/sysincl/stl-to-libcxx.yml')
-rw-r--r--build/sysincl/stl-to-libcxx.yml157
1 files changed, 157 insertions, 0 deletions
diff --git a/build/sysincl/stl-to-libcxx.yml b/build/sysincl/stl-to-libcxx.yml
new file mode 100644
index 0000000000..7d9600f345
--- /dev/null
+++ b/build/sysincl/stl-to-libcxx.yml
@@ -0,0 +1,157 @@
+# libc & stl common headers should be resolved to either
+# * system libc (e.g. nothing in our repo)
+# * system libc++ (e.g. nothing in our repo)
+# * libcxx
+# * musl
+# or some combination of them depending on the build flags.
+
+# We want musl to resolve itself without these sysincls, but its test must have them
+- source_filter: "^(?!(contrib/libs/libunistring|contrib/libs/musl|contrib/tools/yasm)).*|^contrib/libs/musl/tests"
+ includes:
+ - complex.h: contrib/libs/cxxsupp/libcxx/include/complex.h
+ - ctype.h: contrib/libs/cxxsupp/libcxx/include/ctype.h
+ - errno.h: contrib/libs/cxxsupp/libcxx/include/errno.h
+ - float.h: contrib/libs/cxxsupp/libcxx/include/float.h
+ - inttypes.h: contrib/libs/cxxsupp/libcxx/include/inttypes.h
+ - limits.h: contrib/libs/cxxsupp/libcxx/include/limits.h
+ - locale.h: contrib/libs/cxxsupp/libcxx/include/locale.h
+ - math.h: contrib/libs/cxxsupp/libcxx/include/math.h
+ - setjmp.h: contrib/libs/cxxsupp/libcxx/include/setjmp.h
+ - stdbool.h: contrib/libs/cxxsupp/libcxx/include/stdbool.h
+ - stddef.h: contrib/libs/cxxsupp/libcxx/include/stddef.h
+ - stdint.h: contrib/libs/cxxsupp/libcxx/include/stdint.h
+ - stdio.h: contrib/libs/cxxsupp/libcxx/include/stdio.h
+ - stdlib.h: contrib/libs/cxxsupp/libcxx/include/stdlib.h
+ - string.h: contrib/libs/cxxsupp/libcxx/include/string.h
+ - tgmath.h: contrib/libs/cxxsupp/libcxx/include/tgmath.h
+ - wchar.h: contrib/libs/cxxsupp/libcxx/include/wchar.h
+ - wctype.h: contrib/libs/cxxsupp/libcxx/include/wctype.h
+
+- includes:
+ - atomic.h:
+ - contrib/libs/cxxsupp/libcxxrt/atomic.h
+ - cxxabi.h:
+ - contrib/libs/cxxsupp/libcxx/include/cxxabi.h
+ - contrib/libs/cxxsupp/libcxxrt/cxxabi.h
+ - omp.h:
+ - contrib/libs/cxxsupp/openmp/omp.h
+ - unwind.h:
+ - contrib/libs/cxxsupp/libcxx/include/unwind.h
+ - contrib/libs/cxxsupp/libcxxrt/unwind.h
+ - contrib/libs/libunwind/include/unwind.h
+
+- source_filter: "^contrib/libs/cxxsupp/libcxxabi/"
+ includes:
+ - cxxabi.h: contrib/libs/cxxsupp/libcxxabi/include/cxxabi.h
+
+- includes:
+ - __config: contrib/libs/cxxsupp/libcxx/include/__config
+ - __undef_macros: contrib/libs/cxxsupp/libcxx/include/__undef_macros
+ - algorithm: contrib/libs/cxxsupp/libcxx/include/algorithm
+ - any: contrib/libs/cxxsupp/libcxx/include/any
+ - array: contrib/libs/cxxsupp/libcxx/include/array
+ - atomic: contrib/libs/cxxsupp/libcxx/include/atomic
+ - bit: contrib/libs/cxxsupp/libcxx/include/bit
+ - bitset: contrib/libs/cxxsupp/libcxx/include/bitset
+ - cassert: contrib/libs/cxxsupp/libcxx/include/cassert
+ - ccomplex: contrib/libs/cxxsupp/libcxx/include/ccomplex
+ - cctype: contrib/libs/cxxsupp/libcxx/include/cctype
+ - cerrno: contrib/libs/cxxsupp/libcxx/include/cerrno
+ - cfenv: contrib/libs/cxxsupp/libcxx/include/cfenv
+ - cfloat: contrib/libs/cxxsupp/libcxx/include/cfloat
+ - charconv: contrib/libs/cxxsupp/libcxx/include/charconv
+ - chrono: contrib/libs/cxxsupp/libcxx/include/chrono
+ - cinttypes: contrib/libs/cxxsupp/libcxx/include/cinttypes
+ - ciso646: contrib/libs/cxxsupp/libcxx/include/ciso646
+ - climits: contrib/libs/cxxsupp/libcxx/include/climits
+ - clocale: contrib/libs/cxxsupp/libcxx/include/clocale
+ - cmath: contrib/libs/cxxsupp/libcxx/include/cmath
+ - codecvt: contrib/libs/cxxsupp/libcxx/include/codecvt
+ - compare: contrib/libs/cxxsupp/libcxx/include/compare
+ - complex: contrib/libs/cxxsupp/libcxx/include/complex
+ - concepts: contrib/libs/cxxsupp/libcxx/include/concepts
+ - condition_variable: contrib/libs/cxxsupp/libcxx/include/condition_variable
+ - csetjmp: contrib/libs/cxxsupp/libcxx/include/csetjmp
+ - csignal: contrib/libs/cxxsupp/libcxx/include/csignal
+ - cstdarg: contrib/libs/cxxsupp/libcxx/include/cstdarg
+ - cstdbool: contrib/libs/cxxsupp/libcxx/include/cstdbool
+ - cstddef: contrib/libs/cxxsupp/libcxx/include/cstddef
+ - cstdint: contrib/libs/cxxsupp/libcxx/include/cstdint
+ - cstdio: contrib/libs/cxxsupp/libcxx/include/cstdio
+ - cstdlib: contrib/libs/cxxsupp/libcxx/include/cstdlib
+ - cstring: contrib/libs/cxxsupp/libcxx/include/cstring
+ - ctgmath: contrib/libs/cxxsupp/libcxx/include/ctgmath
+ - ctime: contrib/libs/cxxsupp/libcxx/include/ctime
+ - cwchar: contrib/libs/cxxsupp/libcxx/include/cwchar
+ - cwctype: contrib/libs/cxxsupp/libcxx/include/cwctype
+ - deque: contrib/libs/cxxsupp/libcxx/include/deque
+ - exception: contrib/libs/cxxsupp/libcxx/include/exception
+ - filesystem: contrib/libs/cxxsupp/libcxx/include/filesystem
+ - forward_list: contrib/libs/cxxsupp/libcxx/include/forward_list
+ - fstream: contrib/libs/cxxsupp/libcxx/include/fstream
+ - functional: contrib/libs/cxxsupp/libcxx/include/functional
+ - future: contrib/libs/cxxsupp/libcxx/include/future
+ - initializer_list: contrib/libs/cxxsupp/libcxx/include/initializer_list
+ - iomanip: contrib/libs/cxxsupp/libcxx/include/iomanip
+ - ios: contrib/libs/cxxsupp/libcxx/include/ios
+ - iosfwd: contrib/libs/cxxsupp/libcxx/include/iosfwd
+ - iostream: contrib/libs/cxxsupp/libcxx/include/iostream
+ - istream: contrib/libs/cxxsupp/libcxx/include/istream
+ - iterator: contrib/libs/cxxsupp/libcxx/include/iterator
+ - limits: contrib/libs/cxxsupp/libcxx/include/limits
+ - list: contrib/libs/cxxsupp/libcxx/include/list
+ - locale: contrib/libs/cxxsupp/libcxx/include/locale
+ - map: contrib/libs/cxxsupp/libcxx/include/map
+ - memory: contrib/libs/cxxsupp/libcxx/include/memory
+ - mutex: contrib/libs/cxxsupp/libcxx/include/mutex
+ - new: contrib/libs/cxxsupp/libcxx/include/new
+ - numeric: contrib/libs/cxxsupp/libcxx/include/numeric
+ - optional: contrib/libs/cxxsupp/libcxx/include/optional
+ - ostream: contrib/libs/cxxsupp/libcxx/include/ostream
+ - queue: contrib/libs/cxxsupp/libcxx/include/queue
+ - random: contrib/libs/cxxsupp/libcxx/include/random
+ - ratio: contrib/libs/cxxsupp/libcxx/include/ratio
+ - regex: contrib/libs/cxxsupp/libcxx/include/regex
+ - scoped_allocator: contrib/libs/cxxsupp/libcxx/include/scoped_allocator
+ - set: contrib/libs/cxxsupp/libcxx/include/set
+ - shared_mutex: contrib/libs/cxxsupp/libcxx/include/shared_mutex
+ - span: contrib/libs/cxxsupp/libcxx/include/span
+ - sstream: contrib/libs/cxxsupp/libcxx/include/sstream
+ - stack: contrib/libs/cxxsupp/libcxx/include/stack
+ - stdexcept: contrib/libs/cxxsupp/libcxx/include/stdexcept
+ - streambuf: contrib/libs/cxxsupp/libcxx/include/streambuf
+ - string: contrib/libs/cxxsupp/libcxx/include/string
+ - string_view: contrib/libs/cxxsupp/libcxx/include/string_view
+ - strstream: contrib/libs/cxxsupp/libcxx/include/strstream
+ - system_error: contrib/libs/cxxsupp/libcxx/include/system_error
+ - thread: contrib/libs/cxxsupp/libcxx/include/thread
+ - tuple: contrib/libs/cxxsupp/libcxx/include/tuple
+ - typeindex: contrib/libs/cxxsupp/libcxx/include/typeindex
+ - typeinfo: contrib/libs/cxxsupp/libcxx/include/typeinfo
+ - type_traits: contrib/libs/cxxsupp/libcxx/include/type_traits
+ - unordered_map: contrib/libs/cxxsupp/libcxx/include/unordered_map
+ - unordered_set: contrib/libs/cxxsupp/libcxx/include/unordered_set
+ - use_ansi.h: contrib/libs/cxxsupp/libcxx/include/use_ansi.h
+ - utility: contrib/libs/cxxsupp/libcxx/include/utility
+ - valarray: contrib/libs/cxxsupp/libcxx/include/valarray
+ - variant: contrib/libs/cxxsupp/libcxx/include/variant
+ - vector: contrib/libs/cxxsupp/libcxx/include/vector
+
+
+# Though these are headers provided by libcxx, we do not want to allow them to be included.
+# We are using non-existent filename to generate error instead, as there is no specific syntax for this case.
+- includes:
+ - ext/hash_map: DO_NOT_INCLUDE_NON_STANDARD_EXT_HASH_MAP
+ - ext/hash_set: DO_NOT_INCLUDE_NON_STANDARD_EXT_HASH_SET
+ - experimental/any: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_ANY
+ - experimental/chrono: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_CHRONO
+ - experimental/numeric: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_NUMERIC
+ - experimental/optional: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_OPTIONAL
+ - experimental/ratio: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_RATIO
+ - experimental/source_location: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_SOURCE_LOCATION
+ - experimental/string_view: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_STRING_VIEW
+ - experimental/system_error: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_SYSTEM_ERROR
+ - experimental/tuple: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_TUPLE
+
+ # TODO: there is no <corouine> in libc++. Disable this include upon its appearance
+ - experimental/coroutine: contrib/libs/cxxsupp/libcxx/include/experimental/coroutine