aboutsummaryrefslogtreecommitdiffstats
path: root/build/conf/linkers
diff options
context:
space:
mode:
authormonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
committermonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /build/conf/linkers
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
downloadydb-06e5c21a835c0e923506c4ff27929f34e00761c2.tar.gz
fix ya.make
Diffstat (limited to 'build/conf/linkers')
-rw-r--r--build/conf/linkers/ld.conf373
-rw-r--r--build/conf/linkers/msvc_linker.conf271
2 files changed, 0 insertions, 644 deletions
diff --git a/build/conf/linkers/ld.conf b/build/conf/linkers/ld.conf
deleted file mode 100644
index 6b1b564b39..0000000000
--- a/build/conf/linkers/ld.conf
+++ /dev/null
@@ -1,373 +0,0 @@
-_LD_FLAGS_1=
-_LD_FLAGS_2=
-when ($MUSL == "yes") {
- _LD_FLAGS_1=-Wl,--no-as-needed
-}
-elsewhen ($OS_LINUX == "yes") {
- _LD_FLAGS_1=-ldl -lrt -Wl,--no-as-needed
- when ($GCC == "yes") {
- _LD_FLAGS_2=-Wl,-Bstatic -latomic -Wl,-Bdynamic
- }
-}
-elsewhen ($OS_ANDROID == "yes") {
- _LD_FLAGS_1=-ldl -Wl,--no-as-needed
-}
-elsewhen ($OS_DARWIN == "yes") {
- _LD_FLAGS_1=-Wl,-no_deduplicate
- when ($CLANG != "yes") {
- _LD_FLAGS_2=-Wl,-no_compact_unwind
- }
-}
-
-_LD_FLAGS_IOS_MAPSMOBI_ARM=
-when ($OS_IOS == "yes" && $MAPSMOBI_BUILD_TARGET == "yes" && $ARCH_ARM) {
- _LD_FLAGS_IOS_MAPSMOBI_ARM=-fembed-bitcode -Wl,-bitcode_verify
-}
-
-_LD_FLAGS_PROFILER_TYPE=
-when ($_BUILD_PROFILER_TYPE == "gprof") {
- _LD_FLAGS_PROFILER_TYPE=-pg
-}
-
-_LD_FLAGS_COVERAGE=
-when ($_BUILD_COVERAGE == "yes") {
- _LD_FLAGS_COVERAGE=-fprofile-arcs -ftest-coverage
-}
-
-_LD_FLAGS =
-_LD_FLAGS+=$_LD_FLAGS_1
-_LD_FLAGS+=$_LD_FLAGS_2
-_LD_FLAGS+=$_LD_FLAGS_IOS_MAPSMOBI_ARM
-_LD_FLAGS+=$_LD_FLAGS_PROFILER_TYPE
-_LD_FLAGS+=$_LD_FLAGS_COVERAGE
-_LD_FLAGS+=$LD_SDK_VERSION
-
-LDFLAGS+=$USER_LDFLAGS $_LD_FLAGS
-LDFLAGS_GLOBAL+=
-
-_START_GROUP=
-_END_GROUP=
-START_WHOLE_ARCHIVE_VALUE=
-END_WHOLE_ARCHIVE_VALUE=
-LD_STRIP_FLAG=
-_SONAME_OPTION=
-_LD_SRCS_GLOBALS=--start-wa ${rootrel;ext=.a:SRCS_GLOBAL} --end-wa ${rootrel;ext=.o:SRCS_GLOBAL} ${rootrel;ext=.supp:SRCS_GLOBAL}
-when ($OS_LINUX == "yes" || $OS_ANDROID == "yes" || $OS_CYGWIN == "yes" || $OS_NONE == "yes") {
- _START_GROUP=-Wl,--start-group
- _END_GROUP=-Wl,--end-group
- START_WHOLE_ARCHIVE_VALUE=-Wl,--whole-archive
- END_WHOLE_ARCHIVE_VALUE=-Wl,--no-whole-archive
- LD_STRIP_FLAG=-s
- _SONAME_OPTION=-soname
- _LD_SRCS_GLOBALS=-Wl,--whole-archive ${rootrel;ext=.a:SRCS_GLOBAL} -Wl,--no-whole-archive ${rootrel;ext=.o:SRCS_GLOBAL} ${rootrel;ext=.supp:SRCS_GLOBAL}
-}
-
-when ($_LD_WHOLE_ARCHIVE == "yes") {
-}
-
-when ($OS_DARWIN == "yes" || $OS_IOS == "yes") {
- _SONAME_OPTION=-install_name
-}
-
-_LD_LINKER_OUTPUT=
-_LD_LINKER_OUTPUT_FLAG=--linker-output ${output;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX$MODULE_VERSION.linker.txt:REALPRJNAME}
-
-# Enable section-level DCE (dead code elimination):
-# remove whole unused code and data sections
-# (needs `-ffunction-sections` and `-fdata-sections` to be useful)
-#
-# NOTE: CGO linker doesn't seem to support DCE, but shares common LDFLAGS
-_LD_DCE_FLAG_GC_SECTIONS=
-_LD_DCE_FLAG_PRINT_SECTIONS=
-when ($OS_DARWIN == "yes") {
- _LD_DCE_FLAG_GC_SECTIONS=-Wl,-dead_strip
-}
-elsewhen ($OS_LINUX == "yes" || $OS_ANDROID == "yes") {
- _LD_DCE_FLAG_GC_SECTIONS=-Wl,--gc-sections
- when ($LINKER_DCE_PRINT_SECTIONS == "yes") {
- _LD_DCE_FLAG_PRINT_SECTIONS=-Wl,--print-gc-sections
- _LD_LINKER_OUTPUT=$_LD_LINKER_OUTPUT_FLAG
- }
-}
-LD_DCE_FLAG =
-LD_DCE_FLAG+=$_LD_DCE_FLAG_GC_SECTIONS
-LD_DCE_FLAG+=$_LD_DCE_FLAG_PRINT_SECTIONS
-DCE_FLAG=
-
-_LD_ICF_FLAG=
-_LD_ICF_FLAG_PRINT_SECTIONS=
-when ($_DEFAULT_LINKER_ID == "lld") {
- # Enable ICF (identical code folding pass) in safe mode
- # https://research.google/pubs/pub36912/
- _LD_ICF_FLAG=-Wl,-icf=safe
- when ($LINKER_ICF_PRINT_SECTIONS == "yes") {
- _LD_ICF_FLAG_PRINT_SECTIONS=-Wl,--print-icf-sections
- _LD_LINKER_OUTPUT=$_LD_LINKER_OUTPUT_FLAG
- }
-}
-LD_ICF_FLAG =
-LD_ICF_FLAG+=$_LD_ICF_FLAG
-LD_ICF_FLAG+=$_LD_ICF_FLAG_PRINT_SECTIONS
-ICF_FLAG=
-
-STRIP_FLAG=
-
-C_LIBRARY_PATH=
-C_SYSTEM_LIBRARIES_INTERCEPT=
-
-_LD_THREAD_LIBRARY=
-when ($OS_LINUX == "yes" || $OS_DARWIN == "yes") {
- _LD_THREAD_LIBRARY=-lpthread
-}
-
-_LD_USE_STDLIB=
-when ($_BUILD_COVERAGE == "yes" || $GCOV_COVERAGE == "yes" || $CLANG_COVERAGE == "yes" || $_BUILD_SANITIZED == "yes") {
- _LD_USE_STDLIB=
-}
-elsewhen ($OS_ANDROID == "yes") {
- when ($_ANDROID_NDK_VERSION_LESS_THEN_23 == "yes") {
- # Preserve old behaviour: specify runtime libs manually
- _LD_USE_STDLIB=-nodefaultlibs
- }
- otherwise {
- # Use toolchain defaults to link with libunwind/clang_rt.builtins
- _LD_USE_STDLIB=-nostdlib++
- }
-}
-elsewhen ($OS_LINUX == "yes" || $OS_DARWIN == "yes" || $OS_IOS == "yes") {
- _LD_USE_STDLIB=-nodefaultlibs
-}
-
-_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
-
-OBJADDE=
-
-LD_EXPORT_ALL_DYNAMIC_SYMBOLS_FLAG=
-when ($OS_LINUX == "yes" || $OS_ANDROID == "yes") {
- LD_EXPORT_ALL_DYNAMIC_SYMBOLS_FLAG=-rdynamic
-}
-
-NO_EXPORT_DYNAMIC_SYMBOLS=
-EXPORTS_VALUE=$LD_EXPORT_ALL_DYNAMIC_SYMBOLS_FLAG
-when ($EXPORTS_FILE) {
- EXPORTS_VALUE=$LD_EXPORT_ALL_DYNAMIC_SYMBOLS_FLAG -Wl,--version-script=${input:EXPORTS_FILE}
-}
-when ($NO_EXPORT_DYNAMIC_SYMBOLS == "yes") {
- EXPORTS_VALUE=
-}
-
-LINKER_SCRIPT_VALUE=${ext=.ld;pre=-T:SRCS_GLOBAL}
-
-_LINKER_TIME_TRACE_GRANULARITY=500
-when ($TIME_TRACE_GRANULARITY && $TIME_TRACE_GRANULARITY != "") {
- _LINKER_TIME_TRACE_GRANULARITY=$TIME_TRACE_GRANULARITY
-}
-
-_LINKER_TIME_TRACE_FLAG=
-when (($TIME_TRACE == "yes" || $LINKER_TIME_TRACE == "yes") && $_DEFAULT_LINKER_ID == "lld") {
- _LINKER_TIME_TRACE_FLAG=\
- -Wl,--time-trace \
- -Wl,--time-trace-granularity=$_LINKER_TIME_TRACE_GRANULARITY \
- -Wl,--time-trace-file=${output;rootrel;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.time_trace.json:REALPRJNAME}
-}
-
-_EXE_FLAGS=\
- $C_FLAGS_PLATFORM \
- $BEFORE_PEERS \
- $_START_GROUP \
- ${rootrel:PEERS} \
- $_END_GROUP \
- $AFTER_PEERS \
- $EXPORTS_VALUE \
- $LINKER_SCRIPT_VALUE \
- $LDFLAGS \
- $LDFLAGS_GLOBAL \
- $OBJADDE \
- $OBJADDE_LIB \
- $C_LIBRARY_PATH \
- $C_SYSTEM_LIBRARIES_INTERCEPT \
- $C_SYSTEM_LIBRARIES \
- $STRIP_FLAG \
- $DCE_FLAG \
- $ICF_FLAG \
- $_LINKER_TIME_TRACE_FLAG
-
-_SONAME_FLAG=-Wl,$_SONAME_OPTION,$_SONAME
-_SHARED_FLAG=-shared
-_EXEC_SHARED_FLAG=
-when ($OS_LINUX == "yes") {
- _EXEC_SHARED_FLAG=-pie -fPIE -Wl,--unresolved-symbols=ignore-all -rdynamic
-}
-
-_LD_ENV_STYLE=${cwd:ARCADIA_BUILD_ROOT} $TOOLCHAIN_ENV ${kv;hide:"p LD"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
-
-# Program
-GENERATE_MF_CMD=\
- $YMAKE_PYTHON ${input:"build/scripts/generate_mf.py"} ${input;hide:"build/scripts/process_command_files.py"} \
- --build-root $ARCADIA_BUILD_ROOT \
- --module-name $REALPRJNAME \
- -o ${output;rootrel;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.mf:REALPRJNAME} \
- -t $MODULE_TYPE \
- --ya-start-command-file \
- -Ya,lics $LICENSE_NAMES \
- -Ya,peers ${rootrel:PEERS} \
- -Ya,credits ${input:CREDITS_TEXTS_FILE} $CREDITS_FLAGS \
- --ya-end-command-file
-
-LINK_SCRIPT_EXE_FLAGS=
-
-REAL_LINK_EXE_CMDLINE =\
- $YMAKE_PYTHON ${input:"build/scripts/link_exe.py"} \
- --source-root $ARCADIA_ROOT
- REAL_LINK_EXE_CMDLINE+=$_LD_LINKER_OUTPUT
- REAL_LINK_EXE_CMDLINE+=\
- ${pre=--whole-archive-peers :WHOLE_ARCHIVE_PEERS} \
- ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
- $_LD_ARCH_FLAG \
- $LINK_SCRIPT_EXE_FLAGS \
- $CXX_COMPILER \
- $_LD_SRCS_GLOBALS \
- $VCS_C_OBJ $AUTO_INPUT -o $TARGET \
- $_EXE_FLAGS \
- $_LD_ENV_STYLE
-
-REAL_LINK_EXE_TIDY=\
- $YMAKE_PYTHON ${input:"build/scripts/clang_tidy_arch.py"} \
- --build-root $ARCADIA_BUILD_ROOT \
- --source-root $ARCADIA_ROOT \
- --output-file $TARGET \
- $AUTO_INPUT \
- $_LD_ENV_STYLE
-
-# Executable Shared Library
-
-REAL_LINK_EXEC_DYN_LIB_CMDLINE =\
- $YMAKE_PYTHON ${input:"build/scripts/link_dyn_lib.py"} \
- --target $TARGET
-REAL_LINK_EXEC_DYN_LIB_CMDLINE+=$_LD_LINKER_OUTPUT
-REAL_LINK_EXEC_DYN_LIB_CMDLINE+=\
- ${pre=--whole-archive-peers :WHOLE_ARCHIVE_PEERS} \
- ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
- $_LD_ARCH_FLAG \
- $LINK_DYN_LIB_FLAGS \
- $CXX_COMPILER \
- $_LD_SRCS_GLOBALS \
- $VCS_C_OBJ $AUTO_INPUT -o $TARGET \
- $_EXEC_SHARED_FLAG \
- $_SONAME_FLAG \
- $_EXE_FLAGS \
- $_LD_ENV_STYLE
-
-REAL_LINK_EXEC_DYN_LIB=$REAL_LINK_EXEC_DYN_LIB_IMPL($_WHOLE_ARCHIVE_PEERS_VALUE)
-
-# Shared Library
-
-LINK_DYN_LIB_FLAGS=
-
-REAL_LINK_DYN_LIB_CMDLINE =\
- $YMAKE_PYTHON ${input:"build/scripts/link_dyn_lib.py"} \
- --target $TARGET
-REAL_LINK_DYN_LIB_CMDLINE+=$_LD_LINKER_OUTPUT
-REAL_LINK_DYN_LIB_CMDLINE+=\
- ${pre=--whole-archive-peers :WHOLE_ARCHIVE_PEERS} \
- ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
- $_LD_ARCH_FLAG \
- $LINK_DYN_LIB_FLAGS \
- $CXX_COMPILER \
- $_LD_SRCS_GLOBALS \
- $VCS_C_OBJ $AUTO_INPUT -o $TARGET \
- $_SHARED_FLAG \
- $_SONAME_FLAG \
- $_EXE_FLAGS \
- $_LD_ENV_STYLE
-
-REAL_LINK_DYN_LIB=$REAL_LINK_DYN_LIB_IMPL($_WHOLE_ARCHIVE_PEERS_VALUE)
-
-_DWARF_COMMAND=
-when ($OS_DARWIN == "yes" && $NO_DEBUGINFO != "yes") {
- _DWARF_COMMAND=$DWARF_TOOL $TARGET -o ${output;pre=$MODULE_PREFIX$REALPRJNAME.dSYM/Contents/Resources/DWARF/$MODULE_PREFIX:REALPRJNAME} $_LD_ENV_STYLE
-}
-DWARF_COMMAND=$_DWARF_COMMAND
-
-_REAL_LINK_EXE=$REAL_LINK_EXE_IMPL($_WHOLE_ARCHIVE_PEERS_VALUE)
-_LINK_EXE=$GENERATE_MF && $GENERATE_VCS_C_INFO_NODEP && $REAL_LINK_EXE && $DWARF_COMMAND && $LINK_ADDITIONAL_SECTIONS_COMMAND && $PACK_IOS_CMD
-_LINK_DYN_LIB=$GENERATE_MF && $GENERATE_VCS_C_INFO_NODEP && $REAL_LINK_DYN_LIB && $DWARF_COMMAND && $LINK_ADDITIONAL_SECTIONS_COMMAND
-when ($TIDY == "yes") {
- _REAL_LINK_EXE=$REAL_LINK_EXE_TIDY
- _LINK_EXE=$REAL_LINK_EXE
- _LINK_DYN_LIB=$REAL_LINK_EXE
-}
-REAL_LINK_EXE=$_REAL_LINK_EXE
-LINK_EXE=$_LINK_EXE
-LINK_DYN_LIB=$_LINK_DYN_LIB
-
-LINK_EXEC_DYN_LIB=\
- $GENERATE_MF && \
- $GENERATE_VCS_C_INFO_NODEP && \
- $REAL_LINK_EXEC_DYN_LIB && \
- $DWARF_COMMAND && \
- $LINK_ADDITIONAL_SECTIONS_COMMAND
-
-SWIG_DLL_JAR_CMD=\
- $GENERATE_MF && \
- $GENERATE_VCS_C_INFO_NODEP && \
- $REAL_SWIG_DLL_JAR_CMD && \
- $DWARF_COMMAND
-
-_LD_TAIL_LINK_LIB=$AUTO_INPUT ${kv;hide:"p AR"} $TOOLCHAIN_ENV ${kv;hide:"pc light-red"} ${kv;hide:"show_out"}
-_LD_ARCHIVER=$YMAKE_PYTHON ${input:"build/scripts/link_lib.py"} ${quo:AR_TOOL} $AR_TYPE $_LD_LLVM_AR_FORMAT $ARCADIA_BUILD_ROOT $_LD_AR_PLUGIN
-_LD_LIB_GENERATE_MF=$GENERATE_MF &&
-when ($TIDY == "yes") {
- _LD_ARCHIVER=$YMAKE_PYTHON ${input:"build/scripts/clang_tidy_arch.py"} --source-root $ARCADIA_ROOT --build-root $ARCADIA_BUILD_ROOT --output-file
- _LD_LIB_GENERATE_MF=
-}
-LINK_LIB=$_LD_LIB_GENERATE_MF $_LD_ARCHIVER $TARGET $_LD_TAIL_LINK_LIB
-GLOBAL_LINK_LIB=$_LD_ARCHIVER $GLOBAL_TARGET $_LD_TAIL_LINK_LIB
-
-# "Fat Object" : pre-linked global objects and static library with all dependencies
-_LD_LINK_FAT_PREFIX=$GENERATE_MF && $GENERATE_VCS_C_INFO_NODEP && $YMAKE_PYTHON ${input:"build/scripts/link_fat_obj.py"} --build-root $ARCADIA_BUILD_ROOT
-_LD_LINK_FAT_SRCS_GLOBALS_WA=$_LD_SRCS_GLOBALS
-_LD_LINK_FAT_SRCS_GLOBALS_NO_WA=${rootrel;ext=.a:SRCS_GLOBAL} ${rootrel;ext=.o:SRCS_GLOBAL}
-
-_LD_LINK_FAT_SUFFIX1=$_LD_ARCH_FLAG \
- -Ya,input $AUTO_INPUT $VCS_C_OBJ \
- -Ya,global_srcs
-
-_LD_LINK_FAT_SUFFIX2=-Ya,peers $PEERS \
- -Ya,linker $CXX_COMPILER \
- $LDFLAGS_GLOBAL $C_FLAGS_PLATFORM $LD_SDK_VERSION \
- -Ya,archiver $_LD_ARCHIVER \
- $TOOLCHAIN_ENV ${kv;hide:"p LD"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
-
-LINK_FAT_OBJECT=\
- $_LD_LINK_FAT_PREFIX \
- --obj=$TARGET --lib=${output:REALPRJNAME.a} \
- $_LD_LINK_FAT_SUFFIX1 \
- $_LD_LINK_FAT_SRCS_GLOBALS_WA \
- $_LD_LINK_FAT_SUFFIX2
-
-LINK_RECURSIVE_LIBRARY=\
- $_LD_LINK_FAT_PREFIX \
- --lib=$TARGET --with-own-obj --with-global-srcs \
- $_LD_LINK_FAT_SUFFIX1 \
- $_LD_LINK_FAT_SRCS_GLOBALS_NO_WA \
- $_LD_LINK_FAT_SUFFIX2
-
-LINK_FAT_OBJECT_LIBRARY=\
- $_LD_LINK_FAT_PREFIX \
- --lib=$TARGET $FAT_OBJECT_ARGS $FAT_OBJECT_OUTS \
- $_LD_LINK_FAT_SUFFIX1 \
- $_LD_LINK_FAT_SRCS_GLOBALS_NO_WA \
- $_LD_LINK_FAT_SUFFIX2
-
-LIBRT=-lrt
-MD5LIB=-lcrypt
-LIBRESOLV=
-when ($OS_LINUX || $OS_DARWIN || $OS_ANDROID) {
- LIBRESOLV=-lresolv
-}
-PROFFLAG=-pg
diff --git a/build/conf/linkers/msvc_linker.conf b/build/conf/linkers/msvc_linker.conf
deleted file mode 100644
index 9f852b1ef4..0000000000
--- a/build/conf/linkers/msvc_linker.conf
+++ /dev/null
@@ -1,271 +0,0 @@
-_MSVC_ARCH=
-when ($ARCH_I386 == "yes" || $ARCH_I686 == "yes") {
- _MSVC_ARCH=x86
-}
-elsewhen ($ARCH_X86_64 == "yes") {
- _MSVC_ARCH=x64
-}
-elsewhen ($ARCH_ARM == "yes") {
- _MSVC_ARCH=arm
-}
-
-_FLAGS_MACHINE=/MACHINE:${toupper:_MSVC_ARCH}
-
-_FLAGS_IGNORE=/IGNORE:4221
-
-_FLAGS_COMMON_IDE_MSVS=
-when ($IDE_MSVS == "yes") {
- _FLAGS_COMMON_IDE_MSVS=/INCREMENTAL
-}
-otherwise {
- _FLAGS_COMMON_IDE_MSVS=/INCREMENTAL:NO
-}
-
-# TODO(nslus): DEVTOOLS-1868 remove restriction.
-_FLAGS_DEBUG_ONLY_DEBUG=
-_FLAGS_RELEASE_ONLY_DEBUG=
-_FLAGS_COMMON_DEBUG=
-when (!$NO_DEBUGINFO || $NO_DEBUGINFO == "no" || $NO_DEBUGINFO == "0") {
- when ($IDE_MSVS == "yes") {
- when ($CLANG_CL == "yes") {
- _FLAGS_DEBUG_ONLY_DEBUG=/DEBUG
- }
- otherwise {
- _FLAGS_DEBUG_ONLY_DEBUG=/DEBUG:FASTLINK
- }
- _FLAGS_RELEASE_ONLY_DEBUG=/DEBUG
- }
- otherwise {
- _FLAGS_COMMON_DEBUG=/DEBUG
- }
-}
-
-_FLAGS_COMMON_LIBPATHS=
-when ($IDE_MSVS != "yes") {
- _FLAGS_COMMON_LIBPATHS=\
- /LIBPATH:"$_MSVC_TC_KIT_LIBS/um/$_MSVC_ARCH" \
- /LIBPATH:"$_MSVC_TC_KIT_LIBS/ucrt/$_MSVC_ARCH" \
- /LIBPATH:"$_MSVC_TC_VC_ROOT/lib/$_MSVC_ARCH"
-}
-
-_FLAGS_COMMON =/NOLOGO /ERRORREPORT:PROMPT /SUBSYSTEM:CONSOLE /TLBID:1 $MSVC_DYNAMICBASE /NXCOMPAT
-_FLAGS_COMMON+=$_FLAGS_IGNORE
-_FLAGS_COMMON+=$_FLAGS_MACHINE
-_FLAGS_COMMON+=$_FLAGS_COMMON_IDE_MSVS
-_FLAGS_COMMON+=$_FLAGS_COMMON_DEBUG
-_FLAGS_COMMON+=$_FLAGS_COMMON_LIBPATHS
-
-_FLAGS_DEBUG_ONLY_CLANG_CL=
-when ($CLANG_CL == "yes") {
- _FLAGS_DEBUG_ONLY_CLANG_CL=/STACK:4194304
-}
-
-_FLAGS_DEBUG_ONLY =$_FLAGS_DEBUG_ONLY_CLANG_CL
-_FLAGS_DEBUG_ONLY+=$_FLAGS_DEBUG_ONLY_DEBUG
-_FLAGS_RELEASE_ONLY =$_FLAGS_RELEASE_ONLY_DEBUG
-
-LINK_EXE_FLAGS_DEBUG =$_FLAGS_COMMON
-LINK_EXE_FLAGS_DEBUG+=$_FLAGS_DEBUG_ONLY
-
-LINK_EXE_FLAGS_RELEASE =$_FLAGS_COMMON
-LINK_EXE_FLAGS_RELEASE+=$_FLAGS_RELEASE_ONLY
-
-LINK_LIB_FLAGS=$_FLAGS_IGNORE $_FLAGS_MACHINE
-
-LINK_STDLIBS=\
- advapi32.lib \
- comdlg32.lib \
- crypt32.lib \
- dnsapi.lib \
- gdi32.lib \
- iphlpapi.lib \
- kernel32.lib \
- mswsock.lib \
- ole32.lib \
- oleaut32.lib \
- psapi.lib \
- rpcrt4.lib \
- secur32.lib \
- shell32.lib \
- shlwapi.lib \
- user32.lib \
- userenv.lib \
- uuid.lib \
- version.lib \
- winmm.lib \
- winspool.lib \
- ws2_32.lib
-
-LDFLAGS_GLOBAL=
-LDFLAGS=
-OBJADDE=
-
-LINK_EXE_FLAGS=$LINK_EXE_FLAGS_PER_TYPE
-
-LINK_IMPLIB=/IMPLIB:${output;noext;rootrel;pre=$MODULE_PREFIX:REALPRJNAME.lib}
-_LINK_EXTRA_OUTPUT=
-when (!$NO_DEBUGINFO || $NO_DEBUGINFO == "no" || $NO_DEBUGINFO == "0") {
- _LINK_EXTRA_OUTPUT=/PDB:${output;noext;rootrel;pre=$MODULE_PREFIX:REALPRJNAME.pdb}
-}
-LINK_EXTRA_OUTPUT=$_LINK_EXTRA_OUTPUT
-
-LIB_WRAPPER=${FIX_MSVC_OUTPUT} lib
-LINK_WRAPPER=${FIX_MSVC_OUTPUT} link
-when ($_UNDER_WINE == "yes") {
- LIB_WRAPPER=
- LINK_WRAPPER=
-}
-
-LINK_WRAPPER_DYNLIB=${YMAKE_PYTHON} ${input:"build/scripts/link_dyn_lib.py"} --arch WINDOWS --target $TARGET
-
-EXPORTS_VALUE=
-LINK_IMPLIB_VALUE=
-when ($EXPORTS_FILE) {
- LINK_IMPLIB_VALUE=$LINK_IMPLIB
- EXPORTS_VALUE=/DEF:${input:EXPORTS_FILE}
-}
-
-GENERATE_MF_CMD=\
- $YMAKE_PYTHON ${input:"build/scripts/generate_mf.py"} ${input;hide:"build/scripts/process_command_files.py"} \
- --build-root $ARCADIA_BUILD_ROOT \
- --module-name $REALPRJNAME \
- -o ${output;rootrel;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.mf:REALPRJNAME} \
- -t $MODULE_TYPE \
- --ya-start-command-file \
- -Ya,lics $LICENSE_NAMES \
- -Ya,peers ${rootrel:PEERS} \
- -Ya,credits ${input:CREDITS_TEXTS_FILE} $CREDITS_FLAGS \
- --ya-end-command-file
-
-# we split srcs_global into two groups: libs and objs
-# # each group can be in its own command file
-# first group need /WHOLEARCHIVE: prefix which will be added in fix_msvc_output.py or run_msvc_wine.py
-# the tail of link commands will be added in the third command file
-_MSVC_SRCS_GLOBALS=\
---start-wa --ya-start-command-file ${qe;rootrel;ext=.lib:SRCS_GLOBAL} --ya-end-command-file --end-wa \
---ya-start-command-file ${qe;rootrel;ext=.obj:SRCS_GLOBAL} --ya-end-command-file
-
-REAL_LINK_DYN_LIB_CMDLINE=\
- ${TOOLCHAIN_ENV} \
- ${cwd:ARCADIA_BUILD_ROOT} \
- ${LINK_WRAPPER} \
- ${LINK_WRAPPER_DYNLIB} \
- ${LINK_EXE_CMD} \
- ${LINK_IMPLIB_VALUE} \
- /DLL \
- /OUT:${qe;rootrel:TARGET} \
- ${LINK_EXTRA_OUTPUT} \
- ${EXPORTS_VALUE} \
- ${pre=--whole-archive-peers :WHOLE_ARCHIVE_PEERS} \
- ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
- $_MSVC_SRCS_GLOBALS \
- --ya-start-command-file \
- ${VCS_C_OBJ_RR} \
- ${qe;rootrel:AUTO_INPUT} \
- ${qe;rootrel;ext=.lib:PEERS} ${qe;rootrel;ext=.dll;noext;suf=.lib:PEERS} \
- $LINK_EXE_FLAGS \
- $LINK_STDLIBS $LDFLAGS \
- $LDFLAGS_GLOBAL \
- $OBJADDE \
- --ya-end-command-file
-
-REAL_LINK_DYN_LIB=$REAL_LINK_DYN_LIB_IMPL($_WHOLE_ARCHIVE_PEERS_VALUE)
-
-SWIG_DLL_JAR_CMD=$GENERATE_MF && $GENERATE_VCS_C_INFO_NODEP && $REAL_SWIG_DLL_JAR_CMD
-
-_MSVC_HEAD_LINK_LIB=${TOOLCHAIN_ENV} ${cwd:ARCADIA_BUILD_ROOT} ${LIB_WRAPPER} ${LINK_LIB_CMD}
-_MSVC_TAIL_LINK_LIB=\
- --ya-start-command-file \
- ${qe;rootrel:AUTO_INPUT} \
- $LINK_LIB_FLAGS \
- --ya-end-command-file \
- ${hide;kv:"soe"} ${hide;kv:"p AR"} ${hide;kv:"pc light-red"}
-
-LINK_LIB=${GENERATE_MF} && $_MSVC_HEAD_LINK_LIB /OUT:${qe;rootrel:TARGET} $_MSVC_TAIL_LINK_LIB
-GLOBAL_LINK_LIB=$_MSVC_HEAD_LINK_LIB /OUT:${qe;rootrel:GLOBAL_TARGET} $_MSVC_TAIL_LINK_LIB
-
-LINK_EXE_CMDLINE=\
- ${GENERATE_MF} && \
- $GENERATE_VCS_C_INFO_NODEP && \
- ${TOOLCHAIN_ENV} \
- ${cwd:ARCADIA_BUILD_ROOT} \
- ${LINK_WRAPPER} \
- ${LINK_EXE_CMD} \
- /OUT:${qe;rootrel:TARGET} \
- ${pre=--whole-archive-peers :WHOLE_ARCHIVE_PEERS} \
- ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
- ${LINK_EXTRA_OUTPUT} \
- $_MSVC_SRCS_GLOBALS \
- --ya-start-command-file \
- ${VCS_C_OBJ_RR} \
- ${qe;rootrel:AUTO_INPUT} \
- $LINK_EXE_FLAGS \
- $LINK_STDLIBS \
- $LDFLAGS \
- $LDFLAGS_GLOBAL \
- $OBJADDE \
- ${qe;rootrel;ext=.lib:PEERS} ${qe;rootrel;ext=.dll;noext;suf=.lib:PEERS} \
- --ya-end-command-file \
- ${hide;kv:"soe"} ${hide;kv:"p LD"} ${hide;kv:"pc blue"}
-
-LINK_EXE=$LINK_EXE_IMPL($_WHOLE_ARCHIVE_PEERS_VALUE)
-
-LINK_DYN_LIB=${GENERATE_MF} && $GENERATE_VCS_C_INFO_NODEP && $REAL_LINK_DYN_LIB ${hide;kv:"soe"} ${hide;kv:"p LD"} ${hide;kv:"pc blue"}
-
-LINK_EXEC_DYN_LIB_CMDLINE=\
- ${GENERATE_MF} && \
- $GENERATE_VCS_C_INFO_NODEP && \
- ${TOOLCHAIN_ENV} \
- ${cwd:ARCADIA_BUILD_ROOT} \
- ${LINK_WRAPPER} \
- ${LINK_WRAPPER_DYNLIB} \
- ${LINK_EXE_CMD} \
- /OUT:${qe;rootrel:TARGET} \
- ${LINK_EXTRA_OUTPUT} \
- ${EXPORTS_VALUE} \
- ${pre=--whole-archive-peers :WHOLE_ARCHIVE_PEERS} \
- ${pre=--whole-archive-libs :_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL} \
- $_MSVC_SRCS_GLOBALS \
- '--ya-start-command-file \
- ${VCS_C_OBJ_RR} \
- ${qe;rootrel:AUTO_INPUT} \
- ${qe;rootrel;ext=.lib:PEERS} ${qe;rootrel;ext=.dll;noext;suf=.lib:PEERS} \
- $LINK_EXE_FLAGS \
- $LINK_STDLIBS \
- $LDFLAGS $LDFLAGS_GLOBAL \
- $OBJADDE \
- --ya-end-command-file \
- ${hide;kv:"soe"} ${hide;kv:"p LD"} ${hide;kv:"pc blue"}
-
-LINK_EXEC_DYN_LIB=$LINK_EXEC_DYN_LIB_IMPL($_WHOLE_ARCHIVE_PEERS_VALUE)
-
-LINK_GLOBAL_FAT_OBJECT=\
- ${TOOLCHAIN_ENV} \
- ${cwd:ARCADIA_BUILD_ROOT} \
- ${LIB_WRAPPER} \
- ${LINK_LIB_CMD} \
- /OUT:${qe;rootrel:TARGET} \
- --ya-start-command-file \
- ${qe;rootrel;ext=.lib:SRCS_GLOBAL} \
- ${qe;rootrel;ext=.obj:SRCS_GLOBAL} \
- ${qe;rootrel:AUTO_INPUT} \
- $LINK_LIB_FLAGS \
- --ya-end-command-file
-
-LINK_PEERS_FAT_OBJECT=\
- ${TOOLCHAIN_ENV} \
- ${cwd:ARCADIA_BUILD_ROOT} \
- ${LIB_WRAPPER} \
- ${LINK_LIB_CMD} \
- /OUT:${qe;rootrel;output:REALPRJNAME.lib} \
- --ya-start-command-file \
- ${qe;rootrel:PEERS} \
- $LINK_LIB_FLAGS \
- --ya-end-command-file
-
-LINK_FAT_OBJECT=\
- ${GENERATE_MF} && \
- $GENERATE_VCS_C_INFO_NODEP && \
- $LINK_GLOBAL_FAT_OBJECT && \
- $LINK_PEERS_FAT_OBJECT \
- ${kv;hide:"p LD"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}