diff options
author | AlexSm <alex@ydb.tech> | 2023-12-27 23:31:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-27 23:31:58 +0100 |
commit | d67bfb4b4b7549081543e87a31bc6cb5c46ac973 (patch) | |
tree | 8674f2f1570877cb653e7ddcff37ba00288de15a /build | |
parent | 1f6bef05ed441c3aa2d565ac792b26cded704ac7 (diff) | |
download | ydb-d67bfb4b4b7549081543e87a31bc6cb5c46ac973.tar.gz |
Import libs 4 (#758)
Diffstat (limited to 'build')
-rw-r--r-- | build/conf/go.conf | 2 | ||||
-rw-r--r-- | build/conf/java.conf | 3 | ||||
-rw-r--r-- | build/conf/sysincl.conf | 4 | ||||
-rw-r--r-- | build/mapping.conf.json | 6 | ||||
-rw-r--r-- | build/platform/test_tool/host.ya.make.inc | 20 | ||||
-rw-r--r-- | build/platform/test_tool/host_os.ya.make.inc | 20 | ||||
-rw-r--r-- | build/sysincl/local-compiler-runtime.yml | 7 | ||||
-rw-r--r-- | build/sysincl/stl-to-libcxx.yml | 10 | ||||
-rw-r--r-- | build/ya.conf.json | 4 | ||||
-rw-r--r-- | build/ymake.core.conf | 26 | ||||
-rwxr-xr-x | build/ymake_conf.py | 72 |
11 files changed, 117 insertions, 57 deletions
diff --git a/build/conf/go.conf b/build/conf/go.conf index 18d3430584..44fdb693e3 100644 --- a/build/conf/go.conf +++ b/build/conf/go.conf @@ -989,7 +989,7 @@ macro GO_MOCKGEN_FROM(Path) { # tag:go-specific macro GO_MOCKGEN_CONTRIB_FROM(Path) { - SET(MOCKGEN_FROM ${GO_CONTRIB_PROJECT_PREFIX}/${Path}) + SET(MOCKGEN_FROM ${GO_CONTRIB_PROJECT_PREFIX}${Path}) SET(MOCKGEN_MODULE ${Path}) } diff --git a/build/conf/java.conf b/build/conf/java.conf index 2933045098..1422fe9c6b 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -673,9 +673,6 @@ macro _PACK_JAR_HELPER(Out) { macro _JAVAC_RUN_HELPER(JAVAC_CMD_WITH_ARGS...) { .CMD=${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/with_pathsep_resolve.py"} $YMAKE_PYTHON ${input:"build/scripts/setup_java_tmpdir.py"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} --sources-list ${BINDIR}/all-java.srclst ${JAVAC_CMD_WITH_ARGS} @${BINDIR}/all-java.srclst -classpath ${ARCADIA_BUILD_ROOT}/bfg.jar -Xpkginfo:always ${JAVAC_OPTS} $_JAR_ANN_PROC_OPTS($_JAR_ANN_PROCESSORS) -d ${BINDIR}/cls -g -encoding UTF-8 } -macro _ADD_HIDDEN_INPUTS(Inputs...) { - .CMD=${input;hide:Inputs} -} # tag:java-specific ERROR_PRONE_JDK16_ADD_OPENS=-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED diff --git a/build/conf/sysincl.conf b/build/conf/sysincl.conf index 933bcc3d73..6b2e9e97a8 100644 --- a/build/conf/sysincl.conf +++ b/build/conf/sysincl.conf @@ -78,3 +78,7 @@ when ($ARCH_RISCV32) { SYSINCL+=build/sysincl/newlib.yml SYSINCL+=build/sysincl/esp-idf.yml } + +when ($USE_ARCADIA_COMPILER_RUNTIME == "no") { + SYSINCL+=build/sysincl/local-compiler-runtime.yml +} diff --git a/build/mapping.conf.json b/build/mapping.conf.json index 9d47061c24..60e3cef573 100644 --- a/build/mapping.conf.json +++ b/build/mapping.conf.json @@ -87,6 +87,7 @@ "5530948376": "https://devtools-registry.s3.yandex.net/5530948376", "5545691160": "https://devtools-registry.s3.yandex.net/5545691160", "5559524010": "https://devtools-registry.s3.yandex.net/5559524010", + "5572005924": "https://devtools-registry.s3.yandex.net/5572005924", "5486731632": "https://devtools-registry.s3.yandex.net/5486731632", "5514350352": "https://devtools-registry.s3.yandex.net/5514350352", "5514360398": "https://devtools-registry.s3.yandex.net/5514360398", @@ -98,6 +99,8 @@ "5545709989": "https://devtools-registry.s3.yandex.net/5545709989", "5559537477": "https://devtools-registry.s3.yandex.net/5559537477", "5559549864": "https://devtools-registry.s3.yandex.net/5559549864", + "5571992960": "https://devtools-registry.s3.yandex.net/5571992960", + "5572031172": "https://devtools-registry.s3.yandex.net/5572031172", "4307890075": "https://devtools-registry.s3.yandex.net/4307890075", "5517245192": "https://devtools-registry.s3.yandex.net/5517245192", "4307901240": "https://devtools-registry.s3.yandex.net/4307901240", @@ -234,6 +237,7 @@ "5530948376": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", "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", "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", @@ -245,6 +249,8 @@ "5545709989": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", "5559537477": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", "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", "4307890075": "flake8_linter for linux", "5517245192": "flake8_linter for linux", "4307901240": "flake8_linter for linux-aarch64", diff --git a/build/platform/test_tool/host.ya.make.inc b/build/platform/test_tool/host.ya.make.inc index 410298c40c..5f1cb27489 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:5559522450) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559535346) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572004205) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571990421) ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559521542) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559534336) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572003616) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571989359) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559524010) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559537477) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572005924) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571992960) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559520978) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559533477) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572002846) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571988789) ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559523230) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559536195) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572004883) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5571991734) ENDIF() diff --git a/build/platform/test_tool/host_os.ya.make.inc b/build/platform/test_tool/host_os.ya.make.inc index 6041feb963..8c560d2926 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:5559548658) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559548658) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572030275) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572030275) ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559548099) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559548099) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572029953) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572029953) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559549864) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559549864) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572031172) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572031172) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559547357) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559547357) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572029455) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572029455) ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5559549352) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5559549352) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:5572030696) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL3_HOST sbr:5572030696) ENDIF() diff --git a/build/sysincl/local-compiler-runtime.yml b/build/sysincl/local-compiler-runtime.yml new file mode 100644 index 0000000000..999e050586 --- /dev/null +++ b/build/sysincl/local-compiler-runtime.yml @@ -0,0 +1,7 @@ +- includes: + - sanitizer/asan_interface.h + - sanitizer/common_interface_defs.h + - sanitizer/hwasan_interface.h + - sanitizer/lsan_interface.h + - sanitizer/msan_interface.h + - sanitizer/tsan_interface.h diff --git a/build/sysincl/stl-to-libcxx.yml b/build/sysincl/stl-to-libcxx.yml index 17f30acda6..d51bd0ee2d 100644 --- a/build/sysincl/stl-to-libcxx.yml +++ b/build/sysincl/stl-to-libcxx.yml @@ -271,6 +271,7 @@ - __algorithm/ranges_fill.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_fill.h - __algorithm/ranges_fill_n.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_fill_n.h - __algorithm/ranges_find.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_find.h + - __algorithm/ranges_find_end.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_find_end.h - __algorithm/ranges_find_first_of.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_find_first_of.h - __algorithm/ranges_find_if.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_find_if.h - __algorithm/ranges_find_if_not.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_find_if_not.h @@ -285,6 +286,7 @@ - __algorithm/ranges_is_partitioned.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_is_partitioned.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 - __algorithm/ranges_lexicographical_compare.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_lexicographical_compare.h - __algorithm/ranges_lower_bound.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_lower_bound.h - __algorithm/ranges_make_heap.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_make_heap.h @@ -300,6 +302,7 @@ - __algorithm/ranges_move_backward.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_move_backward.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 - __algorithm/ranges_partial_sort_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_partial_sort_copy.h - __algorithm/ranges_partition.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_partition.h - __algorithm/ranges_partition_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_partition_copy.h @@ -317,8 +320,11 @@ - __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_copy.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_rotate_copy.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 - __algorithm/ranges_set_intersection.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_set_intersection.h + - __algorithm/ranges_set_symmetric_difference.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_set_symmetric_difference.h - __algorithm/ranges_set_union.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_set_union.h - __algorithm/ranges_shuffle.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_shuffle.h - __algorithm/ranges_sort.h: contrib/libs/cxxsupp/libcxx/include/__algorithm/ranges_sort.h @@ -448,6 +454,7 @@ - __format/buffer.h: contrib/libs/cxxsupp/libcxx/include/__format/buffer.h - __format/concepts.h: contrib/libs/cxxsupp/libcxx/include/__format/concepts.h - __format/enable_insertable.h: contrib/libs/cxxsupp/libcxx/include/__format/enable_insertable.h + - __format/extended_grapheme_cluster_table.h: contrib/libs/cxxsupp/libcxx/include/__format/extended_grapheme_cluster_table.h - __format/format_arg.h: contrib/libs/cxxsupp/libcxx/include/__format/format_arg.h - __format/format_arg_store.h: contrib/libs/cxxsupp/libcxx/include/__format/format_arg_store.h - __format/format_args.h: contrib/libs/cxxsupp/libcxx/include/__format/format_args.h @@ -467,6 +474,7 @@ - __format/formatter_pointer.h: contrib/libs/cxxsupp/libcxx/include/__format/formatter_pointer.h - __format/formatter_string.h: contrib/libs/cxxsupp/libcxx/include/__format/formatter_string.h - __format/parser_std_format_spec.h: contrib/libs/cxxsupp/libcxx/include/__format/parser_std_format_spec.h + - __format/unicode.h: contrib/libs/cxxsupp/libcxx/include/__format/unicode.h - __functional/binary_function.h: contrib/libs/cxxsupp/libcxx/include/__functional/binary_function.h - __functional/binary_negate.h: contrib/libs/cxxsupp/libcxx/include/__functional/binary_negate.h - __functional/bind.h: contrib/libs/cxxsupp/libcxx/include/__functional/bind.h @@ -645,10 +653,8 @@ - __support/android/locale_bionic.h: contrib/libs/cxxsupp/libcxx/include/__support/android/locale_bionic.h - __support/fuchsia/xlocale.h: contrib/libs/cxxsupp/libcxx/include/__support/fuchsia/xlocale.h - __support/ibm/gettod_zos.h: contrib/libs/cxxsupp/libcxx/include/__support/ibm/gettod_zos.h - - __support/ibm/limits.h: contrib/libs/cxxsupp/libcxx/include/__support/ibm/limits.h - __support/ibm/locale_mgmt_zos.h: contrib/libs/cxxsupp/libcxx/include/__support/ibm/locale_mgmt_zos.h - __support/ibm/nanosleep.h: contrib/libs/cxxsupp/libcxx/include/__support/ibm/nanosleep.h - - __support/ibm/support.h: contrib/libs/cxxsupp/libcxx/include/__support/ibm/support.h - __support/ibm/xlocale.h: contrib/libs/cxxsupp/libcxx/include/__support/ibm/xlocale.h - __support/musl/xlocale.h: contrib/libs/cxxsupp/libcxx/include/__support/musl/xlocale.h - __support/newlib/xlocale.h: contrib/libs/cxxsupp/libcxx/include/__support/newlib/xlocale.h diff --git a/build/ya.conf.json b/build/ya.conf.json index bfcc4b1c9e..38ec090d58 100644 --- a/build/ya.conf.json +++ b/build/ya.conf.json @@ -1177,8 +1177,8 @@ } }, "toolchain_aliases": { - "clang-win-i686": "clang14-win-i686", - "clang-win-x86_64": "clang14-win-x86_64", + "clang-win-i686": "default-win-i686", + "clang-win-x86_64": "default-win-x86_64", "gcc-linux-x86_64": "gcc82-linux-x86_64", "msvc-win-x86_64": "msvc2019-win-x86_64" }, diff --git a/build/ymake.core.conf b/build/ymake.core.conf index 3a236876bc..c1314fc8e9 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-05 +CPP_FAKEID=2023-12-06 GO_FAKEID=11100371 ANDROID_FAKEID=2023-05-17 CLANG_TIDY_FAKEID=2023-06-06 @@ -50,6 +50,11 @@ when ($CLANG16 == "yes") { CLANG_VER=16 } +USE_ARCADIA_COMPILER_RUNTIME=yes + +when ($LOCAL && $XCODE) { + USE_ARCADIA_COMPILER_RUNTIME=no +} @import "${CONF_ROOT}/conf/settings.conf" @import "${CONF_ROOT}/conf/opensource.conf" @@ -236,7 +241,7 @@ EXTRA_OUTPUT= when ($CLANG == "yes" || $GCC == "yes") { when ($BUILD_TYPE == "COVERAGE" || $GCOV_COVERAGE) { COVERAGE_FLAGS=-fprofile-arcs -ftest-coverage - EXTRA_OUTPUT=${output;noauto;hide;suf=${COMPILE_OUT_SUFFIX}${_CROSS_SUFFIX}.gcno:SRC} + EXTRA_OUTPUT=${output;noauto;hide;suf=${COMPILE_OUT_SUFFIX}${OBJ_SUF}${_CROSS_SUFFIX}.gcno:SRC} } } @@ -294,7 +299,9 @@ otherwise { # line when `ya make ...` is invoked. when ($NORUNTIME != "yes") { SYSINCL+=build/sysincl/stl-to-libcxx.yml - SYSINCL+=build/sysincl/stl-to-libcxxmsvc.yml + when ($MSVC == "yes" && $CLANG_CL != "yes") { + SYSINCL+=build/sysincl/stl-to-libcxxmsvc.yml + } when ($MUSL == "yes") { SYSINCL+=build/sysincl/libc-musl-libcxx.yml } @@ -774,6 +781,8 @@ module _BASE_UNIT: _BARE_UNIT { when ($TIDY_ENABLED == "yes") { PEERDIR+=build/platform/clang/clang-tidy } + + ENABLE(USE_YASM_ASSEMBLER) } _LINKER_ID= @@ -2393,6 +2402,12 @@ module UNION: _BASE_UNIT { } # tag:internal +### @usage: _ADD_HIDDEN_INPUTS(inputs...) # internal +macro _ADD_HIDDEN_INPUTS(Inputs...) { + .CMD=${input;hide:Inputs} +} + +# tag:internal ### @usage: _SET_FIRST_VALUE(name args...) # internal ### ### This macro sets the value of `name` variable to the value of next argument @@ -4795,9 +4810,12 @@ macro _SRC_nasm(SRC, PREINCLUDES[], SRCFLAGS...) { when ($USE_NASM_ASSEMBLER == "yes") { _SRC_ASM_CMDLINE=$_SRC_nasm($SRC $SRCFLAGS) } -otherwise { +elsewhen ($USE_YASM_ASSEMBLER == "yes") { _SRC_ASM_CMDLINE=$_SRC_yasm($SRC $SRCFLAGS) } +otherwise { + _SRC_ASM_CMDLINE= +} # tag:src-processing macro _SRC_ASM(SRC, SRCFLAGS...) { diff --git a/build/ymake_conf.py b/build/ymake_conf.py index fd6b6f01f9..0db0575d74 100755 --- a/build/ymake_conf.py +++ b/build/ymake_conf.py @@ -1044,7 +1044,14 @@ class GnuToolchainOptions(ToolchainOptions): self.sys_lib = self.target.find_in_dict(self.sys_lib, []) self.os_sdk = preset('OS_SDK') or self._default_os_sdk() - self.os_sdk_local = self.os_sdk == 'local' + + self.os_sdk_local = False + + if build.target.is_apple and to_bool(preset('APPLE_SDK_LOCAL'), default=False): + self.os_sdk_local = True + + if self.os_sdk == 'local': + self.os_sdk_local = True def _default_os_sdk(self): if self.target.is_linux: @@ -1265,15 +1272,10 @@ class GnuToolchain(Toolchain): if target.is_ios: self.c_flags_platform.append('-D__IOS__=1') - if self.tc.is_from_arcadia or self.tc.is_system_cxx: - if target.is_apple: - if target.is_ios: - self.setup_xcode_sdk(project='build/platform/ios_sdk', var='${IOS_SDK_ROOT_RESOURCE_GLOBAL}') - self.platform_projects.append('build/internal/platform/macos_system_stl') - if target.is_macos: - self.setup_xcode_sdk(project='build/internal/platform/macos_sdk', var='${MACOS_SDK_RESOURCE_GLOBAL}') - self.platform_projects.append('build/internal/platform/macos_system_stl') + if target.is_apple: + self.setup_apple_sdk(target) + if self.tc.is_from_arcadia or self.tc.is_system_cxx: if target.is_linux: if not tc.os_sdk_local: self.setup_sdk(project='build/platform/linux_sdk', var='$OS_SDK_ROOT_RESOURCE_GLOBAL') @@ -1290,22 +1292,42 @@ class GnuToolchain(Toolchain): if target.is_yocto: self.setup_sdk(project='build/platform/yocto_sdk/yocto_sdk', var='${YOCTO_SDK_ROOT_RESOURCE_GLOBAL}') - elif self.tc.params.get('local'): - if target.is_apple: - if not tc.os_sdk_local: - if target.is_ios: - self.setup_xcode_sdk(project='build/platform/ios_sdk', var='${IOS_SDK_ROOT_RESOURCE_GLOBAL}') - self.platform_projects.append('build/internal/platform/macos_system_stl') - if target.is_macos: - self.setup_xcode_sdk(project='build/internal/platform/macos_sdk', var='${MACOS_SDK_RESOURCE_GLOBAL}') - self.platform_projects.append('build/internal/platform/macos_system_stl') - else: - if target.is_iossim: - self.env.setdefault('SDKROOT', subprocess.check_output(['xcrun', '-sdk', 'iphonesimulator', '--show-sdk-path']).strip()) - elif target.is_ios: - self.env.setdefault('SDKROOT', subprocess.check_output(['xcrun', '-sdk', 'iphoneos', '--show-sdk-path']).strip()) - elif target.is_macos: - self.env.setdefault('SDKROOT', subprocess.check_output(['xcrun', '-sdk', 'macosx', '--show-sdk-path']).strip()) + + def setup_apple_sdk(self, target): + if not self.tc.os_sdk_local: + self.setup_apple_arcadia_sdk(target) + else: + self.setup_apple_local_sdk(target) + + def setup_apple_arcadia_sdk(self, target): + if target.is_ios: + self.setup_xcode_sdk(project='build/platform/ios_sdk', var='${IOS_SDK_ROOT_RESOURCE_GLOBAL}') + self.platform_projects.append('build/internal/platform/macos_system_stl') + if target.is_macos: + self.setup_xcode_sdk(project='build/internal/platform/macos_sdk', var='${MACOS_SDK_RESOURCE_GLOBAL}') + self.platform_projects.append('build/internal/platform/macos_system_stl') + + def setup_apple_local_sdk(self, target): + def get_output(*args): + return six.ensure_str(subprocess.check_output(tuple(args))).strip() + + def get_sdk_root(sdk): + root = self.env.get('SDKROOT') + if root not in (None, '', ['']): + return root + + root = os.environ.get('SDKROOT') + if root: + return root + + return get_output('xcrun', '-sdk', sdk, '--show-sdk-path') + + if target.is_iossim: + self.env['SDKROOT'] = get_sdk_root('iphonesimulator') + elif target.is_ios: + self.env['SDKROOT'] = get_sdk_root('iphoneos') + elif target.is_macos: + self.env['SDKROOT'] = get_sdk_root('macosx') def setup_sdk(self, project, var): self.platform_projects.append(project) |