summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspreis <[email protected]>2025-10-17 07:15:59 +0300
committerspreis <[email protected]>2025-10-17 07:32:38 +0300
commitc4e716e3d08be0ea21d8fe8f4672e80e29a6e07c (patch)
tree45bbeff72d29de153d629ec951cf91c7a8b4dc16
parenta30ab873ae4bbac191747eba3a14c3eed9b0ce3d (diff)
Get rid of USE_INTERNAL_STL variable
commit_hash:45d239a71d7eaa34d77f4d7e6689ed7e39b5c462
-rw-r--r--build/ymake.core.conf21
1 files changed, 5 insertions, 16 deletions
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index 26e9f060df0..74da3f8e79f 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -77,6 +77,7 @@ macro _SRC(EXT, SRC, SRCFLAGS...) {
}
USE_ARCADIA_COMPILER_RUNTIME=yes
+USE_STL_SYSTEM=no
when ($LOCAL && $XCODE) {
USE_ARCADIA_COMPILER_RUNTIME=no
@@ -324,20 +325,7 @@ when ($OS_NONE == "yes" || $MAPSMOBI_BUILD_TARGET == "yes" && $OS_LINUX != "yes"
USE_STL_SYSTEM=yes
}
-# USE_INTERNAL_STL is an internal flag (set on by default) but may be used externally to
-# select system standard C++ library when USE_INTERNAL_STL=no is set.
-#
-# USE_STL_SYSTEM=yes is a regular way to select system standard C++ library.
-#
-when ($USE_STL_SYSTEM == "yes") {
- USE_INTERNAL_STL=no
-}
-
-when ($USE_INTERNAL_STL == "no") {
- USE_STL_SYSTEM=yes
-}
-otherwise {
- USE_INTERNAL_STL=yes
+when ($USE_STL_SYSTEM != "yes") {
# TODO: Extract to conf/sysincl.conf
# This trigger doesn't work for module level since SYSINCL is processed at
# configuration stage (This means that NO_RUNTIME() macro called in ya.make
@@ -772,6 +760,7 @@ module _BASE_UNIT: _BARE_UNIT {
}
when ($NORUNTIME != "yes") {
+ # Note: this library supports both Arcadia and System STL modes thus trigger doesn't include USE_STL_SYSTEM
PEERDIR+=contrib/libs/cxxsupp
when ($MAPSMOBI_BUILD_TARGET == "yes") {
PEERDIR+=build/platform/mapkit
@@ -807,7 +796,7 @@ module _BASE_UNIT: _BARE_UNIT {
# doesn't affect cl since it has united C/C++ library and doesn't need
# proxy C-headers.
# Disable all C++ headers including proxy C-headers when we use libc++.
- when ($USE_INTERNAL_STL == "yes" && $MSVC != "yes") {
+ when ($USE_STL_SYSTEM != "yes" && $MSVC != "yes") {
CXXFLAGS += -nostdinc++
}
otherwise {
@@ -4388,7 +4377,7 @@ macro NO_UTIL() {
### @usage: NO_RUNTIME()
###
### This macro:
-### 1. Sets the ENABLE(NOUTIL) + DISABLE(USE_INTERNAL_STL);
+### 1. Calls NO_UTIL()
### 2. If the project that contains the macro NO_RUNTIME(), peerdir-it project does not contain NO_RUNTIME() => Warning.
### Note: use this with care. Arcadia STL most likely will be linked into executable anyway, so using STL headers/functions/classes
### may not be detected at build time and may lead to unpredictable behavors at configure time.