aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorAlexSm <alex@ydb.tech>2024-01-18 11:28:56 +0100
committerGitHub <noreply@github.com>2024-01-18 11:28:56 +0100
commit9d0a3761b3201e0d9db879a7adf91876ebdb0564 (patch)
tree541d11ac878c18efd7ebca81e35112aa0fef995b /build
parent404ef8886ecc9736bc58ade6da2fbd83b486a408 (diff)
downloadydb-9d0a3761b3201e0d9db879a7adf91876ebdb0564.tar.gz
Library import 8 (#1074)
* Library import 8 * Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
Diffstat (limited to 'build')
-rw-r--r--build/conf/compilers/gnu_compiler.conf4
-rw-r--r--build/conf/java.conf15
-rw-r--r--build/conf/linkers/ld.conf4
-rw-r--r--build/conf/sysincl.conf4
-rw-r--r--build/export_generators/gradle/build.gradle.kts.jinja7
-rw-r--r--build/export_generators/hardcoded-cmake/build/scripts/create_recursive_library_for_cmake.py10
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.arm64.profile15
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.armv7.profile15
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86.profile15
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86_64.profile15
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.aarch64.profile28
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.ppc64le.profile28
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan-profiles/macos.arm64.profile11
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/conan.cmake11
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.cmake32
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.march.cmake34
-rw-r--r--build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.msvc.cmake21
-rw-r--r--build/export_generators/hardcoded-cmake/disclaimer.jinja5
-rw-r--r--build/export_generators/hardcoded-cmake/generator.toml1
-rw-r--r--build/export_generators/hardcoded-cmake/root_cmake_lists.jinja6
-rw-r--r--build/export_generators/hardcoded-cmake/root_global_vars.jinja6
-rw-r--r--build/export_generators/ide-gradle/build.gradle.kts.jinja46
-rw-r--r--build/export_generators/ide-gradle/generator.toml12
-rw-r--r--build/external_resources/yexport/resources.json6
-rw-r--r--build/external_resources/ymake/public.resources.json10
-rw-r--r--build/external_resources/ymake/resources.json10
-rw-r--r--build/mapping.conf.json32
-rw-r--r--build/platform/python/ymake_python3/resources.json23
-rw-r--r--build/platform/test_tool/host.ya.make.inc20
-rw-r--r--build/platform/test_tool/host_os.ya.make.inc20
-rw-r--r--build/plugins/lib/test_const/__init__.py3
-rw-r--r--build/plugins/ytest.py11
-rw-r--r--build/scripts/create_recursive_library_for_cmake.py10
-rwxr-xr-xbuild/scripts/fetch_from.py10
-rw-r--r--build/sysincl/emscripten.yml1
-rw-r--r--build/sysincl/stl-to-libcxx.yml29
-rw-r--r--build/ya.conf.json55
-rw-r--r--build/ymake.core.conf36
-rwxr-xr-xbuild/ymake_conf.py2
39 files changed, 484 insertions, 139 deletions
diff --git a/build/conf/compilers/gnu_compiler.conf b/build/conf/compilers/gnu_compiler.conf
index 2980617c10..2de1678d8d 100644
--- a/build/conf/compilers/gnu_compiler.conf
+++ b/build/conf/compilers/gnu_compiler.conf
@@ -54,7 +54,7 @@ elsewhen ($PIE == "yes") {
}
when ($CLANG16 == "yes") {
- CFLAGS+=-Wno-array-parameter -Wno-deprecate-lax-vec-conv-all -Wno-unqualified-std-cast-call -Wno-unused-but-set-parameter -Wno-unused-command-line-argument -Wno-unused-but-set-variable -Wno-implicit-function-declaration -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-implicit-int -Wno-address-of-packed-member
+ CFLAGS+=-Wno-array-parameter -Wno-deprecate-lax-vec-conv-all -Wno-unqualified-std-cast-call -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-implicit-function-declaration -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-implicit-int -Wno-address-of-packed-member
}
when ($MSAN_TRACK_ORIGIN == "yes") {
@@ -67,6 +67,8 @@ when ($ARCH_XTENSA == "yes") {
when ($OS_EMSCRIPTEN == "yes") {
FSTACK=-fno-stack-protector
+ CFLAGS+=-D__EMSCRIPTEN__
+ CFLAGS+=-D_LIBCPP_HAS_MUSL_LIBC
}
CFLAGS+=$_C_FLAGS $DEBUG_INFO_FLAGS $_C_FOPTIONS $C_WARNING_OPTS $GCC_PREPROCESSOR_OPTS $USER_CFLAGS $USER_CFLAGS_GLOBAL
diff --git a/build/conf/java.conf b/build/conf/java.conf
index 1422fe9c6b..94e5835ab5 100644
--- a/build/conf/java.conf
+++ b/build/conf/java.conf
@@ -414,11 +414,26 @@ JDK_LATEST_VERSION=19
JDK_LATEST_PEERDIR=build/platform/java/jdk/jdk${JDK_LATEST_VERSION}
# tag:java-specific
+# Fill semantic by RUN_JAVA_PROGRAM()
+_SEM_RUN_JAVA_PROGRAM= \
+ && runs-ITEM \
+ && runs-args ${Args} \
+ && runs-classpath ${RUN_JAR_PROG_CP_PRE}${tool:CLASSPATH}${RUN_JAR_PROG_CP_SUF} \
+ && runs-cwd ${cwd:CWD} \
+ && runs-in ${IN} \
+ && runs-in_dir ${IN_DIR} \
+ && runs-in_dirs_inputs ${IN_DIRS_INPUTS} \
+ && runs-in_noparse ${IN_NOPARSE} \
+ && runs-out ${OUT} \
+ && runs-out_dir ${OUT_DIR} \
+ && runs-tool ${TOOL}
+
macro _DO_2_RUN_JAR_PROGRAM(IN_DIRS_VAR="uniq_", IN_DIRS_INPUTS[], IN{input}[], IN_NOPARSE{input}[], IN_DIR[], OUT_NOAUTO{output}[], OUT{output}[], TOOL{tool}[], OUT_DIR[], CLASSPATH[], ADD_SRCS_TO_CLASSPATH?"yes":"no", CWD="${ARCADIA_BUILD_ROOT}", STDOUT="", STDOUT_NOAUTO="", Args...) {
_LATE_GLOB(${IN_DIRS_VAR} ${suf=/**/*:IN_DIR})
_CHECK_RUN_JAVA_PROG_CLASSPATH($CLASSPATH)
.PEERDIR=build/platform/java/jdk $JDK_RESOURCE_PEERDIR
.CMD=${kv;hide:"p RJ"} ${kv;hide:"pc blue"} ${hide:JAVA_FAKEID} ${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/mkdir.py"} ${OUT_DIR} && ${cwd:CWD} $YMAKE_PYTHON ${input:"build/scripts/setup_java_tmpdir.py"} $YMAKE_PYTHON ${input:"build/scripts/stdout2stderr.py"} ${pre=--file=:STDOUT} ${output;hide:STDOUT} ${pre=--file=:STDOUT_NOAUTO} ${output;hide;noauto:STDOUT_NOAUTO} $YMAKE_PYTHON ${input:"build/scripts/fix_java_command_file_cp.py"} --build-root ${ARCADIA_BUILD_ROOT} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:CLASSPATH}${RUN_JAR_PROG_CP_SUF} ${Args} && $_GENTAR_HELPER($CLASSPATH $IN_DIR $IN $IN_NOPARSE $TOOL $Args OUT_DIR $OUT_DIR) ${input;hide:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${output;noauto;hide:OUT_NOAUTO} ${output;hide:OUT} ${tool;hide:TOOL} ${IN_DIRS_INPUTS}
+ .SEM=_SEM_RUN_JAVA_PROGRAM
}
# tag:java-specific
diff --git a/build/conf/linkers/ld.conf b/build/conf/linkers/ld.conf
index 8c191a251a..cf162a0db4 100644
--- a/build/conf/linkers/ld.conf
+++ b/build/conf/linkers/ld.conf
@@ -103,10 +103,10 @@ _C_SYSTEM_LIBRARIES=$_LD_USE_STDLIB $_LD_THREAD_LIBRARY $_LD_SYS_LIB -lc
when ($MUSL == "yes") {
_C_SYSTEM_LIBRARIES=-nostdlib
}
-C_SYSTEM_LIBRARIES=$_C_SYSTEM_LIBRARIES
when ($OS_EMSCRIPTEN == "yes") {
- C_SYSTEM_LIBRARIES=-nostdlib
+ _C_SYSTEM_LIBRARIES=-nostdlib
}
+C_SYSTEM_LIBRARIES=$_C_SYSTEM_LIBRARIES
OBJADDE=
diff --git a/build/conf/sysincl.conf b/build/conf/sysincl.conf
index 6b2e9e97a8..0603fcdc4b 100644
--- a/build/conf/sysincl.conf
+++ b/build/conf/sysincl.conf
@@ -82,3 +82,7 @@ when ($ARCH_RISCV32) {
when ($USE_ARCADIA_COMPILER_RUNTIME == "no") {
SYSINCL+=build/sysincl/local-compiler-runtime.yml
}
+
+when ($OS_EMSCRIPTEN) {
+ SYSINCL+=build/sysincl/emscripten.yml
+}
diff --git a/build/export_generators/gradle/build.gradle.kts.jinja b/build/export_generators/gradle/build.gradle.kts.jinja
index 648c298ae5..1106967749 100644
--- a/build/export_generators/gradle/build.gradle.kts.jinja
+++ b/build/export_generators/gradle/build.gradle.kts.jinja
@@ -46,9 +46,10 @@ dependencies {
{% if targets|selectattr("app_main_class") -%}
{% if library.excludes.consumer is defined %}
implementation({{ classpath }}) {
-{% for exclude in library.excludes.consumer -%}
-{% set classpath_parts = exclude.classpath.split(':') -%}
- exclude group: '{{ classpath_parts[0] }}', module: '{{ classpath_parts[1] }}'
+{% for exclude in library.excludes.consumer if exclude.classpath -%}
+{% set classpath = exclude.classpath|replace('"','') -%}
+{% set classpath_parts = split(classpath, ':') -%}
+ exclude(group = "{{ classpath_parts[0] }}", module = "{{ classpath_parts[1] }}")
{% endfor -%}
}
{% else -%}
diff --git a/build/export_generators/hardcoded-cmake/build/scripts/create_recursive_library_for_cmake.py b/build/export_generators/hardcoded-cmake/build/scripts/create_recursive_library_for_cmake.py
index 0023e7d02a..7ba030ac21 100644
--- a/build/export_generators/hardcoded-cmake/build/scripts/create_recursive_library_for_cmake.py
+++ b/build/export_generators/hardcoded-cmake/build/scripts/create_recursive_library_for_cmake.py
@@ -29,7 +29,7 @@ class Opts(object):
if other_args[0] != '--linking-cmdline':
raise Exception("expected '--linking-cmdline' arg, got {}".format(other_args[0]))
- self.is_msvc_linker = other_args[1].endswith('\\link.exe')
+ self.is_msvc_compatible_linker = other_args[1].endswith('\\link.exe') or other_args[1].endswith('\\lld-link.exe')
is_host_system_windows = self.parsed_args.cmake_host_system_name == 'Windows'
std_libraries_to_exclude_from_input = (
@@ -38,11 +38,9 @@ class Opts(object):
else set()
)
msvc_preserved_option_prefixes = [
- 'errorreport',
'machine:',
'nodefaultlib',
'nologo',
- 'subsystem',
]
self.preserved_options = []
@@ -129,7 +127,7 @@ class FilesCombiner(object):
# force LIBTOOL even if CMAKE_AR is defined because 'ar' under Darwin does not contain the necessary options
arch_type = 'LIBTOOL'
archiver_tool_path = 'libtool'
- elif opts.is_msvc_linker:
+ elif opts.is_msvc_compatible_linker:
arch_type = 'LIB'
elif opts.parsed_args.cmake_ar.endswith('llvm-ar'):
arch_type = 'LLVM_AR'
@@ -152,7 +150,7 @@ class FilesCombiner(object):
def do(self, output, input_list):
input_file_path = None
try:
- if self.opts.is_msvc_linker:
+ if self.opts.is_msvc_compatible_linker:
# use response file for input (because of Windows cmdline length limitations)
# can't use NamedTemporaryFile because of permissions issues on Windows
@@ -177,7 +175,7 @@ class FilesCombiner(object):
if input_file_path is not None:
os.remove(input_file_path)
- if not self.opts.is_msvc_linker:
+ if not self.opts.is_msvc_compatible_linker:
subprocess.check_call([self.opts.parsed_args.cmake_ranlib, output])
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.arm64.profile b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.arm64.profile
new file mode 100644
index 0000000000..6147d99225
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.arm64.profile
@@ -0,0 +1,15 @@
+include(default)
+[settings]
+arch=armv8
+build_type=Release
+compiler=clang
+compiler.libcxx=libc++
+compiler.version=14
+compiler.cppstd=20
+os=Android
+os.api_level=21
+[tool_requires]
+android-ndk/r25
+[options]
+[env]
+
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.armv7.profile b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.armv7.profile
new file mode 100644
index 0000000000..57d8f55785
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.armv7.profile
@@ -0,0 +1,15 @@
+include(default)
+[settings]
+arch=armv7
+build_type=Release
+compiler=clang
+compiler.libcxx=libc++
+compiler.version=14
+compiler.cppstd=20
+os=Android
+os.api_level=21
+[tool_requires]
+android-ndk/r25
+[options]
+[env]
+
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86.profile b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86.profile
new file mode 100644
index 0000000000..d8b73b992c
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86.profile
@@ -0,0 +1,15 @@
+include(default)
+[settings]
+arch=x86
+build_type=Release
+compiler=clang
+compiler.libcxx=libc++
+compiler.version=14
+compiler.cppstd=20
+os=Android
+os.api_level=21
+[tool_requires]
+android-ndk/r25
+[options]
+[env]
+
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86_64.profile b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86_64.profile
new file mode 100644
index 0000000000..50ad337afa
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/android.x86_64.profile
@@ -0,0 +1,15 @@
+include(default)
+[settings]
+arch=x86_64
+build_type=Release
+compiler=clang
+compiler.libcxx=libc++
+compiler.version=14
+compiler.cppstd=20
+os=Android
+os.api_level=21
+[tool_requires]
+android-ndk/r25
+[options]
+[env]
+
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.aarch64.profile b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.aarch64.profile
new file mode 100644
index 0000000000..6945b1d777
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.aarch64.profile
@@ -0,0 +1,28 @@
+include(default)
+
+target_host=aarch64-linux-gnu
+
+[settings]
+arch=armv8
+build_type=Release
+compiler=gcc
+compiler.libcxx=libstdc++11
+compiler.version=12
+compiler.cppstd=20
+os=Linux
+[options]
+
+[env]
+CONAN_CMAKE_FIND_ROOT_PATH=/usr/$target_host
+CONAN_CMAKE_SYSROOT=/usr/$target_host
+SYSROOT=/usr/$target_host
+CC=$target_host-gcc
+CXX=$target_host-g++
+CXXFLAGS="-I/usr/$target_host/include/"
+CFLAGS="-I/usr/$target_host/include/"
+CHOST=$target_host
+AR=$target_host-ar
+AS=$target_host-as
+RANLIB=$target_host-ranlib
+LD=$target_host-ld
+STRIP=$target_host-strip
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.ppc64le.profile b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.ppc64le.profile
new file mode 100644
index 0000000000..5ecd24d6ce
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/linux.ppc64le.profile
@@ -0,0 +1,28 @@
+include(default)
+
+target_host=powerpc64le-linux-gnu
+
+[settings]
+arch=ppc64le
+build_type=Release
+compiler=gcc
+compiler.libcxx=libstdc++11
+compiler.version=12
+compiler.cppstd=20
+os=Linux
+[options]
+
+[env]
+CONAN_CMAKE_FIND_ROOT_PATH=/usr/$target_host
+CONAN_CMAKE_SYSROOT=/usr/$target_host
+SYSROOT=/usr/$target_host
+CC=$target_host-gcc
+CXX=$target_host-g++
+CXXFLAGS="-I/usr/$target_host/include/"
+CFLAGS="-I/usr/$target_host/include/"
+CHOST=$target_host
+AR=$target_host-ar
+AS=$target_host-as
+RANLIB=$target_host-ranlib
+LD=$target_host-ld
+STRIP=$target_host-strip
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan-profiles/macos.arm64.profile b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/macos.arm64.profile
new file mode 100644
index 0000000000..52ba46ab97
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/conan-profiles/macos.arm64.profile
@@ -0,0 +1,11 @@
+include(default)
+[settings]
+arch=armv8
+build_type=Release
+compiler=clang
+compiler.libcxx=libc++
+compiler.version=14
+compiler.cppstd=20
+os=Macos
+[options]
+[env]
diff --git a/build/export_generators/hardcoded-cmake/cmake/conan.cmake b/build/export_generators/hardcoded-cmake/cmake/conan.cmake
index d6a8b5e8c4..9a5dee5d81 100644
--- a/build/export_generators/hardcoded-cmake/cmake/conan.cmake
+++ b/build/export_generators/hardcoded-cmake/cmake/conan.cmake
@@ -170,7 +170,10 @@ macro(_conan_detect_compiler)
conan_cmake_detect_unix_libcxx(_LIBCXX)
set(_CONAN_SETTING_COMPILER_LIBCXX ${_LIBCXX})
endif ()
- elseif (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL Clang)
+ elseif (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL Clang
+ AND NOT "${CMAKE_${LANGUAGE}_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC"
+ AND NOT "${CMAKE_${LANGUAGE}_SIMULATE_ID}" STREQUAL "MSVC")
+
string(REPLACE "." ";" VERSION_LIST ${CMAKE_${LANGUAGE}_COMPILER_VERSION})
list(GET VERSION_LIST 0 MAJOR)
list(GET VERSION_LIST 1 MINOR)
@@ -190,7 +193,11 @@ macro(_conan_detect_compiler)
conan_cmake_detect_unix_libcxx(_LIBCXX)
set(_CONAN_SETTING_COMPILER_LIBCXX ${_LIBCXX})
endif ()
- elseif(${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL MSVC)
+ elseif(${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL MSVC
+ OR (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL Clang
+ AND "${CMAKE_${LANGUAGE}_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC"
+ AND "${CMAKE_${LANGUAGE}_SIMULATE_ID}" STREQUAL "MSVC"))
+
set(_VISUAL "Visual Studio")
_get_msvc_ide_version(_VISUAL_VERSION)
if("${_VISUAL_VERSION}" STREQUAL "")
diff --git a/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.cmake b/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.cmake
index 3dcde4027f..c5d0013b20 100644
--- a/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.cmake
+++ b/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.cmake
@@ -48,37 +48,9 @@ if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|aarch64|ppc64le)")
string(APPEND _GNU_COMMON_C_CXX_FLAGS " -fsigned-char")
endif()
-if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64|AMD64)$")
- if (CMAKE_SYSTEM_PROCESSOR STREQUAL "i686")
- string(APPEND _GNU_COMMON_C_CXX_FLAGS " -m32")
- elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$")
- string(APPEND _GNU_COMMON_C_CXX_FLAGS " -m64")
- endif()
- string(APPEND _GNU_COMMON_C_CXX_FLAGS "\
- -msse2 \
- -msse3 \
- -mssse3 \
- ")
+include(global_flags.compiler.gnu.march)
+string(APPEND _GNU_COMMON_C_CXX_FLAGS " ${_GNU_MARCH_C_CXX_FLAGS}")
- if ((CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$") OR (NOT ANDROID))
- string(APPEND _GNU_COMMON_C_CXX_FLAGS "\
- -msse4.1 \
- -msse4.2 \
- -mpopcnt \
- ")
- if (NOT ANDROID)
- # older clang versions did not support this feature on Android:
- # https://reviews.llvm.org/rGc32d307a49f5255602e7543e64e6c38a7f536abc
- string(APPEND _GNU_COMMON_C_CXX_FLAGS " -mcx16")
- endif()
- endif()
-
- if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- string(APPEND _GNU_COMMON_C_CXX_FLAGS " -D_YNDX_LIBUNWIND_ENABLE_EXCEPTION_BACKTRACE")
- endif()
-elseif (ANDROID AND (CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a"))
- string(APPEND _GNU_COMMON_C_CXX_FLAGS " -mfloat-abi=softfp")
-endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_GNU_COMMON_C_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_GNU_COMMON_C_CXX_FLAGS} \
diff --git a/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.march.cmake b/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.march.cmake
new file mode 100644
index 0000000000..a81af88c70
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.gnu.march.cmake
@@ -0,0 +1,34 @@
+
+set(_GNU_MARCH_C_CXX_FLAGS "")
+
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i686|x86_64|AMD64)$")
+ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "i686")
+ string(APPEND _GNU_MARCH_C_CXX_FLAGS " -m32")
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$")
+ string(APPEND _GNU_MARCH_C_CXX_FLAGS " -m64")
+ endif()
+ string(APPEND _GNU_MARCH_C_CXX_FLAGS "\
+ -msse2 \
+ -msse3 \
+ -mssse3 \
+ ")
+
+ if ((CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$") OR (NOT ANDROID))
+ string(APPEND _GNU_MARCH_C_CXX_FLAGS "\
+ -msse4.1 \
+ -msse4.2 \
+ -mpopcnt \
+ ")
+ if (NOT ANDROID)
+ # older clang versions did not support this feature on Android:
+ # https://reviews.llvm.org/rGc32d307a49f5255602e7543e64e6c38a7f536abc
+ string(APPEND _GNU_MARCH_C_CXX_FLAGS " -mcx16")
+ endif()
+ endif()
+
+ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ string(APPEND _GNU_MARCH_C_CXX_FLAGS " -D_YNDX_LIBUNWIND_ENABLE_EXCEPTION_BACKTRACE")
+ endif()
+elseif (ANDROID AND (CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a"))
+ string(APPEND _GNU_MARCH_C_CXX_FLAGS " -mfloat-abi=softfp")
+endif()
diff --git a/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.msvc.cmake b/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.msvc.cmake
index ffbd2e033c..1541beb834 100644
--- a/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.msvc.cmake
+++ b/build/export_generators/hardcoded-cmake/cmake/global_flags.compiler.msvc.cmake
@@ -1,3 +1,9 @@
+set(_IS_CLANG_CL_COMPILER
+ ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang
+ AND "${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC"
+ AND "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC"
+)
+
set(_WARNS_ENABLED
4018 # 'expression' : signed/unsigned mismatch
4265 # 'class' : class has virtual functions, but destructor is not virtual
@@ -64,9 +70,13 @@ set (_MSVC_COMMON_C_CXX_FLAGS " \
/permissive- \
/D_WIN32_WINNT=0x0601 \
/D_MBCS \
- /MP \
")
+if (NOT _IS_CLANG_CL_COMPILER)
+ # unused by clang-cl
+ string(APPEND _MSVC_COMMON_C_CXX_FLAGS " /MP")
+endif()
+
if (CMAKE_GENERATOR MATCHES "Visual.Studio.*")
string(APPEND _MSVC_COMMON_C_CXX_FLAGS "\
/DY_UCRT_INCLUDE=\"$(UniversalCRT_IncludePath.Split(';')[0].Replace('\\','/'))\" \
@@ -127,6 +137,15 @@ if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$")
")
endif()
+if (_IS_CLANG_CL_COMPILER)
+ # clang-cl works slighly differently than MSVC compiler when specifying arch options, so we have to set them differently
+ # https://github.com/llvm/llvm-project/issues/56722
+
+ include(global_flags.compiler.gnu.march)
+ string(APPEND _MSVC_COMMON_C_CXX_FLAGS " ${_GNU_MARCH_C_CXX_FLAGS}")
+endif()
+
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_MSVC_COMMON_C_CXX_FLAGS} \
")
diff --git a/build/export_generators/hardcoded-cmake/disclaimer.jinja b/build/export_generators/hardcoded-cmake/disclaimer.jinja
new file mode 100644
index 0000000000..d48958a576
--- /dev/null
+++ b/build/export_generators/hardcoded-cmake/disclaimer.jinja
@@ -0,0 +1,5 @@
+# This file was generated by the build system used internally in the Yandex monorepo.
+# Only simple modifications are allowed (adding source-files to targets, adding simple properties
+# like target_include_directories). These modifications will be ported to original
+# ya.make files by maintainers. Any complex modifications which can't be ported back to the
+# original buildsystem will not be accepted.
diff --git a/build/export_generators/hardcoded-cmake/generator.toml b/build/export_generators/hardcoded-cmake/generator.toml
index bcf9042105..648d69108a 100644
--- a/build/export_generators/hardcoded-cmake/generator.toml
+++ b/build/export_generators/hardcoded-cmake/generator.toml
@@ -4,6 +4,7 @@ templates=[
{ path="root_global_vars.jinja", dest="cmake/global_vars.cmake" },
]
copy=[
+ "cmake/global_flags.compiler.gnu.march.cmake",
"cmake/global_flags.compiler.gnu.cmake",
"cmake/global_flags.compiler.msvc.cmake",
"cmake/global_flags.linker.gnu.cmake",
diff --git a/build/export_generators/hardcoded-cmake/root_cmake_lists.jinja b/build/export_generators/hardcoded-cmake/root_cmake_lists.jinja
index f04b019278..fdd774fefe 100644
--- a/build/export_generators/hardcoded-cmake/root_cmake_lists.jinja
+++ b/build/export_generators/hardcoded-cmake/root_cmake_lists.jinja
@@ -1,9 +1,5 @@
-# This file was generated by the build system used internally in the Yandex monorepo.
-# Only simple modifications are allowed (adding source-files to targets, adding simple properties
-# like target_include_directories). These modifications will be ported to original
-# ya.make files by maintainers. Any complex modifications which can't be ported back to the
-# original buildsystem will not be accepted.
+{% include '[generator]/disclaimer.jinja' -%}
cmake_minimum_required(VERSION 3.15)
diff --git a/build/export_generators/hardcoded-cmake/root_global_vars.jinja b/build/export_generators/hardcoded-cmake/root_global_vars.jinja
index 398801d733..f57307b465 100644
--- a/build/export_generators/hardcoded-cmake/root_global_vars.jinja
+++ b/build/export_generators/hardcoded-cmake/root_global_vars.jinja
@@ -1,9 +1,5 @@
-# This file was generated by the build system used internally in the Yandex monorepo.
-# Only simple modifications are allowed (adding source-files to targets, adding simple properties
-# like target_include_directories). These modifications will be ported to original
-# ya.make files by maintainers. Any complex modifications which can't be ported back to the
-# original buildsystem will not be accepted.
+{% include '[generator]/disclaimer.jinja' -%}
{% for i in range(platform_vars|length) %}
if({{ platform_flags[i] }})
diff --git a/build/export_generators/ide-gradle/build.gradle.kts.jinja b/build/export_generators/ide-gradle/build.gradle.kts.jinja
index de22a0f850..dd57a390f1 100644
--- a/build/export_generators/ide-gradle/build.gradle.kts.jinja
+++ b/build/export_generators/ide-gradle/build.gradle.kts.jinja
@@ -100,6 +100,52 @@ tasks.test {
}
}
+{% set runs = targets|selectattr("runs") -%}
+{% if runs -%}
+{% for run in runs -%}
+tasks.build.dependsOn(
+ task<JavaExec>("runJavaProgram") {
+ group = "build"
+ description = "Code generation by rub java program"
+
+ mainClass.set(mainClass)
+{% if run.classpath -%}
+ classpath = "{{ run.classpath }}"
+{% else -%}
+ classpath = sourceSets.main.get().runtimeClasspath
+{% endif -%}
+{% if run.args -%}
+{# for arg in run.args #}
+ args = "{{ run.args }}"
+{% endif -%}
+{% if run.in_dir -%}
+{% for dir in run.in_dir -%}
+ inputs.files(fileTree("{{ dir }}"))
+{% endfor -%}
+{% endif -%}
+{% if run.in -%}
+{% for file in run.in -%}
+ inputs.files("{{ file }}")
+{% endfor -%}
+{% endif -%}
+{% if run.out_dir -%}
+{% for dir in run.out_dir -%}
+ outputs.dir("{{ dir }}")
+{% endfor -%}
+{#
+ Не использованы аттрибуты
+ run-cwd="str"
+ run-in_dirs_inputs="list"
+ run-in_noparse="list"
+ run-out_dir="list"
+ run-tool="list"
+#}
+{% endif -%}
+ }
+)
+{% endfor -%}
+{% endif -%}
+
val testsJar by tasks.registering(Jar::class) {
dependsOn(JavaPlugin.COMPILE_TEST_JAVA_TASK_NAME)
archiveClassifier.set("tests")
diff --git a/build/export_generators/ide-gradle/generator.toml b/build/export_generators/ide-gradle/generator.toml
index 409d32a05a..ad5799c415 100644
--- a/build/export_generators/ide-gradle/generator.toml
+++ b/build/export_generators/ide-gradle/generator.toml
@@ -41,6 +41,18 @@ with_kotlinc_plugin_lombok="bool"
with_kotlinc_plugin_noarg="bool"
with_kotlinc_plugin_serialization="bool"
+runs="list"
+runs-args="list"
+runs-classpath="list"
+runs-cwd="str"
+runs-in="list"
+runs-in_dir="list"
+runs-in_dirs_inputs="list"
+runs-in_noparse="list"
+runs-out="list"
+runs-out_dir="list"
+runs-tool="list"
+
[attrs.root]
[attrs.dir]
diff --git a/build/external_resources/yexport/resources.json b/build/external_resources/yexport/resources.json
index 4d3bedd7a4..9c12f1f5cb 100644
--- a/build/external_resources/yexport/resources.json
+++ b/build/external_resources/yexport/resources.json
@@ -1,13 +1,13 @@
{
"by_platform": {
"darwin": {
- "uri": "sbr:5641379824"
+ "uri": "sbr:5664933238"
},
"darwin-arm64": {
- "uri": "sbr:5641378801"
+ "uri": "sbr:5664930673"
},
"linux": {
- "uri": "sbr:5641398951"
+ "uri": "sbr:5664937024"
}
}
}
diff --git a/build/external_resources/ymake/public.resources.json b/build/external_resources/ymake/public.resources.json
index b695ea101e..847810b2dc 100644
--- a/build/external_resources/ymake/public.resources.json
+++ b/build/external_resources/ymake/public.resources.json
@@ -1,19 +1,19 @@
{
"by_platform": {
"darwin": {
- "uri": "sbr:5622651213"
+ "uri": "sbr:5647706426"
},
"darwin-arm64": {
- "uri": "sbr:5622657921"
+ "uri": "sbr:5647706238"
},
"linux": {
- "uri": "sbr:5622653964"
+ "uri": "sbr:5647708831"
},
"linux-aarch64": {
- "uri": "sbr:5622652638"
+ "uri": "sbr:5647716154"
},
"win32-clang-cl": {
- "uri": "sbr:5622653810"
+ "uri": "sbr:5647712429"
}
}
}
diff --git a/build/external_resources/ymake/resources.json b/build/external_resources/ymake/resources.json
index cf0a575548..6b87c38b3c 100644
--- a/build/external_resources/ymake/resources.json
+++ b/build/external_resources/ymake/resources.json
@@ -1,19 +1,19 @@
{
"by_platform": {
"darwin": {
- "uri": "sbr:5622649543"
+ "uri": "sbr:5647696994"
},
"darwin-arm64": {
- "uri": "sbr:5622648352"
+ "uri": "sbr:5647696710"
},
"linux": {
- "uri": "sbr:5622649049"
+ "uri": "sbr:5647705543"
},
"linux-aarch64": {
- "uri": "sbr:5622653320"
+ "uri": "sbr:5647701451"
},
"win32-clang-cl": {
- "uri": "sbr:5622653040"
+ "uri": "sbr:5647705607"
}
}
}
diff --git a/build/mapping.conf.json b/build/mapping.conf.json
index c02eb6afe5..774e314721 100644
--- a/build/mapping.conf.json
+++ b/build/mapping.conf.json
@@ -96,6 +96,7 @@
"5545691160": "https://devtools-registry.s3.yandex.net/5545691160",
"5559524010": "https://devtools-registry.s3.yandex.net/5559524010",
"5572005924": "https://devtools-registry.s3.yandex.net/5572005924",
+ "5669710623": "https://devtools-registry.s3.yandex.net/5669710623",
"5486731632": "https://devtools-registry.s3.yandex.net/5486731632",
"5514350352": "https://devtools-registry.s3.yandex.net/5514350352",
"5514360398": "https://devtools-registry.s3.yandex.net/5514360398",
@@ -109,6 +110,8 @@
"5559549864": "https://devtools-registry.s3.yandex.net/5559549864",
"5571992960": "https://devtools-registry.s3.yandex.net/5571992960",
"5572031172": "https://devtools-registry.s3.yandex.net/5572031172",
+ "5669730969": "https://devtools-registry.s3.yandex.net/5669730969",
+ "5669775571": "https://devtools-registry.s3.yandex.net/5669775571",
"4307890075": "https://devtools-registry.s3.yandex.net/4307890075",
"5517245192": "https://devtools-registry.s3.yandex.net/5517245192",
"4307901240": "https://devtools-registry.s3.yandex.net/4307901240",
@@ -119,6 +122,11 @@
"3050798466": "https://devtools-registry.s3.yandex.net/3050798466",
"3064614561": "https://devtools-registry.s3.yandex.net/3064614561",
"3166999959": "https://devtools-registry.s3.yandex.net/3166999959",
+ "5631222854": "https://devtools-registry.s3.yandex.net/5631222854",
+ "5631220729": "https://devtools-registry.s3.yandex.net/5631220729",
+ "5631255103": "https://devtools-registry.s3.yandex.net/5631255103",
+ "5631238759": "https://devtools-registry.s3.yandex.net/5631238759",
+ "5631258091": "https://devtools-registry.s3.yandex.net/5631258091",
"5054517618": "https://devtools-registry.s3.yandex.net/5054517618",
"5054512910": "https://devtools-registry.s3.yandex.net/5054512910",
"5054518131": "https://devtools-registry.s3.yandex.net/5054518131",
@@ -128,41 +136,49 @@
"5534092912": "https://devtools-registry.s3.yandex.net/5534092912",
"5562971772": "https://devtools-registry.s3.yandex.net/5562971772",
"5641388522": "https://devtools-registry.s3.yandex.net/5641388522",
+ "5664938929": "https://devtools-registry.s3.yandex.net/5664938929",
"5486590469": "https://devtools-registry.s3.yandex.net/5486590469",
"5498750509": "https://devtools-registry.s3.yandex.net/5498750509",
"5534043120": "https://devtools-registry.s3.yandex.net/5534043120",
"5562958333": "https://devtools-registry.s3.yandex.net/5562958333",
"5641392899": "https://devtools-registry.s3.yandex.net/5641392899",
+ "5664942614": "https://devtools-registry.s3.yandex.net/5664942614",
"5486590393": "https://devtools-registry.s3.yandex.net/5486590393",
"5498735180": "https://devtools-registry.s3.yandex.net/5498735180",
"5534059422": "https://devtools-registry.s3.yandex.net/5534059422",
"5562961825": "https://devtools-registry.s3.yandex.net/5562961825",
"5641386025": "https://devtools-registry.s3.yandex.net/5641386025",
+ "5664939545": "https://devtools-registry.s3.yandex.net/5664939545",
"5476908047": "https://devtools-registry.s3.yandex.net/5476908047",
"5509380757": "https://devtools-registry.s3.yandex.net/5509380757",
"5550834592": "https://devtools-registry.s3.yandex.net/5550834592",
"5569062376": "https://devtools-registry.s3.yandex.net/5569062376",
"5622651213": "https://devtools-registry.s3.yandex.net/5622651213",
+ "5647706426": "https://devtools-registry.s3.yandex.net/5647706426",
"5476891477": "https://devtools-registry.s3.yandex.net/5476891477",
"5509369518": "https://devtools-registry.s3.yandex.net/5509369518",
"5550838146": "https://devtools-registry.s3.yandex.net/5550838146",
"5569072879": "https://devtools-registry.s3.yandex.net/5569072879",
"5622657921": "https://devtools-registry.s3.yandex.net/5622657921",
+ "5647706238": "https://devtools-registry.s3.yandex.net/5647706238",
"5476896849": "https://devtools-registry.s3.yandex.net/5476896849",
"5509364024": "https://devtools-registry.s3.yandex.net/5509364024",
"5550826871": "https://devtools-registry.s3.yandex.net/5550826871",
"5569070627": "https://devtools-registry.s3.yandex.net/5569070627",
"5622653964": "https://devtools-registry.s3.yandex.net/5622653964",
+ "5647708831": "https://devtools-registry.s3.yandex.net/5647708831",
"5476895322": "https://devtools-registry.s3.yandex.net/5476895322",
"5509360013": "https://devtools-registry.s3.yandex.net/5509360013",
"5550843115": "https://devtools-registry.s3.yandex.net/5550843115",
"5569095361": "https://devtools-registry.s3.yandex.net/5569095361",
"5622652638": "https://devtools-registry.s3.yandex.net/5622652638",
+ "5647716154": "https://devtools-registry.s3.yandex.net/5647716154",
"5476896707": "https://devtools-registry.s3.yandex.net/5476896707",
"5509388614": "https://devtools-registry.s3.yandex.net/5509388614",
"5550838970": "https://devtools-registry.s3.yandex.net/5550838970",
"5569066861": "https://devtools-registry.s3.yandex.net/5569066861",
"5622653810": "https://devtools-registry.s3.yandex.net/5622653810",
+ "5647712429": "https://devtools-registry.s3.yandex.net/5647712429",
"2980468199": "https://devtools-registry.s3.yandex.net/2980468199",
"5562224408": "https://devtools-registry.s3.yandex.net/5562224408"
},
@@ -262,6 +278,7 @@
"5545691160": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
"5559524010": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
"5572005924": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
+ "5669710623": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
"5486731632": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5514350352": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5514360398": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
@@ -275,6 +292,8 @@
"5559549864": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5571992960": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5572031172": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
+ "5669730969": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
+ "5669775571": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"4307890075": "flake8_linter for linux",
"5517245192": "flake8_linter for linux",
"4307901240": "flake8_linter for linux-aarch64",
@@ -285,6 +304,11 @@
"3050798466": "openjdk 11.0.15 vanilla for darwin-arm64",
"3064614561": "openjdk 11.0.15 vanilla for linux",
"3166999959": "openjdk 11.0.15 vanilla for windows",
+ "5631222854": "python3 for darwin",
+ "5631220729": "python3 for darwin-arm64",
+ "5631255103": "python3 for linux",
+ "5631238759": "python3 for linux-aarch64",
+ "5631258091": "python3.exe for win32",
"5054517618": "ya-tc for darwin",
"5054512910": "ya-tc for darwin-arm64",
"5054518131": "ya-tc for linux",
@@ -294,41 +318,49 @@
"5534092912": "yexport for darwin",
"5562971772": "yexport for darwin",
"5641388522": "yexport for darwin",
+ "5664938929": "yexport for darwin",
"5486590469": "yexport for darwin-arm64",
"5498750509": "yexport for darwin-arm64",
"5534043120": "yexport for darwin-arm64",
"5562958333": "yexport for darwin-arm64",
"5641392899": "yexport for darwin-arm64",
+ "5664942614": "yexport for darwin-arm64",
"5486590393": "yexport for linux",
"5498735180": "yexport for linux",
"5534059422": "yexport for linux",
"5562961825": "yexport for linux",
"5641386025": "yexport for linux",
+ "5664939545": "yexport for linux",
"5476908047": "ymake for darwin",
"5509380757": "ymake for darwin",
"5550834592": "ymake for darwin",
"5569062376": "ymake for darwin",
"5622651213": "ymake for darwin",
+ "5647706426": "ymake for darwin",
"5476891477": "ymake for darwin-arm64",
"5509369518": "ymake for darwin-arm64",
"5550838146": "ymake for darwin-arm64",
"5569072879": "ymake for darwin-arm64",
"5622657921": "ymake for darwin-arm64",
+ "5647706238": "ymake for darwin-arm64",
"5476896849": "ymake for linux",
"5509364024": "ymake for linux",
"5550826871": "ymake for linux",
"5569070627": "ymake for linux",
"5622653964": "ymake for linux",
+ "5647708831": "ymake for linux",
"5476895322": "ymake for linux-aarch64",
"5509360013": "ymake for linux-aarch64",
"5550843115": "ymake for linux-aarch64",
"5569095361": "ymake for linux-aarch64",
"5622652638": "ymake for linux-aarch64",
+ "5647716154": "ymake for linux-aarch64",
"5476896707": "ymake.exe for win32-clang-cl",
"5509388614": "ymake.exe for win32-clang-cl",
"5550838970": "ymake.exe for win32-clang-cl",
"5569066861": "ymake.exe for win32-clang-cl",
"5622653810": "ymake.exe for win32-clang-cl",
+ "5647712429": "ymake.exe for win32-clang-cl",
"2980468199": "ytexec for linux",
"5562224408": "ytexec for linux"
},
diff --git a/build/platform/python/ymake_python3/resources.json b/build/platform/python/ymake_python3/resources.json
index 1030ad9419..6f8b0d45cc 100644
--- a/build/platform/python/ymake_python3/resources.json
+++ b/build/platform/python/ymake_python3/resources.json
@@ -1,22 +1,19 @@
{
"by_platform": {
- "darwin-arm64": {
- "uri": "sbr:3877389564"
- },
- "darwin-x86_64": {
- "uri": "sbr:3877389803"
- },
- "linux-x86_64": {
- "uri": "sbr:3877390008"
+ "darwin": {
+ "uri": "sbr:5631222854"
},
- "linux-ppc64le": {
- "uri": "sbr:3877389242"
+ "darwin-arm64": {
+ "uri": "sbr:5631220729"
},
- "win32-x86_64": {
- "uri": "sbr:3877388826"
+ "linux": {
+ "uri": "sbr:5631255103"
},
"linux-aarch64": {
- "uri": "sbr:3877389037"
+ "uri": "sbr:5631238759"
+ },
+ "win32": {
+ "uri": "sbr:5631258091"
}
}
}
diff --git a/build/platform/test_tool/host.ya.make.inc b/build/platform/test_tool/host.ya.make.inc
index 5f1cb27489..574114fd56 100644
--- a/build/platform/test_tool/host.ya.make.inc
+++ b/build/platform/test_tool/host.ya.make.inc
@@ -1,17 +1,17 @@
IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572004205)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571990421)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669709337)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669729085)
ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572003616)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571989359)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669708785)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669728222)
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572005924)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571992960)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669710623)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669730969)
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572002846)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571988789)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669708289)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669727277)
ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572004883)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571991734)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669710089)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669729907)
ENDIF()
diff --git a/build/platform/test_tool/host_os.ya.make.inc b/build/platform/test_tool/host_os.ya.make.inc
index 8c560d2926..d040dca797 100644
--- a/build/platform/test_tool/host_os.ya.make.inc
+++ b/build/platform/test_tool/host_os.ya.make.inc
@@ -1,17 +1,17 @@
IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572030275)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572030275)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669773014)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669773014)
ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572029953)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572029953)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669771519)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669771519)
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572031172)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572031172)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669775571)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669775571)
ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572029455)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572029455)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669770320)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669770320)
ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572030696)
- DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572030696)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5669774343)
+ DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5669774343)
ENDIF()
diff --git a/build/plugins/lib/test_const/__init__.py b/build/plugins/lib/test_const/__init__.py
index d17a8a652b..52aa8a05b8 100644
--- a/build/plugins/lib/test_const/__init__.py
+++ b/build/plugins/lib/test_const/__init__.py
@@ -134,10 +134,12 @@ COVERAGE_ENV_VARS = (
PYTHON_COVERAGE_PREFIX_FILTER_ENV_NAME = 'PYTHON_COVERAGE_PREFIX_FILTER'
PYTHON_COVERAGE_EXCLUDE_REGEXP_ENV_NAME = 'PYTHON_COVERAGE_EXCLUDE_REGEXP'
+# TODO get rid of this list - resolve nodes should be added automatically depending on the lang of the target module and their deps
CLANG_COVERAGE_TEST_TYPES = (
"boost_test",
"coverage_extractor",
"exectest",
+ "fuzz",
"gtest",
"go_test",
# java tests might use shared libraries
@@ -147,6 +149,7 @@ CLANG_COVERAGE_TEST_TYPES = (
"pytest",
"unittest",
)
+
COVERAGE_TABLE_CHUNKS = 20
COVERAGE_TESTS_TIMEOUT_FACTOR = 1.5
COVERAGE_YT_PROXY = "hahn.yt.yandex.net"
diff --git a/build/plugins/ytest.py b/build/plugins/ytest.py
index edf060c8ae..182e4b25e4 100644
--- a/build/plugins/ytest.py
+++ b/build/plugins/ytest.py
@@ -32,6 +32,8 @@ PARTITION_MODS = ('SEQUENTIAL', 'MODULO')
DEFAULT_TIDY_CONFIG = "build/config/tests/clang_tidy/config.yaml"
DEFAULT_TIDY_CONFIG_MAP_PATH = "build/yandex_specific/config/clang_tidy/tidy_default_map.json"
PROJECT_TIDY_CONFIG_MAP_PATH = "build/yandex_specific/config/clang_tidy/tidy_project_map.json"
+KTLINT_CURRENT_EDITOR_CONFIG = "arcadia/build/platform/java/ktlint/.editorconfig"
+KTLINT_OLD_EDITOR_CONFIG = "arcadia/build/platform/java/ktlint_old/.editorconfig"
tidy_config_map = None
@@ -651,8 +653,13 @@ def onadd_check(unit, *args):
fork_mode = unit.get('TEST_FORK_MODE') or ''
elif check_type == "ktlint":
test_timeout = '120'
- ktlint_binary = '$(KTLINT_OLD)/run.bat' if unit.get('_USE_KTLINT_OLD') == 'yes' else '$(KTLINT)/run.bat'
- extra_test_dart_data['KTLINT_BINARY'] = ktlint_binary
+ if unit.get('_USE_KTLINT_OLD') == 'yes':
+ extra_test_data = serialize_list([KTLINT_OLD_EDITOR_CONFIG])
+ extra_test_dart_data['KTLINT_BINARY'] = '$(KTLINT_OLD)/run.bat'
+ extra_test_dart_data['USE_KTLINT_OLD'] = 'yes'
+ else:
+ extra_test_data = serialize_list([KTLINT_CURRENT_EDITOR_CONFIG])
+ extra_test_dart_data['KTLINT_BINARY'] = '$(KTLINT)/run.bat'
elif check_type == "JAVA_STYLE":
if ymake_java_test and not unit.get('ALL_SRCDIRS'):
return
diff --git a/build/scripts/create_recursive_library_for_cmake.py b/build/scripts/create_recursive_library_for_cmake.py
index 0023e7d02a..7ba030ac21 100644
--- a/build/scripts/create_recursive_library_for_cmake.py
+++ b/build/scripts/create_recursive_library_for_cmake.py
@@ -29,7 +29,7 @@ class Opts(object):
if other_args[0] != '--linking-cmdline':
raise Exception("expected '--linking-cmdline' arg, got {}".format(other_args[0]))
- self.is_msvc_linker = other_args[1].endswith('\\link.exe')
+ self.is_msvc_compatible_linker = other_args[1].endswith('\\link.exe') or other_args[1].endswith('\\lld-link.exe')
is_host_system_windows = self.parsed_args.cmake_host_system_name == 'Windows'
std_libraries_to_exclude_from_input = (
@@ -38,11 +38,9 @@ class Opts(object):
else set()
)
msvc_preserved_option_prefixes = [
- 'errorreport',
'machine:',
'nodefaultlib',
'nologo',
- 'subsystem',
]
self.preserved_options = []
@@ -129,7 +127,7 @@ class FilesCombiner(object):
# force LIBTOOL even if CMAKE_AR is defined because 'ar' under Darwin does not contain the necessary options
arch_type = 'LIBTOOL'
archiver_tool_path = 'libtool'
- elif opts.is_msvc_linker:
+ elif opts.is_msvc_compatible_linker:
arch_type = 'LIB'
elif opts.parsed_args.cmake_ar.endswith('llvm-ar'):
arch_type = 'LLVM_AR'
@@ -152,7 +150,7 @@ class FilesCombiner(object):
def do(self, output, input_list):
input_file_path = None
try:
- if self.opts.is_msvc_linker:
+ if self.opts.is_msvc_compatible_linker:
# use response file for input (because of Windows cmdline length limitations)
# can't use NamedTemporaryFile because of permissions issues on Windows
@@ -177,7 +175,7 @@ class FilesCombiner(object):
if input_file_path is not None:
os.remove(input_file_path)
- if not self.opts.is_msvc_linker:
+ if not self.opts.is_msvc_compatible_linker:
subprocess.check_call([self.opts.parsed_args.cmake_ranlib, output])
diff --git a/build/scripts/fetch_from.py b/build/scripts/fetch_from.py
index 2ebe6f0e51..ca3e7b3684 100755
--- a/build/scripts/fetch_from.py
+++ b/build/scripts/fetch_from.py
@@ -315,6 +315,10 @@ def chmod(filename, mode):
raise
+def make_readonly(filename):
+ chmod(filename, os.stat(filename).st_mode & 0o111 | 0o444)
+
+
def process(fetched_file, file_name, args, remove=True):
assert len(args.rename) <= len(args.outputs), ('too few outputs to rename', args.rename, 'into', args.outputs)
@@ -326,9 +330,9 @@ def process(fetched_file, file_name, args, remove=True):
if fetched_file_is_dir:
for root, _, files in os.walk(fetched_file):
for filename in files:
- chmod(os.path.join(root, filename), 0o444)
+ make_readonly(os.path.join(root, filename))
else:
- chmod(fetched_file, 0o444)
+ make_readonly(fetched_file)
if args.copy_to:
hardlink_or_copy(fetched_file, args.copy_to)
@@ -367,7 +371,7 @@ def process(fetched_file, file_name, args, remove=True):
# Forbid changes to the loaded resource data
for root, _, files in os.walk(args.untar_to):
for filename in files:
- chmod(os.path.join(root, filename), 0o444)
+ make_readonly(os.path.join(root, filename))
for src, dst in zip(args.rename, args.outputs):
if src == 'RESOURCE':
diff --git a/build/sysincl/emscripten.yml b/build/sysincl/emscripten.yml
new file mode 100644
index 0000000000..a7c03e6228
--- /dev/null
+++ b/build/sysincl/emscripten.yml
@@ -0,0 +1 @@
+- includes:
diff --git a/build/sysincl/stl-to-libcxx.yml b/build/sysincl/stl-to-libcxx.yml
index d51bd0ee2d..b1999e34a2 100644
--- a/build/sysincl/stl-to-libcxx.yml
+++ b/build/sysincl/stl-to-libcxx.yml
@@ -187,6 +187,7 @@
- __tree: contrib/libs/cxxsupp/libcxx/include/__tree
- __tuple: contrib/libs/cxxsupp/libcxx/include/__tuple
- __undef_macros: contrib/libs/cxxsupp/libcxx/include/__undef_macros
+ - __verbose_abort: contrib/libs/cxxsupp/libcxx/include/__verbose_abort
- __algorithm/adjacent_find.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/adjacent_find.h
- __algorithm/all_of.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/all_of.h
- __algorithm/any_of.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/any_of.h
@@ -260,6 +261,7 @@
- __algorithm/ranges_all_of.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_all_of.h
- __algorithm/ranges_any_of.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_any_of.h
- __algorithm/ranges_binary_search.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_binary_search.h
+ - __algorithm/ranges_clamp.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_clamp.h
- __algorithm/ranges_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_copy.h
- __algorithm/ranges_copy_backward.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_copy_backward.h
- __algorithm/ranges_copy_if.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_copy_if.h
@@ -284,6 +286,7 @@
- __algorithm/ranges_is_heap.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_is_heap.h
- __algorithm/ranges_is_heap_until.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_is_heap_until.h
- __algorithm/ranges_is_partitioned.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_is_partitioned.h
+ - __algorithm/ranges_is_permutation.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_is_permutation.h
- __algorithm/ranges_is_sorted.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_is_sorted.h
- __algorithm/ranges_is_sorted_until.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_is_sorted_until.h
- __algorithm/ranges_iterator_concept.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_iterator_concept.h
@@ -300,6 +303,7 @@
- __algorithm/ranges_mismatch.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_mismatch.h
- __algorithm/ranges_move.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_move.h
- __algorithm/ranges_move_backward.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_move_backward.h
+ - __algorithm/ranges_next_permutation.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_next_permutation.h
- __algorithm/ranges_none_of.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_none_of.h
- __algorithm/ranges_nth_element.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_nth_element.h
- __algorithm/ranges_partial_sort.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_partial_sort.h
@@ -308,6 +312,7 @@
- __algorithm/ranges_partition_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_partition_copy.h
- __algorithm/ranges_partition_point.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_partition_point.h
- __algorithm/ranges_pop_heap.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_pop_heap.h
+ - __algorithm/ranges_prev_permutation.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_prev_permutation.h
- __algorithm/ranges_push_heap.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_push_heap.h
- __algorithm/ranges_remove.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_remove.h
- __algorithm/ranges_remove_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_remove_copy.h
@@ -319,7 +324,9 @@
- __algorithm/ranges_replace_if.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_replace_if.h
- __algorithm/ranges_reverse.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_reverse.h
- __algorithm/ranges_reverse_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_reverse_copy.h
+ - __algorithm/ranges_rotate.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_rotate.h
- __algorithm/ranges_rotate_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_rotate_copy.h
+ - __algorithm/ranges_sample.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_sample.h
- __algorithm/ranges_search.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_search.h
- __algorithm/ranges_search_n.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_search_n.h
- __algorithm/ranges_set_difference.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_set_difference.h
@@ -365,9 +372,11 @@
- __algorithm/stable_sort.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/stable_sort.h
- __algorithm/swap_ranges.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/swap_ranges.h
- __algorithm/transform.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/transform.h
+ - __algorithm/uniform_random_bit_generator_adaptor.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
- __algorithm/unique.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/unique.h
- __algorithm/unique_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h
- __algorithm/unwrap_iter.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/unwrap_iter.h
+ - __algorithm/unwrap_range.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/unwrap_range.h
- __algorithm/upper_bound.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/upper_bound.h
- __bit/bit_cast.h: contrib/libs/cxxsupp/libcxx/include/__bit/bit_cast.h
- __bit/byteswap.h: contrib/libs/cxxsupp/libcxx/include/__bit/byteswap.h
@@ -561,6 +570,7 @@
- __memory/ranges_uninitialized_algorithms.h: contrib/libs/cxxsupp/libcxx/include/__memory/ranges_uninitialized_algorithms.h
- __memory/raw_storage_iterator.h: contrib/libs/cxxsupp/libcxx/include/__memory/raw_storage_iterator.h
- __memory/shared_ptr.h: contrib/libs/cxxsupp/libcxx/include/__memory/shared_ptr.h
+ - __memory/swap_allocator.h: contrib/libs/cxxsupp/libcxx/include/__memory/swap_allocator.h
- __memory/temporary_buffer.h: contrib/libs/cxxsupp/libcxx/include/__memory/temporary_buffer.h
- __memory/uninitialized_algorithms.h: contrib/libs/cxxsupp/libcxx/include/__memory/uninitialized_algorithms.h
- __memory/unique_ptr.h: contrib/libs/cxxsupp/libcxx/include/__memory/unique_ptr.h
@@ -676,10 +686,16 @@
- __type_traits/add_pointer.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/add_pointer.h
- __type_traits/add_rvalue_reference.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/add_rvalue_reference.h
- __type_traits/add_volatile.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/add_volatile.h
+ - __type_traits/aligned_storage.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/aligned_storage.h
+ - __type_traits/aligned_union.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/aligned_union.h
- __type_traits/alignment_of.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/alignment_of.h
- __type_traits/apply_cv.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/apply_cv.h
+ - __type_traits/common_reference.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/common_reference.h
+ - __type_traits/common_type.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/common_type.h
- __type_traits/conditional.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/conditional.h
- __type_traits/conjunction.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/conjunction.h
+ - __type_traits/copy_cv.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/copy_cv.h
+ - __type_traits/copy_cvref.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/copy_cvref.h
- __type_traits/decay.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/decay.h
- __type_traits/disjunction.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/disjunction.h
- __type_traits/enable_if.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/enable_if.h
@@ -721,6 +737,7 @@
- __type_traits/is_move_constructible.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_move_constructible.h
- __type_traits/is_nothrow_assignable.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_nothrow_assignable.h
- __type_traits/is_nothrow_constructible.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_nothrow_constructible.h
+ - __type_traits/is_nothrow_convertible.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_nothrow_convertible.h
- __type_traits/is_nothrow_copy_assignable.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_nothrow_copy_assignable.h
- __type_traits/is_nothrow_copy_constructible.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_nothrow_copy_constructible.h
- __type_traits/is_nothrow_default_constructible.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_nothrow_default_constructible.h
@@ -732,6 +749,7 @@
- __type_traits/is_pod.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_pod.h
- __type_traits/is_pointer.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_pointer.h
- __type_traits/is_polymorphic.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_polymorphic.h
+ - __type_traits/is_primary_template.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_primary_template.h
- __type_traits/is_reference.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_reference.h
- __type_traits/is_reference_wrapper.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_reference_wrapper.h
- __type_traits/is_referenceable.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_referenceable.h
@@ -739,6 +757,7 @@
- __type_traits/is_scalar.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_scalar.h
- __type_traits/is_scoped_enum.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_scoped_enum.h
- __type_traits/is_signed.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_signed.h
+ - __type_traits/is_signed_integer.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_signed_integer.h
- __type_traits/is_standard_layout.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_standard_layout.h
- __type_traits/is_trivial.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_trivial.h
- __type_traits/is_trivially_assignable.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_trivially_assignable.h
@@ -753,18 +772,28 @@
- __type_traits/is_unbounded_array.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_unbounded_array.h
- __type_traits/is_union.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_union.h
- __type_traits/is_unsigned.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_unsigned.h
+ - __type_traits/is_unsigned_integer.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_unsigned_integer.h
+ - __type_traits/is_valid_expansion.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_valid_expansion.h
- __type_traits/is_void.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_void.h
- __type_traits/is_volatile.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/is_volatile.h
+ - __type_traits/lazy.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/lazy.h
+ - __type_traits/make_32_64_or_128_bit.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/make_32_64_or_128_bit.h
+ - __type_traits/make_signed.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/make_signed.h
+ - __type_traits/make_unsigned.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/make_unsigned.h
+ - __type_traits/nat.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/nat.h
- __type_traits/negation.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/negation.h
+ - __type_traits/promote.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/promote.h
- __type_traits/rank.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/rank.h
- __type_traits/remove_all_extents.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_all_extents.h
- __type_traits/remove_const.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_const.h
- __type_traits/remove_cv.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_cv.h
+ - __type_traits/remove_cvref.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_cvref.h
- __type_traits/remove_extent.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_extent.h
- __type_traits/remove_pointer.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_pointer.h
- __type_traits/remove_reference.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_reference.h
- __type_traits/remove_volatile.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/remove_volatile.h
- __type_traits/type_identity.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/type_identity.h
+ - __type_traits/type_list.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/type_list.h
- __type_traits/underlying_type.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/underlying_type.h
- __type_traits/void_t.h: contrib/libs/cxxsupp/libcxx/include/__type_traits/void_t.h
- __utility/as_const.h: contrib/libs/cxxsupp/libcxx/include/__utility/as_const.h
diff --git a/build/ya.conf.json b/build/ya.conf.json
index d0be1fd1dd..a637a3471e 100644
--- a/build/ya.conf.json
+++ b/build/ya.conf.json
@@ -168,6 +168,14 @@
},
"formula": "build/platform/python/ymake_python2/resources.json"
},
+ "python3": {
+ "executable": {
+ "python3": [
+ "python3"
+ ]
+ },
+ "formula": "build/platform/python/ymake_python3/resources.json"
+ },
"ya-tc": {
"executable": {
"ya-tc": [
@@ -1152,6 +1160,49 @@
}
}
},
+ "python3": {
+ "platforms": [
+ {
+ "default": true,
+ "host": {
+ "arch": "x86_64",
+ "os": "LINUX"
+ }
+ },
+ {
+ "default": true,
+ "host": {
+ "arch": "aarch64",
+ "os": "LINUX"
+ }
+ },
+ {
+ "default": true,
+ "host": {
+ "os": "WIN"
+ }
+ },
+ {
+ "default": true,
+ "host": {
+ "os": "DARWIN"
+ }
+ },
+ {
+ "default": true,
+ "host": {
+ "arch": "arm64",
+ "os": "DARWIN"
+ }
+ }
+ ],
+ "tools": {
+ "python3": {
+ "bottle": "python3",
+ "executable": "python3"
+ }
+ }
+ },
"ya-tc": {
"platforms": [
{
@@ -1367,6 +1418,10 @@
"description": "Run pseudo-python",
"visible": false
},
+ "python3": {
+ "description": "Run Python 3",
+ "visible": false
+ },
"strip": {
"description": "Run strip utility"
},
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index e16ce95cf4..6b8e31642f 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -9,7 +9,7 @@
FAKEID=628318530716
SANDBOX_FAKEID=${FAKEID}.7600000
-CPP_FAKEID=2023-12-06
+CPP_FAKEID=2023-12-07
GO_FAKEID=11100371
ANDROID_FAKEID=2023-05-17
CLANG_TIDY_FAKEID=2023-06-06
@@ -308,11 +308,6 @@ otherwise {
}
}
-# tag:linux-specific
-when ($OS_LINUX && $OS_SDK == "ubuntu-14" && $MUSL != "yes") {
- USE_UBUNTU_COMPATIBILITY=yes
-}
-
USE_ARCADIA_PYTHON=yes
USE_ARCADIA_LIBM=no
USE_EAT_MY_DATA=no
@@ -702,18 +697,6 @@ module _BASE_UNIT: _BARE_UNIT {
PEERDIR+=contrib/libs/linux-headers
}
- # Adding PEERDIR from trigger doesn't always work. In this case it
- # cause troubles in contrib/libs/libc_compat/ubuntu_14 under musl
- # Workaround this issue by setting variable with PEERDIR in trigger
- # and then adding PEERDIR to it's value unconditionally.
- when ($USE_UBUNTU_COMPATIBILITY == "yes" && $NEED_PLATFORM_PEERDIRS == "yes") {
- _UBUNTU_COMPAT_PEERDIR=contrib/libs/libc_compat/ubuntu_14
- }
- otherwise {
- _UBUNTU_COMPAT_PEERDIR=
- }
- PEERDIR+=$_UBUNTU_COMPAT_PEERDIR
-
when ($NORUNTIME != "yes") {
PEERDIR+=contrib/libs/cxxsupp
when ($MAPSMOBI_BUILD_TARGET == "yes") {
@@ -845,11 +828,16 @@ when ($COMMON_LINK_SETTINGS == "yes") {
MODULE_LICENSES_RESTRICTION_EXCEPTIONS+=contrib/libs/libeatmydata
}
- when ($USE_ARCADIA_LIBM == "yes") {
- PEERDIR+=contrib/libs/libm
+ when ($OS_EMSCRIPTEN == "yes") {
+ # Do nothing.
}
- when ($USE_ARCADIA_LIBM == "no") {
- C_SYSTEM_LIBRARIES+=-lm
+ otherwise {
+ when ($USE_ARCADIA_LIBM == "yes") {
+ PEERDIR+=contrib/libs/libm
+ }
+ when ($USE_ARCADIA_LIBM == "no") {
+ C_SYSTEM_LIBRARIES+=-lm
+ }
}
when (($MUSL != "yes" && $WITH_VALGRIND == "yes") || $SANITIZER_DEFINED == "yes") {
@@ -1771,10 +1759,6 @@ module _LIBRARY: _BASE_UNIT {
# https://st.yandex-team.ru/DTCC-1227
CFLAGS+=-fdebug-default-version=4
}
-
- when ($USE_ARCADIA_LIBM == "yes") {
- PEERDIR+=contrib/libs/libm
- }
}
CPP_LIBRARY_INDUCED_SEM_PROPERTY=consumer_link_library
diff --git a/build/ymake_conf.py b/build/ymake_conf.py
index a7c4ae1fb4..d9c1882d73 100755
--- a/build/ymake_conf.py
+++ b/build/ymake_conf.py
@@ -2328,7 +2328,7 @@ class Cuda(object):
if self.build.host_target[1].is_linux:
mtime = ' --mtime ${tool:"tools/mtime0"} '
if not self.cuda_use_clang.value:
- cmd = '$YMAKE_PYTHON ${input:"build/scripts/compile_cuda.py"}' + mtime + '$NVCC $NVCC_FLAGS -c ${input:SRC} -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:SRC} ${pre=-I:_C__INCLUDE} --cflags $C_FLAGS_PLATFORM $CXXFLAGS $NVCC_STD $NVCC_CFLAGS $SRCFLAGS ${input;hide:"build/platform/cuda/cuda_runtime_include.h"} $CUDA_HOST_COMPILER_ENV ${kv;hide:"p CC"} ${kv;hide:"pc light-green"}' # noqa E501
+ cmd = '$YMAKE_PYTHON ${input:"build/scripts/compile_cuda.py"}' + mtime + '$NVCC $NVCC_STD $NVCC_FLAGS -c ${input:SRC} -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:SRC} ${pre=-I:_C__INCLUDE} --cflags $C_FLAGS_PLATFORM $CXXFLAGS $NVCC_STD $NVCC_CFLAGS $SRCFLAGS ${input;hide:"build/platform/cuda/cuda_runtime_include.h"} $CUDA_HOST_COMPILER_ENV ${kv;hide:"p CC"} ${kv;hide:"pc light-green"}' # noqa E501
else:
cmd = '$CXX_COMPILER --cuda-path=$CUDA_ROOT $C_FLAGS_PLATFORM -c ${input:SRC} -o ${output;suf=${OBJ_SUF}${NVCC_OBJ_EXT}:SRC} ${pre=-I:_C__INCLUDE} $CXXFLAGS $SRCFLAGS $TOOLCHAIN_ENV ${kv;hide:"p CU"} ${kv;hide:"pc green"}' # noqa E501