diff options
author | AlexSm <alex@ydb.tech> | 2024-01-18 11:28:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-18 11:28:56 +0100 |
commit | 9d0a3761b3201e0d9db879a7adf91876ebdb0564 (patch) | |
tree | 541d11ac878c18efd7ebca81e35112aa0fef995b /build | |
parent | 404ef8886ecc9736bc58ade6da2fbd83b486a408 (diff) | |
download | ydb-9d0a3761b3201e0d9db879a7adf91876ebdb0564.tar.gz |
Library import 8 (#1074)
* Library import 8
* Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
Diffstat (limited to 'build')
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 |