diff options
author | snermolaev <snermolaev@yandex-team.com> | 2023-09-12 10:30:44 +0300 |
---|---|---|
committer | snermolaev <snermolaev@yandex-team.com> | 2023-09-12 10:55:13 +0300 |
commit | e3fadb45a2e38221b7293c35bc2ccc11c5a98c9a (patch) | |
tree | a3862b01083e5a7fcbe80ad1366edf207d3976bd | |
parent | 0237e07bda5b67a822b92224e9fbc09bfce0430b (diff) | |
download | ydb-e3fadb45a2e38221b7293c35bc2ccc11c5a98c9a.tar.gz |
flag to disable ymake conf customization DISABLE_YMAKE_CONF_CUSTOMIZATION
-rw-r--r-- | build/conf/license.conf | 6 | ||||
-rw-r--r-- | build/conf/perl.conf | 106 | ||||
-rw-r--r-- | build/conf/project_specific/alice/nlg.conf | 25 | ||||
-rw-r--r-- | build/conf/project_specific/esp.conf | 136 | ||||
-rw-r--r-- | build/conf/project_specific/maps/aar.conf | 338 | ||||
-rw-r--r-- | build/conf/project_specific/maps/asrc.conf | 121 | ||||
-rw-r--r-- | build/conf/project_specific/maps/sproto.conf | 21 | ||||
-rw-r--r-- | build/conf/project_specific/uservices.conf | 41 | ||||
-rw-r--r-- | build/conf/rules.conf | 74 | ||||
-rw-r--r-- | build/ymake.core.conf | 15 | ||||
-rwxr-xr-x | build/ymake_conf.py | 24 |
11 files changed, 19 insertions, 888 deletions
diff --git a/build/conf/license.conf b/build/conf/license.conf index eb8b7dbcf1..cfd739bda8 100644 --- a/build/conf/license.conf +++ b/build/conf/license.conf @@ -447,3 +447,9 @@ macro LICENSE_RESTRICTION(TYPE, RESTRICTIONS...) { SET_APPEND(MODULE_LICENSES_RESTRICTION_TYPES $TYPE) SET_APPEND(MODULE_LICENSES_RESTRICTIONS $RESTRICTIONS) } + +macro LICENSE_RESTRICTION_EXCEPTIONS(EXCEPT...) { + SET_APPEND(MODULE_LICENSES_RESTRICTION_EXCEPTIONS $EXCEPT) +} + +MODULE_LICENSES_RESTRICTION_EXCEPTIONS= diff --git a/build/conf/perl.conf b/build/conf/perl.conf deleted file mode 100644 index 681f60fc0b..0000000000 --- a/build/conf/perl.conf +++ /dev/null @@ -1,106 +0,0 @@ -# tag:perl-specific -when ($USE_LOCAL_TOOLS == "yes") { - PERL=$LOCAL_PERL - PERL_VERSION=$LOCAL_PERL_VERSION - PERL_PRIVLIB=$LOCAL_PERL_PRIVLIB - PERL_ARCHLIB=$LOCAL_PERL_ARCHLIB - when ($LOCAL_PERL_LIBS) { - PERL_LIBS=$LOCAL_PERL_LIBS - } -} -otherwise { - PERL=NO-PERL-SELECTED - PERL_VERSION=NO-PERL-SELECTED-VERSION - PERL_PRIVLIB=NO-PERL-SELECTED-PRIVLIB - PERL_ARCHLIB=NO-PERL-SELECTED-ARCHLIB -} - -# tag:perl-specific -PERL_LD_LIBRARY_PATH= -PERL_INCLUDE= -USE_PERL_SYSTEM=yes -when ($USE_PERL_SYSTEM == "yes") { - select ($PERL_SDK) { - "ubuntu-12" ? { - PERL_VERSION=5.14 - PERL_ROOT=${SYSTEM_PERL_514_RESOURCE_GLOBAL}/perl${PERL_VERSION} - PERL_LIB_ARCH= - } - "ubuntu-14" ? { - PERL_VERSION=5.18 - PERL_ROOT=${SYSTEM_PERL_518_RESOURCE_GLOBAL}/perl${PERL_VERSION} - PERL_LIB_ARCH= - } - "ubuntu-16" ? { - PERL_VERSION=5.22 - PERL_ROOT=${SYSTEM_PERL_522_RESOURCE_GLOBAL}/perl${PERL_VERSION} - PERL_LIB_ARCH=/x86_64-linux-gnu - } - "ubuntu-18" ? { - PERL_VERSION=5.26 - PERL_ROOT=${SYSTEM_PERL_526_RESOURCE_GLOBAL}/perl${PERL_VERSION} - PERL_LIB_ARCH=/x86_64-linux-gnu - } - "ubuntu-20" ? { - PERL_VERSION=5.30 - PERL_ROOT=${SYSTEM_PERL_530_RESOURCE_GLOBAL}/usr - PERL_LIB_ARCH=/x86_64-linux-gnu - } - } - - PERL=${PERL_ROOT}/bin/perl - PERL_ARCHLIB=${PERL_ROOT}/lib$PERL_LIB_ARCH/perl/${PERL_VERSION} - PERL_PRIVLIB=${PERL_ROOT}/share/perl/${PERL_VERSION} - PERL_LIBS=${PERL_ROOT}/lib${PERL_LIB_ARCH} - PERL_LD_LIBRARY_PATH=${env:"LD_LIBRARY_PATH=${PERL_ROOT}/lib"} - - # Perl searches it's modules in INC@ paths. They can not be sysrooted or disabled (at least I haven't found a way), - # so default Perl module directories should be prepended to perl command lines when using non-local perl. - PERL_INCLUDE=-I${PERL_ARCHLIB} -I${PERL_PRIVLIB} -} - -# tag:perl-specific -PERL_DEFAULT_PEERDIR=yes -when ($PERL_DEFAULT_PEERDIR == "yes") { - when (($PERLXS == "yes") || ($PERLXSCPP == "yes") || ($USE_PERL == "yes")) { - PEERDIR+=build/platform/perl - } -} - -# tag:perl-specific -PERLSUFFIX=-csuffix .cpp -PERLOUTPUT=${stdout;output:SRC.cpp} -when ($PERLC == "yes") { - PERLSUFFIX=-csuffix .c - PERLOUTPUT=${stdout;output:SRC.c} -} -XSUBPPFLAGS= -_XSTYPEMAPS= - -macro XSTYPEMAPS(Names...) { - SET_APPEND(_XSTYPEMAPS $Names) -} - -# tag:perl-specific -### @usage: USE_PERL_LIB() -### Add dependency on Perl to your LIBRARY -macro USE_PERL_LIB() { - PEERDIR(build/platform/perl) -} - -# tag:perl-specific -### @usage: USE_PERL_514_LIB() -### Add dependency on Perl 5.14 to your LIBRARY -macro USE_PERL_514_LIB() { - SET(PERL_SDK ubuntu-12) - SET(PERL_DEFAULT_PEERDIR no) - PEERDIR(build/platform/perl/5.14) -} - -# tag:perl-specific -### @usage: ADD_PERL_MODULE(Dir ModuleName) -### Add dependency on specified Perl module to the library -macro ADD_PERL_MODULE(Dir, Module) { - PEERDIR($Dir) - SET_APPEND(modules $Module) -} diff --git a/build/conf/project_specific/alice/nlg.conf b/build/conf/project_specific/alice/nlg.conf deleted file mode 100644 index a04b181c9e..0000000000 --- a/build/conf/project_specific/alice/nlg.conf +++ /dev/null @@ -1,25 +0,0 @@ -# tag:nlg -### @usage: COMPILE_NLG(NLG_CONFIG nlg_config.json, [TRANSLATIONS_JSON translations.json], Files...) -### -### Generate and compile .nlg templates (Jinja2-based). -### -### Alice-specific macro. -macro COMPILE_NLG(NLG_CONFIG="", TRANSLATIONS_JSON="", FILES...) { - when ($NLG_CONFIG) { - NLG_CONFIG_JSON_OPT=--nlg-config-json - } - otherwise { - NLG_CONFIG_JSON_OPT= - } - - when ($TRANSLATIONS_JSON) { - TRANSLATIONS_JSON_OPT=--translations-json - } - otherwise { - TRANSLATIONS_JSON_OPT= - } - - PEERDIR(alice/nlg/library/nlg_project_runtime) - RUN_PROGRAM(alice/nlg/tools/codegen compile-cpp --import-dir ${ARCADIA_ROOT} --out-dir ${ARCADIA_BUILD_ROOT} --include-prefix ${MODDIR} $NLG_CONFIG_JSON_OPT $NLG_CONFIG $TRANSLATIONS_JSON_OPT $TRANSLATIONS_JSON $FILES IN $NLG_CONFIG $TRANSLATIONS_JSON $FILES OUT_NOAUTO register.cpp localizable_phrases.pb.txt ${suf=.pb.txt:FILES} OUT nlg_renderer_factory.cpp nlg_renderer_factory.h translations.cpp translations.h ${suf=.cpp:FILES} ${suf=.h:FILES}) - SRCS(GLOBAL register.cpp) -} diff --git a/build/conf/project_specific/esp.conf b/build/conf/project_specific/esp.conf deleted file mode 100644 index ce939d1629..0000000000 --- a/build/conf/project_specific/esp.conf +++ /dev/null @@ -1,136 +0,0 @@ -ESP_KCONFIGS= -ESP_KCONFIGS_PROJBUILD= -ESP_LDFRAGMENTS= -ESP_SDKCONFIG_RENAMES= - -macro ESP_KCONFIG(Kconfig) { - SET_APPEND(ESP_KCONFIGS \${input;hide:$Kconfig}) - SET_APPEND(ESP_KCONFIGS_GLOBAL ${pre=$ARCADIA_ROOT/$MODDIR/:Kconfig}) -} - -macro ESP_KCONFIG_PROJBUILD(Kconfig) { - SET_APPEND(ESP_KCONFIGS_PROJBUILD \${input;hide:$Kconfig}) - SET_APPEND(ESP_KCONFIGS_PROJBUILD_GLOBAL ${pre=$ARCADIA_ROOT/$MODDIR/:Kconfig}) -} - -macro ESP_LDFRAGMENTS(Fragments...) { - SET_APPEND(ESP_LDFRAGMENTS ${pre=\$\{input\;hide\:\";suf=\"\}:Fragments}) - SET_APPEND(ESP_LDFRAGMENTS_GLOBAL ${pre=$ARCADIA_ROOT/$MODDIR/:Fragments}) -} - -macro ESP_SDKCONFIG_RENAME(Rename) { - SET_APPEND(ESP_SDKCONFIG_RENAMES \${input;hide:$Rename}) - SET_APPEND(ESP_SDKCONFIG_RENAMES_GLOBAL ${pre=$ARCADIA_ROOT/$MODDIR/:Rename}) -} - -ESP_LINK_LIB=$LINK_LIB $ESP_KCONFIGS $ESP_KCONFIGS_PROJBUILD $ESP_LDFRAGMENTS $ESP_SDKCONFIG_RENAMES - -ESP_CONFIG=contrib/libs/esp-idf/config - -module ESP_LIBRARY: LIBRARY { - .CMD=ESP_LINK_LIB - .GLOBAL=ESP_KCONFIGS ESP_KCONFIGS_PROJBUILD ESP_LDFRAGMENTS ESP_SDKCONFIG_RENAMES - - ADDINCL(GLOBAL $ESP_CONFIG) -} - -ESP_KCONFIGS_CMD=$WRITER_PY --file ${tmp:"kconfigs.in"} -m ${pre="source \"";suf="\"":ESP_KCONFIGS_GLOBAL} - -ESP_KCONFIGS_PROJBUILD_CMD=$WRITER_PY --file ${tmp:"kconfigs_projbuild.in"} -m ${pre="source \"";suf="\"":ESP_KCONFIGS_PROJBUILD_GLOBAL} - -ESP_SDKCONFIG_DEFAULTS=contrib/libs/esp-idf/sdkconfig.defaults - -macro _ESP_CONFGEN_DEFAULTS_HELPER(Defaults...) { - .CMD=${pre=--defaults :Defaults} -} - -macro _ESP_CONFGEN_DEFAULTS_ARGS(Defaults...) { - .CMD=$_ESP_CONFGEN_DEFAULTS_HELPER(${input:Defaults}) -} - -ESP_CONFGEN_CMD= \ - ${tool:"contrib/libs/esp-idf/tools/kconfig_new/confgen"} \ - $_ESP_CONFGEN_DEFAULTS_ARGS($ESP_SDKCONFIG_DEFAULTS) \ - --kconfig ${input:"contrib/libs/esp-idf/Kconfig"} \ - --sdkconfig-rename ${input:"contrib/libs/esp-idf/sdkconfig.rename"} \ - --env IDF_CMAKE=y \ - --env IDF_TARGET=esp32c3 \ - --env IDF_ENV_FPGA= \ - --env IDF_PATH=$ARCADIA_ROOT/contrib/libs/esp-idf \ - --env COMPONENT_KCONFIGS_SOURCE_FILE=${tmp:"kconfigs.in"} \ - --env COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE=${tmp:"kconfigs_projbuild.in"} \ - --env COMPONENT_SDKCONFIG_RENAMES=${join=" ":ESP_SDKCONFIG_RENAMES_GLOBAL} \ - --output config ${output:"sdkconfig"} \ - --output header ${output:"sdkconfig.h"} - -ESP_LIBRARIES_CMD=$WRITER_PY --file ${tmp:"ldgen_libraries"} -m $PEERS - -ESP_LDGEN_CMD= \ - ${tool:"contrib/libs/esp-idf/tools/ldgen"} \ - --config ${tmp:"sdkconfig"} \ - --fragments $ESP_LDFRAGMENTS_GLOBAL \ - --input ${input:"contrib/libs/esp-idf/components/esp_system/ld/esp32c3/sections.ld.in"} \ - --output ${output:"sections.ld"} \ - --kconfig ${input:"contrib/libs/esp-idf/Kconfig"} \ - --env IDF_CMAKE=y \ - --env IDF_TARGET=esp32c3 \ - --env IDF_ENV_FPGA= \ - --env IDF_PATH=$ARCADIA_ROOT/contrib/libs/esp-idf \ - --env COMPONENT_KCONFIGS_SOURCE_FILE=${tmp:"kconfigs.in"} \ - --env COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE=${tmp:"kconfigs_projbuild.in"} \ - --libraries-file ${tmp:"ldgen_libraries"} \ - --objdump $OBJDUMP_TOOL - -ESP_FLASH_SIZE=4MB - -macro _ESP_ELF2IMAGE(Elf, Args...) { - .CMD=${cwd:BINDIR} ${tool:"contrib/tools/esptool/esptool"} --chip esp32c3 elf2image $Args --flash_mode dio --flash_freq 80m --flash_size $ESP_FLASH_SIZE --min-rev 3 -o ${output;noext:Elf.bin} $Elf -} - -ESP_PARTITION_TABLE_OFFSET=0x8000 -ESP_PARTITION_TABLE=partitions.csv - -ESP_GEN_ESP32PART_CMD= \ - ${tool:"contrib/libs/esp-idf/components/partition_table/gen_esp32part"} \ - --flash-size $ESP_FLASH_SIZE \ - --offset $ESP_PARTITION_TABLE_OFFSET \ - --secure \ - ${input:ESP_PARTITION_TABLE} \ - ${output:"partition-table.bin"} - -ESP_LINK_EXE= \ - && $ESP_KCONFIGS_CMD \ - && $ESP_KCONFIGS_PROJBUILD_CMD \ - && $ESP_CONFGEN_CMD \ - && $ESP_LIBRARIES_CMD \ - && $ESP_LDGEN_CMD \ - && $ESP_GEN_ESP32PART_CMD \ - && $LINK_EXE \ - && $_ESP_ELF2IMAGE($MODULE_PREFIX$REALPRJNAME, "--secure-pad-v2") - -### @usage: ESP_PROGRAM([progname]) -### -### Program module for Espressif microcontrollers. -### Converts ELF to binary image file suitable for flashing. -### Currently, only ESP32-C3 is supported. -module ESP_PROGRAM: PROGRAM { - .CMD=ESP_LINK_EXE - .GLOBAL=ESP_KCONFIGS ESP_KCONFIGS_PROJBUILD ESP_LDFRAGMENTS ESP_SDKCONFIG_RENAMES - ALLOCATOR(FAKE) - NO_PLATFORM() - LINKER_SCRIPT_VALUE+=-T$ARCADIA_BUILD_ROOT/$MODDIR/sections.ld -} - -ESP_BOOTLOADER_LINK_EXE= \ - && $LINK_EXE \ - && $_ESP_ELF2IMAGE($MODULE_PREFIX$REALPRJNAME, "--pad-to-size", "4KB") - -module ESP_BOOTLOADER: PROGRAM { - .CMD=ESP_BOOTLOADER_LINK_EXE - ALLOCATOR(FAKE) - NO_PLATFORM() -} - -when ($ESP_BOOTLOADER_BUILD == "yes") { - CFLAGS+=-DBOOTLOADER_BUILD -fno-stack-protector -} diff --git a/build/conf/project_specific/maps/aar.conf b/build/conf/project_specific/maps/aar.conf deleted file mode 100644 index 6f03e07c1f..0000000000 --- a/build/conf/project_specific/maps/aar.conf +++ /dev/null @@ -1,338 +0,0 @@ - -_GRADLE_FLAGS_VALUE= -### @usage: GRADLE_FLAGS(flags...) # internal -### -### SEt additional flags for gradle -macro GRADLE_FLAGS(FLAGS...) { - SET_APPEND(_GRADLE_FLAGS_VALUE $FLAGS) -} - -### @usage: PROGUARD_RULES(ProguardRuleFiles...) -### -### This macro is strictly prohibited to use outside of mapsmobi project -macro PROGUARD_RULES(RULES...) { - SET_APPEND(_PROGUARD_RULES_GLOBAL $RULES) -} - -### @usage: AARS(Aars...) -### -### This macro is strictly prohibited to use outside of mapsmobi project -macro AARS(DEPS...) { - SET_APPEND(_AARS_GLOBAL $DEPS) -} - -### @usage: MOBILE_DLL() # internal -module MOBILE_DLL: DLL { - .CMD=LINK_MOBILE_DLL - - PEERDIR(build/external_resources/android_sdk) - PEERDIR(build/external_resources/gradle) - PEERDIR(build/platform/java/jdk) - PEERDIR($JDK_RESOURCE_PEERDIR) - - SET(BIN_AAR_DIR $BINDIR/aar) - SET(BIN_TMP_DIR $BINDIR/tmp) -} - -_MOBILE_TEST_APK_AAR_MANIFEST_VALUE= -### @usage: MOBILE_TEST_APK_AAR_MANIFEST(file) # internal -macro MOBILE_TEST_APK_AAR_MANIFEST(FILE) { - SET(_MOBILE_TEST_APK_AAR_MANIFEST_VALUE $FILE) -} - -_MOBILE_TEST_APK_AAR_PROGUARD_RULES_VALUE= -### @usage: MOBILE_TEST_APK_AAR_PROGUARD_RULES(file) # internal -macro MOBILE_TEST_APK_AAR_PROGUARD_RULES(FILE) { - SET(_MOBILE_TEST_APK_AAR_PROGUARD_RULES_VALUE $FILE) -} - -_MOBILE_TEST_APK_AAR_AARS_VALUE= -### @usage: MOBILE_TEST_APK_AAR_AARS(filenames...) # internal -macro MOBILE_TEST_APK_AAR_AARS(AARS...) { - SET_APPEND(_MOBILE_TEST_APK_AAR_AARS_VALUE $AARS) -} - -_MOBILE_TEST_APK_AAR_BUNDLES_VALUE= -### @usage: MOBILE_TEST_APK_AAR_BUNDLES(filenames...) # internal -macro MOBILE_TEST_APK_AAR_BUNDLES(BUNDLES...) { - SET_APPEND(_MOBILE_TEST_APK_AAR_BUNDLES_VALUE $BUNDLES) - BUNDLE_EXTRA_INPUTS($BUNDLES) -} - -_MOBILE_TEST_APK_TEMPLATE_DIR= -### @usage: MOBILE_TEST_APK_TEMPLATE(dir filenames...) # internal -macro MOBILE_TEST_APK_TEMPLATE(TEMPLATE_DIR, INPUTS...) { - SET(_MOBILE_TEST_APK_TEMPLATE_DIR $TEMPLATE_DIR) - BUNDLE_EXTRA_INPUTS(${pre=$TEMPLATE_DIR/:INPUTS}) -} - -_MOBILE_TEST_APK_CMDLINE=\ -$FS_TOOLS md $BIN_TMP_DIR \ -&& $FS_TOOLS md $BINDIR/.android \ -&& $COPY_CMD $GRADLE_DEBUG_STORE_RESOURCE_GLOBAL/debug.keystore $BINDIR/.android/debug.keystore \ -&& $FS_TOOLS md $BINDIR/jni_libs/$ARCH_NAME \ -&& $YMAKE_PYTHON ${input:"build/scripts/extract_asrc.py"} --output $BIN_TMP_DIR --input ${suf=.asrc:PEERS} \ -&& $MOVE_FILE $OUTPUT $BINDIR/jni_libs/$ARCH_NAME/${pre=lib;suf=.so:_MOBILE_TEST_APK_LIBRARY_NAME} \ -&& $FS_TOOLS md $BIN_AAR_DIR \ -&& $YMAKE_PYTHON ${input:"build/scripts/gen_aar_gradle_script.py"} \ -${input;hide:EXTRA_INPUTS} \ ---aidl-dirs $BIN_TMP_DIR/aidl \ ---assets-dirs $BIN_TMP_DIR/assets \ ---java-dirs $BIN_TMP_DIR/src \ ---jni-libs-dirs $BINDIR/jni_libs \ ---res-dirs $BIN_TMP_DIR/res \ ---manifest ${input:_MOBILE_TEST_APK_AAR_MANIFEST_VALUE} \ ---proguard-rules ${input:_MOBILE_TEST_APK_AAR_PROGUARD_RULES_VALUE} ${input:_PROGUARD_RULES_GLOBAL} \ ---aars $_MOBILE_TEST_APK_AAR_AARS_VALUE $_AARS_GLOBAL \ ---bundles $_MOBILE_TEST_APK_AAR_BUNDLES_VALUE \ ---output-dir $BIN_AAR_DIR \ ---bundle-name unittest \ ---maven-repos ${MAPSMOBI_MAVEN_REPO_RESOURCE_GLOBAL} \ -&& ${cwd:BIN_AAR_DIR} ${GRADLE_RESOURCE_GLOBAL}/bin/gradle $_GRADLE_FLAGS_VALUE --no-daemon --offline -g $BIN_GRADLE_USER_HOME_DIR assemble${_BUNDLE_BUILD_TYPE} ${env:"ANDROID_HOME=$ANDROID_SDK_RESOURCE_GLOBAL/android_sdk"} ${env:"JAVA_HOME=$JDK_RESOURCE"} ${env:"ANDROID_SDK_HOME=$BINDIR"} \ -&& $FS_TOOLS md $BIN_APK_DIR \ -&& $FS_TOOLS md $BIN_APK_DIR/res \ -&& $COPY_CMD $_MOBILE_TEST_APK_TEMPLATE_DIR/Manifest.xml $BIN_APK_DIR/Manifest.xml \ -&& $YMAKE_PYTHON ${input:"build/scripts/gen_test_apk_gradle_script.py"} \ -${input;hide:EXTRA_INPUTS} \ ---app-id $REALPRJNAME \ ---assets-dirs $_MOBILE_TEST_APK_ASSETS_DIRS_VALUE \ ---java-dirs $_MOBILE_TEST_APK_TEMPLATE_DIR/java \ ---jni-libs-dirs \ ---res-dirs $BIN_APK_DIR/res $_MOBILE_TEST_APK_TEMPLATE_DIR/res $BIN_TMP_DIR/res \ ---manifest Manifest.xml \ ---aars \ ---output-dir $BIN_APK_DIR \ ---bundle-name $REALPRJNAME \ ---bundles $BIN_AAR_DIR/build/outputs/aar/unittest-${tolower:_BUNDLE_BUILD_TYPE}.aar $_MOBILE_TEST_APK_AAR_BUNDLES_VALUE \ ---library-name $_MOBILE_TEST_APK_LIBRARY_NAME \ ---maven-repos ${MAPSMOBI_MAVEN_REPO_RESOURCE_GLOBAL} \ -&& ${cwd:BIN_APK_DIR} ${GRADLE_RESOURCE_GLOBAL}/bin/gradle $_GRADLE_FLAGS_VALUE --no-daemon --offline -g $BIN_GRADLE_USER_HOME_DIR assembleDebug ${env:"ANDROID_HOME=$ANDROID_SDK_RESOURCE_GLOBAL/android_sdk"} ${env:"JAVA_HOME=$JDK_RESOURCE"} ${env:"ANDROID_SDK_HOME=$BINDIR"} \ -&& $COPY_CMD $BIN_APK_DIR/build/outputs/apk/${tolower:_BUNDLE_BUILD_TYPE}/$REALPRJNAME.apk ${OUTPUT} - -_MOBILE_TEST_APK_EXTRA_INPUTS_VALUE= - -macro _MOBILE_TEST_APK_CMD_IMPL(OUTPUT, EXTRA_INPUTS...) { - .CMD=$_MOBILE_TEST_APK_CMDLINE -} - -_MOBILE_TEST_APK_CMD=$_MOBILE_TEST_APK_CMD_IMPL($TARGET $_BUNDLE_EXTRA_INPUTS_VALUE) - -LINK_MOBILE_TEST_APK=$LINK_DYN_LIB && $_MOBILE_TEST_APK_CMD - -### @usage: MOBILE_TEST_APK() # internal -module MOBILE_TEST_APK: DLL { - .CMD=LINK_MOBILE_TEST_APK - .GLOBAL=_AARS _PROGUARD_RULES - - PEERDIR(build/external_resources/android_sdk) - PEERDIR(build/external_resources/gradle) - PEERDIR(build/platform/java/jdk) - PEERDIR($JDK_RESOURCE_PEERDIR) - - SET(MODULE_PREFIX) - SET(MODULE_SUFFIX .apk) - - SET(BIN_AAR_DIR $BINDIR/aar) - SET(BIN_APK_DIR $BINDIR/apk) - SET(BIN_TMP_DIR $BINDIR/tmp) - SET(BIN_GRADLE_USER_HOME_DIR $BINDIR/gradle) - - SET(_MOBILE_TEST_APK_LIBRARY_NAME unittests) - - when ($OS_ANDROID == "yes") { - when ($ARCH_ARM7 == "yes") { - ARCH_NAME=armeabi-v7a - } - elsewhen ($ARCH_ARM64 == "yes") { - ARCH_NAME=arm64-v8a - } - elsewhen ($ARCH_I386 == "yes") { - ARCH_NAME=x86 - } - elsewhen ($ARCH_X86_64 == "yes") { - ARCH_NAME=x86_64 - } - otherwise { - ARCH_NAME=unsupported - } - } -} - - -### @usage: MOBILE_BOOST_TEST_APK() # internal -module MOBILE_BOOST_TEST_APK: MOBILE_TEST_APK { - PEERDIR(devtools/dummy_arcadia/test/test_apk/template) - PEERDIR(build/external_resources/mapsmobi_maven_repo) - ADD_YTEST($MODULE_PREFIX$REALPRJNAME boost.test) - - MOBILE_TEST_APK_TEMPLATE(${ARCADIA_ROOT}/devtools/dummy_arcadia/test/test_apk/template Manifest.xml java/com/yandex/test/unittests/RunTestsActivity.java java/com/yandex/test/unittests/CrashHandler.java res/values/strings.xml) -} - -when ($BT_RELEASE) { - _BUNDLE_BUILD_TYPE=Release -} -otherwise { - _BUNDLE_BUILD_TYPE=Debug -} - -_AAR_EXTRA_INPUTS_VALUE= - -_AAR_MANIFEST_VALUE= -### @usage: AAR_MANIFEST(filename) # internal -macro AAR_MANIFEST(FILE) { - SET(_AAR_MANIFEST_VALUE $FILE) -} - -_AAR_PROGUARD_RULES_VALUE= -### @usage: AAR_PROGUARD_RULES(filename) # internal -macro AAR_PROGUARD_RULES(FILE) { - SET(_AAR_PROGUARD_RULES_VALUE $FILE) -} - -_AAR_AARS_VALUE= -### @usage: AAR_AARS(aars...) # internal -macro AAR_AARS(Aars...) { - SET_APPEND(_AAR_AARS_VALUE $Aars) -} - -_AAR_COMPILE_ONLY_AARS_VALUE= -### @usage: AAR_COMPILE_ONLY_AARS(compile_only_aars...) # internal -macro AAR_COMPILE_ONLY_AARS(Aars...) { - SET_APPEND(_AAR_COMPILE_ONLY_AARS_VALUE $Aars) -} - - -_AAR_AIDL_DIRS_VALUE= -### @usage: AAR_AIDL_SRCS(dir filenames...) # internal -macro AAR_AIDL_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_AAR_AIDL_DIRS_VALUE $PREFIX) - SET_APPEND(_AAR_EXTRA_INPUTS_VALUE ${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_AAR_ASSETS_DIRS_VALUE= -### @usage: AAR_ASSETS_SRCS(dir filenames...) # internal -macro AAR_ASSETS_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_AAR_ASSETS_DIRS_VALUE $PREFIX) - SET_APPEND(_AAR_EXTRA_INPUTS_VALUE ${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_AAR_BUNDLES_VALUE= -### @usage: AAR_BUNDLES(filenames...) # internal -macro AAR_BUNDLES(BUNDLES...) { - SET_APPEND(_AAR_BUNDLES_VALUE $BUNDLES) - SET_APPEND(_AAR_EXTRA_INPUTS_VALUE $BUNDLES) -} - -_AAR_JNI_LIB_DIRS_VALUE= -### @usage: AAR_JNI_LIBS(dir filenames...) # internal -macro AAR_JNI_LIBS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_AAR_JNI_LIB_DIRS_VALUE $PREFIX) - SET_APPEND(_AAR_EXTRA_INPUTS_VALUE ${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_AAR_JAVA_DIRS_VALUE= -### @usage: AAR_JAVA_SRCS(dir filenames...) # internal -macro AAR_JAVA_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_AAR_JAVA_DIRS_VALUE $PREFIX) - SET_APPEND(_AAR_EXTRA_INPUTS_VALUE ${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_AAR_RES_DIRS_VALUE= -### @usage: AAR_RES_SRCS(dir filenames...) # internal -macro AAR_RES_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_AAR_RES_DIRS_VALUE $PREFIX) - SET_APPEND(_AAR_EXTRA_INPUTS_VALUE ${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_AAR_LOCAL_MAVEN_REPO_VALUE= -### @usage: AAR_LOCAL_MAVEN_REPO(repo...) -macro AAR_LOCAL_MAVEN_REPO(REPO...) { - SET_APPEND(_AAR_LOCAL_MAVEN_REPO_VALUE $REPO) -} - -_AAR_GRADLE_SCRIPT_GENERATOR_VALUE= -### @usage: AAR_GRADLE_SCRIPT_GENERATOR(python_script) -macro AAR_GRADLE_SCRIPT_GENERATOR(GENERATOR) { - SET(_AAR_GRADLE_SCRIPT_GENERATOR_VALUE $GENERATOR) -} - -when ($AAR_NO_STRIP) { - _AAR_NO_STRIP_VALUE=--do-not-strip -} -otherwise { - _AAR_NO_STRIP_VALUE= -} - -_AAR_CMDLINE=\ -$FS_TOOLS md $BIN_TMP_DIR \ -&& $FS_TOOLS md $BINDIR/.android \ -&& $COPY_CMD $GRADLE_DEBUG_STORE_RESOURCE_GLOBAL/debug.keystore $BINDIR/.android/debug.keystore \ -&& $YMAKE_PYTHON ${input:"build/scripts/extract_asrc.py"} --output $BIN_TMP_DIR --input ${suf=.asrc:PEERS} \ -&& $YMAKE_PYTHON ${input:_AAR_GRADLE_SCRIPT_GENERATOR_VALUE} \ -${input;hide:EXTRA_INPUTS} \ ---aidl-dirs $_AAR_AIDL_DIRS_VALUE $BIN_TMP_DIR/aidl \ ---assets-dirs $_AAR_ASSETS_DIRS_VALUE $BIN_TMP_DIR/assets \ ---java-dirs $_AAR_JAVA_DIRS_VALUE $BIN_TMP_DIR/src \ ---jni-libs-dirs $_AAR_JNI_LIB_DIRS_VALUE $BIN_TMP_DIR/jni_libs \ ---res-dirs $_AAR_RES_DIRS_VALUE $BIN_TMP_DIR/res \ ---manifest ${input:_AAR_MANIFEST_VALUE} \ ---proguard-rules ${input:_AAR_PROGUARD_RULES_VALUE} ${input:_PROGUARD_RULES_GLOBAL} \ ---aars $_AAR_AARS_VALUE $_AARS_GLOBAL \ ---compile-only-aars $_AAR_COMPILE_ONLY_AARS_VALUE \ ---bundles $_AAR_BUNDLES_VALUE \ ---output-dir $BINDIR \ ---bundle-name $REALPRJNAME \ ---peers $PEERS \ ---maven-repos $_AAR_LOCAL_MAVEN_REPO_VALUE \ -$_AAR_NO_STRIP_VALUE \ -&& ${cwd:BINDIR} ${GRADLE_RESOURCE_GLOBAL}/bin/gradle $_GRADLE_FLAGS_VALUE --no-daemon --offline -g $BIN_GRADLE_USER_HOME_DIR bundle${_BUNDLE_BUILD_TYPE}Aar ${env:"ANDROID_HOME=$ANDROID_SDK_RESOURCE_GLOBAL/android_sdk"} ${env:"JAVA_HOME=$JDK_RESOURCE"} ${env:"ANDROID_SDK_HOME=$BINDIR"} $VCS_INFO_DISABLE_CACHE__NO_UID__ \ -&& ${cwd:BINDIR} $COPY_CMD build/outputs/aar/${REALPRJNAME}-${tolower:_BUNDLE_BUILD_TYPE}.aar $TARGET \ -&& ${cwd:BINDIR} $COPY_CMD build/${suf=-pom.xml:REALPRJNAME} ${output;suf=-pom.xml:REALPRJNAME} \ -&& ${cwd:BINDIR} $COPY_CMD build/libs/${suf=-sources.jar:REALPRJNAME} ${output;suf=-sources.jar:REALPRJNAME} - -macro _AAR_CMD_IMPL(EXTRA_INPUTS...) { - .CMD=$_AAR_CMDLINE && $GENERATE_MF -} - -AAR_CMD=$_AAR_CMD_IMPL($_AAR_EXTRA_INPUTS_VALUE) - -### @usage: AAR() # internal -module AAR: _BASE_UNIT { - .CMD=AAR_CMD - .GLOBAL=_AARS _PROGUARD_RULES - .PEERDIR_POLICY=as_build_from - .FINAL_TARGET=yes - - SET(MODULE_PREFIX) - SET(MODULE_SUFFIX .aar) - SET(DONT_RESOLVE_INCLUDES yes) - SET(NEED_PLATFORM_PEERDIRS no) - NO_PLATFORM() - - PEERDIR(build/external_resources/android_sdk) - PEERDIR(build/external_resources/gradle) - PEERDIR(build/platform/java/jdk) - PEERDIR($JDK_RESOURCE_PEERDIR) - - SET(BIN_TMP_DIR $BINDIR/tmp) - SET(BIN_GRADLE_USER_HOME_DIR $BINDIR/gradle) -} - -_SECONDARY_OUTPUT_VALUE= - -### @usage: SECONDARY_OUTPUT(filename) # internal -### -### The use of this macro is strictly prohibited!!! -macro SECONDARY_OUTPUT(OUTPUT) { - SET(_SECONDARY_OUTPUT_VALUE $OUTPUT) -} - -_AAR_PROXY_LIBRARY_CMD=$LINK_LIB && $COPY_CMD $_SECONDARY_OUTPUT_VALUE ${input;hide:_SECONDARY_OUTPUT_VALUE} ${output:REALPRJNAME.aar} - -### @usage: AAR_PROXY_LIBRARY() # internal -### -### The use of this module is strictly prohibited!!! -module AAR_PROXY_LIBRARY: _PROXY_LIBRARY { - .ALLOWED=SECONDARY_OUTPUT - .CMD=_AAR_PROXY_LIBRARY_CMD -} diff --git a/build/conf/project_specific/maps/asrc.conf b/build/conf/project_specific/maps/asrc.conf deleted file mode 100644 index c910e6abff..0000000000 --- a/build/conf/project_specific/maps/asrc.conf +++ /dev/null @@ -1,121 +0,0 @@ -_BUNDLE_DELIM_JAVA=__DELIM_JAVA__ -_BUNDLE_DELIM_RES=__DELIM_RES__ -_BUNDLE_DELIM_ASSETS=__DELIM_ASSETS__ -_BUNDLE_DELIM_AIDL=__DELIM_AIDL__ - -_BUNDLE_EXTRA_INPUTS_VALUE= -### @usage: BUNDLE_EXTRA_INPUTS(filenames...) # internal -macro BUNDLE_EXTRA_INPUTS(INPUTS...) { - SET_APPEND(_BUNDLE_EXTRA_INPUTS_VALUE $INPUTS) -} - -_BUNDLE_AIDL_SRCS_VALUE= -### @usage: BUNDLE_AIDL_SRCS(dirname filenames...) # internal -macro BUNDLE_AIDL_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_BUNDLE_AIDL_SRCS_VALUE $_BUNDLE_DELIM_AIDL $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE}) - BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_BUNDLE_JAVA_SRCS_VALUE= -### @usage: BUNDLE_JAVA_SRCS(dirname filenames...) # internal -macro BUNDLE_JAVA_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_BUNDLE_JAVA_SRCS_VALUE $_BUNDLE_DELIM_JAVA $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE}) - BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_BUNDLE_RES_SRCS_VALUE= -### @usage: BUNDLE_RES_SRCS(dirname filenames...) # internal -macro BUNDLE_RES_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_BUNDLE_RES_SRCS_VALUE $_BUNDLE_DELIM_RES $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE}) - BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_BUNDLE_ASSETS_SRCS_VALUE= -### @usage: BUNDLE_ASSETS_SRCS(dirname filenames...) # internal -macro BUNDLE_ASSETS_SRCS(PREFIX, ABSOLUTE[], FILES...) { - SET_APPEND(_BUNDLE_ASSETS_SRCS_VALUE $_BUNDLE_DELIM_ASSETS $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE}) - BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE}) -} - -_BUNDLE_SRCS_VALUE=$_BUNDLE_AIDL_SRCS_VALUE $_BUNDLE_ASSETS_SRCS_VALUE $_BUNDLE_JAVA_SRCS_VALUE $_BUNDLE_RES_SRCS_VALUE - -macro _COMPILE_ASRC_IMPL(EXTRA_INPUTS...) { - .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --input $_BUNDLE_SRCS_VALUE ${input;hide:EXTRA_INPUTS} --output $TARGET ${kv;hide:"p AC"} $kv;hide:"pc light-blue"} ${kv;hide:"show_out"} -} - -_COMPILE_ASRC=$_COMPILE_ASRC_IMPL($_ASRC_EXTRA_INPUTS_VALUE) - -COMPILE_ASRC_MF=$_COMPILE_ASRC && $GENERATE_MF - -### @usage: ASRC_LIBRARY() # internal -module ASRC_LIBRARY: _BASE_UNIT { - .CMD=COMPILE_ASRC_MF - .PEERDIR_POLICY=as_include - .FINAL_TARGET=no - PEERDIR_TAGS=JAVA_PROTO JAVA_IDL - MODULE_TYPE=LIBRARY - SET(MODULE_SUFFIX .asrc) - SET(DONT_RESOLVE_INCLUDES yes) - SET(NEED_PLATFORM_PEERDIRS no) - - NO_RUNTIME() -} - -macro _MOBILE_LIBRARY_PREREQUISITES_IMPL(OUTPUT, EXTRA_INPUTS...) { - .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --input $_BUNDLE_SRCS_VALUE --output $OUTPUT ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"} -} - -macro _MOBILE_LIBRARY_PREREQUISITES_CMD(OUTPUT, EXTRA_INPUTS...) { - .CMD=${output;hide:OUTPUT} ${input;hide:EXTRA_INPUTS} ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"} $_MOBILE_LIBRARY_PREREQUISITES_IMPL($OUTPUT $EXTRA_INPUTS) -} - -when ($OS_ANDROID == "yes") { - LINK_MOBILE_LIB=$LINK_LIB && $_MOBILE_LIBRARY_PREREQUISITES_CMD(${BINDIR}/$MODULE_PREFIX$REALPRJNAME$MODULE_SUFFIX.asrc $_BUNDLE_EXTRA_INPUTS_VALUE) -} -otherwise { - LINK_MOBILE_LIB=$LINK_LIB -} - -### @usage: MOBILE_LIBRARY() # internal -module MOBILE_LIBRARY: LIBRARY { - .CMD=LINK_MOBILE_LIB - DISABLE(NEED_ADD_FAKE_SRC) -} - -_JSRC_PROXY_MOBILE_LIBRARY_CMDLINE=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --jsrcs ${ext=.jsrc;tags_in=local:PEERS} --input $_BUNDLE_SRCS_VALUE ${input;hide:EXTRA_INPUTS} --output ${output;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.asrc:REALPRJNAME} ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"} - -macro _JSRC_PROXY_MOBILE_LIBRARY_CMD_IMPL(EXTRA_INPUTS...) { - .CMD=$_JSRC_PROXY_MOBILE_LIBRARY_CMDLINE -} - -JSRC_PROXY_MOBILE_LIBRARY_CMD=$LINK_LIB && $_JSRC_PROXY_MOBILE_LIBRARY_CMD_IMPL($_BUNDLE_EXTRA_INPUTS_VALUE) - -### @usage: JSRC_PROXY_MOBILE_LIBRARY() # internal -module JSRC_PROXY_MOBILE_LIBRARY: MOBILE_LIBRARY { - .CMD=JSRC_PROXY_MOBILE_LIBRARY_CMD - .PEERDIR_POLICY=as_build_from - .PROXY=yes - - SET(MODULE_TYPE LIBRARY) - DISABLE(NEED_ADD_FAKE_SRC) - - PEERDIR_TAGS=JAVA_PROTO JAVA_IDL - - SET(BIN_TMP_DIR ${BINDIR}/tmp) - - NO_UTIL() -} - -_MOBILE_DLL_PREREQUISITES_CMDLINE=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --asrcs ${PEERS.arcs} --input $_BUNDLE_SRCS_VALUE ${input;hide:EXTRA_INPUTS} --output ${output;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.asrc:REALPRJNAME} ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"} - -macro _MOBILE_DLL_PREREQUISITES_CMD(EXTRA_INPUTS...) { - .CMD=$_MOBILE_DLL_PREREQUISITES_CMDLINE -} - -when ($OS_ANDROID == "yes") { - LINK_MOBILE_DLL=$LINK_DYN_LIB && $_MOBILE_DLL_PREREQUISITES_CMD($_BUNDLE_EXTRA_INPUTS_VALUE) -} -otherwise { - LINK_MOBILE_DLL=$LINK_DYN_LIB -} - diff --git a/build/conf/project_specific/maps/sproto.conf b/build/conf/project_specific/maps/sproto.conf deleted file mode 100644 index 95234b5f75..0000000000 --- a/build/conf/project_specific/maps/sproto.conf +++ /dev/null @@ -1,21 +0,0 @@ -### @usage: EXPORT_YMAPS_PROTO() # maps-specific -### -### Maps-specific .proto handling: IMPORT_YMAPS_PROTO() + maps protobuf namespace. -macro EXPORT_YMAPS_PROTO() { - PROTO_NAMESPACE(maps/doc/proto) -} - -macro _YMAPS_GENERATE_SPROTO_HEADER(File) { - .CMD=${cwd;rootdir;input:File} ${tool:"maps/libs/sproto/sprotoc"} -I=./$PROTO_NAMESPACE -I=$ARCADIA_ROOT/$PROTO_NAMESPACE -I=$ARCADIA_BUILD_ROOT -I=$PROTOBUF_PATH --sproto_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE ${input;rootrel:File} ${output;hide;norel;nopath;noext:File.sproto.h} ${kv;hide:"p PB"} ${kv;hide:"pc yellow"} - .PEERDIR=maps/libs/sproto -} - -### @usage: YMAPS_SPROTO(ProtoFiles...) # maps-specific -### -### Maps-specific .proto handling: generate .sproto.h files using maps/libs/sproto/sprotoc. -macro YMAPS_SPROTO(FILES...) { - SET(PROTO_HEADER_EXTS .pb.h .sproto.h) - foreach (FILE : $FILES) { - [.proto]=$_YMAPS_GENERATE_SPROTO_HEADER($FILE) - } -} diff --git a/build/conf/project_specific/uservices.conf b/build/conf/project_specific/uservices.conf deleted file mode 100644 index 71c0a6f89e..0000000000 --- a/build/conf/project_specific/uservices.conf +++ /dev/null @@ -1,41 +0,0 @@ -macro _MOVE(Src, OUT="", OUT_NOAUTO="", CPP_DEPS[], OUTPUT_INCLUDES[]) { - .CMD=$MOVE_FILE ${input:Src} ${output;norel:OUT} ${output;noauto;norel:OUT_NOAUTO} ${induced_deps=h+cpp;hide:CPP_DEPS} ${output_include;hide:OUTPUT_INCLUDES} ${kv;hide:"p MV"} ${kv;hide:"pc light-cyan"} -} - -macro USRV_BUILD(FROM="Please specify generated .tar-file as FROM", DEPS_FILE="NO_DEPS", OUT_NOAUTO[], Files...) { - .CMD=${tool:"taxi/uservices/arc-gen/unpack-tar"} --source ${input:FROM} --target ${BINDIR} --suffix .usrv ${Files} ${OUT_NOAUTO} ${output;noauto;hide;suf=.usrv:OUT_NOAUTO} ${output;noauto;hide;suf=.usrv:Files} ${kv;hide:"p USB"} ${kv;hide:"pc light-cyan"} - _PROCESS_USRV_FILES(${DEPS_FILE} ${Files} OUT_NOAUTO ${OUT_NOAUTO}) -} - -macro _PROCESS_USRV_FILES(DepsFile, Files...) { - SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${DepsFile}) -} - -macro _USRV_ALL_SRCS_HELPER(SUFFIX, RECURSIVE?"/**/*${SUFFIX}.(c|cc|cpp|h|hpp|hxx|make)":"/*${SUFFIX}.(c|cc|cpp|h|hpp|hxx|make)", DIRS[], EXCLUDE[]) { - _GLOB(_ALL_USRV_SOURCES ${suf=${RECURSIVE}:DIRS} EXCLUDE $EXCLUDE) - SRCS($_ALL_USRV_SOURCES) -} - -macro SET_LIST_PRE_SUF(OUT, PRE, SUF, IN...) { - SET($OUT ${pre=${PRE};suf=${SUF}:IN}) -} - -### @usage: USRV_ALL_SRCS([RECURSIVE] [Dirs...] [EXCLUDE <globs...>]) -### -### SRCS for all C++ sources in current or given directories. -### C++ files are ones with following extensions: `.c`, `.cc`, `.cpp`, `.h`, `.hpp` and `.hxx`. -### -### If dirs are omitted the current one is used. -### -### @params: -### - `Dirs` - start directories for files lookup -### - `RECURSIVE`- makes lookup recursive with resprect to Dirs -### - `SUFFIX` - file name should end with the provided suffix -### - `EXCLUDE` - glob pattern to be excluded from results. In recursive mode use recursive pattern (`**`) to -### exclude files in subdirectories -### -### Note: Only one such macro per module is allowed -### Note: Macro is designed to reject any ya.make files in Dirs except current one -macro USRV_ALL_SRCS(RECURSIVE?"RECURSIVE":"", SUFFIX="", EXCLUDE[], Dirs...) { - _USRV_ALL_SRCS_HELPER(${SUFFIX} ${RECURSIVE} DIRS ./${Dirs} EXCLUDE ya.make $EXCLUDE) -} diff --git a/build/conf/rules.conf b/build/conf/rules.conf deleted file mode 100644 index 383f47ce7a..0000000000 --- a/build/conf/rules.conf +++ /dev/null @@ -1,74 +0,0 @@ -when ($OPENSOURCE == "yes") { - PEERDIRS_RULES_PATH= -} -otherwise { - PEERDIRS_RULES_PATH=\ - build/rules/junk.policy \ - build/rules/go/contrib.policy \ - build/rules/go/vendor.policy \ - build/rules/base_layers.policy \ - build/rules/contrib_deprecated.policy \ - build/rules/contrib_java.policy \ - build/rules/contrib_python.policy \ - build/rules/contrib_restricted.policy \ - build/rules/contrib_deps.policy \ - build/rules/library_deps.policy \ - build/rules/library_deprecated.policy \ - build/rules/passport.policy \ - build/rules/yt.policy \ - build/rules/catboost.policy \ - build/rules/maps/maps.policy \ - build/rules/yp.policy \ - build/rules/alice.policy \ - build/rules/kikimr.policy \ - build/rules/market.policy \ - build/rules/yadi.policy -} - -CHECK_INTERNAL=yes -INTERNAL_EXCEPTIONS=\ - contrib \ - search/begemot/rules/internal \ - mssngr/router/lib/protos/internal \ - mssngr/router/lib/registry/method/internal \ - cv/imageproc/ocr/api/mobile_c/internal \ - kernel/ugc/security/lib/internal \ - maps/mobile/libs/mapkit/internal - -_BLACKLISTS= -when ($DISABLE_BLACKLIST == "yes" || $OPENSOURCE == "yes") { - _BLACKLISTS= -} -elsewhen ($CUSTOM_BLACKLIST != "") { - _BLACKLISTS=$CUSTOM_BLACKLIST -} -elsewhen ($AUTOCHECK == "yes" || $TEST_BLACKLIST_AUTOCHECK == "yes") { - _BLACKLISTS+=build/rules/autocheck.blacklist -} -otherwise { - _BLACKLISTS+=build/rules/local.blacklist -} - -_ISOLATED_PROJECTS= -when ($DISABLE_ISOLATED_PROJECTS == "yes" || $OPENSOURCE == "yes") { - _ISOLATED_PROJECTS= -} -elsewhen ($CUSTOM_ISOLATED_PROJECTS != "") { - _ISOLATED_PROJECTS=$CUSTOM_ISOLATED_PROJECTS -} -elsewhen ($AUTOCHECK == "yes" || $TEST_ISOLATED_PROJECTS_AUTOCHECK == "yes") { -## The block below is parsed by CI machinery to limit CI checks -## Please contact CI on any modification! Do not alter the block structure! -## - Keep one file per line with first line without file -## - Keep comments text and layout intact -## - Do not move or rename this file without CI team aggreement -## BEGIN AUTOCHECK ISOLATED PROJECTS -- DO NOT EDIT COMMENT AND KEEP THE CODE STRUCTURE! - _ISOLATED_PROJECTS=\ - build/rules/autocheck.isolated_projects \ - build/rules/taxi_backend_py3/taxi_backend_py3.isolated_projects \ - build/rules/taxi_uservices/taxi_uservices.isolated_projects -## END AUTOCHECK ISOLATED PROJECTS -- DO NOT EDIT COMMENT AND KEEP THE CODE STRUCTURE! -} -otherwise { - _ISOLATED_PROJECTS+=build/rules/local.isolated_projects -} diff --git a/build/ymake.core.conf b/build/ymake.core.conf index 5c94d00209..3260ebadfc 100644 --- a/build/ymake.core.conf +++ b/build/ymake.core.conf @@ -46,18 +46,15 @@ MODULE_SUFFIX= @import "${CONF_ROOT}/conf/settings.conf" @import "${CONF_ROOT}/conf/opensource.conf" -@import "${CONF_ROOT}/conf/rules.conf" @import "${CONF_ROOT}/conf/sysincl.conf" @import "${CONF_ROOT}/conf/license.conf" @import "${CONF_ROOT}/conf/ts/ts.conf" @import "${CONF_ROOT}/conf/docs.conf" @import "${CONF_ROOT}/conf/swig.conf" -@import "${CONF_ROOT}/conf/perl.conf" @import "${CONF_ROOT}/conf/proto.conf" @import "${CONF_ROOT}/conf/fbs.conf" @import "${CONF_ROOT}/conf/project_specific/other.conf" -@import "${CONF_ROOT}/conf/project_specific/uservices.conf" @import "${CONF_ROOT}/conf/project_specific/yt.conf" USE_GLOBAL_CMD=no @@ -5132,14 +5129,6 @@ module _PROXY_LIBRARY: LIBRARY { @import "${CONF_ROOT}/conf/project_specific/yql_udf.conf" -# tag:alice-specific -@import "${CONF_ROOT}/conf/project_specific/alice/nlg.conf" - -# tag:maps-specific -@import "${CONF_ROOT}/conf/project_specific/maps/asrc.conf" -@import "${CONF_ROOT}/conf/project_specific/maps/aar.conf" -@import "${CONF_ROOT}/conf/project_specific/maps/sproto.conf" - _PRIMARY_OUTPUT_VALUE= # tag:internal @@ -5817,8 +5806,6 @@ module MCU_PROGRAM: PROGRAM { .CMD=MCU_LINK_EXE } -@import "${CONF_ROOT}/conf/project_specific/esp.conf" - # tag:flags tag:internal tag:windows-specific ### @usage: _MSVC_FLAGS_WINDOWS_IMPL(target_platform compiler_flags) # internal ### @@ -5910,5 +5897,3 @@ macro CLANG_EMIT_AST_CXX_RUN_TOOL(SOURCES[], OPTS[], Tool, IN{input}[], IN_NOPAR } @import "${CONF_ROOT}/conf/misc.conf" - -@import "${CONF_ROOT}/internal/conf/internal.conf" diff --git a/build/ymake_conf.py b/build/ymake_conf.py index c4089df22c..8607b8365f 100755 --- a/build/ymake_conf.py +++ b/build/ymake_conf.py @@ -25,6 +25,14 @@ def init_logger(verbose): logging.basicConfig(level=logging.DEBUG if verbose else logging.INFO) +def find_conf(conf_file): + script_dir = os.path.dirname(__file__) + full_path = os.path.join(script_dir, conf_file) + if os.path.exists(full_path): + return full_path + return None + + class DebugString(object): def __init__(self, get_string_func): self.get_string_func = get_string_func @@ -778,17 +786,6 @@ class YMake(object): def print_settings(self): emit_with_ignore_comment('ARCADIA_ROOT', self.arcadia.root) - @staticmethod - def _find_conf(conf_file): - script_dir = os.path.dirname(__file__) - full_path = os.path.join(script_dir, conf_file) - if os.path.exists(full_path): - return full_path - return None - - def _find_core_conf(self): - return self._find_conf('ymake.core.conf') - class System(object): def __init__(self, platform): @@ -2536,6 +2533,11 @@ def main(): build = Build(arcadia, options.build_type, options.toolchain_params, force_ignore_local_files=not options.local_distbuild) build.print_build() + _INTERNAL_CONF = 'internal/conf/internal.conf' + internal_conf_full_path = find_conf(_INTERNAL_CONF) + if internal_conf_full_path and not is_positive('DISABLE_YMAKE_CONF_CUSTOMIZATION'): + print('@import "${{CONF_ROOT}}/{}"'.format(_INTERNAL_CONF)) + emit_with_ignore_comment('CONF_SCRIPT_DEPENDS', __file__) |