|
@@ -1671,6 +1671,10 @@ module _BASE_PROGRAM: _LINK_UNIT {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ when ($USE_DYNAMIC_CUDA == "yes") {
|
|
|
+ LINK_SCRIPT_EXE_FLAGS += --dynamic-cuda
|
|
|
+ }
|
|
|
+
|
|
|
DEFAULT(CPU_CHECK yes)
|
|
|
when ($USE_SSE4 != "yes" || $NOUTIL == "yes" || $ALLOCATOR == "FAKE") {
|
|
|
CPU_CHECK = no
|
|
@@ -1861,6 +1865,13 @@ macro EXPORT_ALL_DYNAMIC_SYMBOLS() {
|
|
|
ENABLE(EXPORT_ALL_DYNAMIC_SYMBOLS)
|
|
|
}
|
|
|
|
|
|
+### @usage: USE_DYNAMIC_CUDA()
|
|
|
+###
|
|
|
+### Enable linking of PROGRAM with dynamic CUDA. By default CUDA uses static linking
|
|
|
+macro USE_DYNAMIC_CUDA() {
|
|
|
+ ENABLE(USE_DYNAMIC_CUDA)
|
|
|
+}
|
|
|
+
|
|
|
### @usage: CUSTOM_LINK_STEP_SCRIPT(name)
|
|
|
###
|
|
|
### Specifies name of a script for custom link step. The scripts
|
|
@@ -3233,18 +3244,28 @@ _DOCS_MKDOCS_CMD=$_DOCS_MKDOCS_CMD_IMPL($_DOCS_CONFIG_VALUE INCLUDE_SRCS $_DOCS_
|
|
|
_DOCS_YFM_DEFAULT_CONFIG=$MODDIR/.yfm
|
|
|
_DOCS_MKDOCS_DEFAULT_CONFIG=$MODDIR/mkdocs.yml
|
|
|
|
|
|
-### FIXME(snermolaev)
|
|
|
-module _DOCS_BASE_UNIT: _BARE_UNIT {
|
|
|
+# tags:docs
|
|
|
+### This module is intended for internal use only. Common parts for DOCS and MKDOCS multimodules
|
|
|
+### should be defined here.
|
|
|
+module _DOCS_BARE_UNIT: _BARE_UNIT {
|
|
|
.ALLOWED=DOCS_DIR DOCS_CONFIG DOCS_VARS
|
|
|
.CMD=TOUCH_DOCS_MF
|
|
|
.FINAL_TARGET=no
|
|
|
|
|
|
- ENABLE(_DOCS_BASE_UNIT)
|
|
|
+ ENABLE(_DOCS_BARE_UNIT)
|
|
|
|
|
|
SET(MODULE_SUFFIX .tar.gz)
|
|
|
SET(MODULE_LANG DOCS)
|
|
|
- DEFAULT(_DOCS_BUILDER_VALUE yfm)
|
|
|
DEFAULT(_DOCS_DIR_VALUE ${MODDIR})
|
|
|
+}
|
|
|
+
|
|
|
+# tag:docs
|
|
|
+### This module is intended for internal use only. Common parts for submodules of DOCS multimodule
|
|
|
+### should be defined here.
|
|
|
+module _DOCS_BASE_UNIT: _DOCS_BARE_UNIT {
|
|
|
+ ENABLE(_DOCS_BASE_UNIT)
|
|
|
+
|
|
|
+ DEFAULT(_DOCS_BUILDER_VALUE yfm)
|
|
|
select ($_DOCS_BUILDER) {
|
|
|
"yfm" ? {
|
|
|
PEERDIR+=build/platform/yfm
|
|
@@ -3295,7 +3316,7 @@ macro _DOCS_YFM_USE_PLANTUML() {
|
|
|
###
|
|
|
### Documentation project multimodule.
|
|
|
###
|
|
|
-### When built directly, via RECURSE, DEPENDS or BUNDLE the output artifact is docs.tar.gz with statically generated site (using mkdocs as builder).
|
|
|
+### When built directly, via RECURSE, DEPENDS or BUNDLE the output artifact is docs.tar.gz with statically generated site.
|
|
|
### When PEERDIRed from other DOCS() module behaves like a UNION (supplying own content and dependencies to build target).
|
|
|
### Peerdirs from modules other than DOCS are not accepted.
|
|
|
### Most usual macros are not accepted, only used with the macros DOCS_DIR(), DOCS_CONFIG(), DOCS_VARS(), DOCS_BUILDER().
|
|
@@ -3342,6 +3363,77 @@ multimodule DOCS {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+# tag:docs
|
|
|
+### This module is intended for internal use only. Common parts for submodules of MKDOCS multimodule
|
|
|
+### should be defined here.
|
|
|
+module _MKDOCS_BASE_UNIT: _DOCS_BARE_UNIT {
|
|
|
+ .RESTRICTED=DOCS_BUILDER
|
|
|
+
|
|
|
+ ENABLE(_MKDOCS_BASE_UNIT)
|
|
|
+
|
|
|
+ DOCS_CONFIG($_DOCS_MKDOCS_DEFAULT_CONFIG)
|
|
|
+}
|
|
|
+
|
|
|
+# tag:internal tag:docs
|
|
|
+### _MKDOCS_EPILOOGUE() # internal
|
|
|
+###
|
|
|
+### This macro executes macros which should be envoked after all user
|
|
|
+### specified macros in the ya.make file
|
|
|
+macro _MKDOCS_EPILOGUE() {
|
|
|
+ _LATE_GLOB(_DOCS_SRCS_GLOB ${pre=${ARCADIA_ROOT}/;suf=/**/*:_DOCS_DIR_VALUE})
|
|
|
+ SET(_DOCS_SRCS_VALUE \${input;hide:_DOCS_SRCS_GLOB})
|
|
|
+}
|
|
|
+
|
|
|
+# tag:docs
|
|
|
+### @usage: MKDOCS()
|
|
|
+###
|
|
|
+### Documentation project multimodule.
|
|
|
+###
|
|
|
+### When built directly, via RECURSE, DEPENDS or BUNDLE the output artifact is docs.tar.gz with statically generated site (using mkdocs as builder).
|
|
|
+### When PEERDIRed from other MKDOCS() module behaves like a UNION (supplying own content and dependencies to build target).
|
|
|
+### Peerdirs from modules other than MKDOCS are not accepted.
|
|
|
+### Most usual macros are not accepted, only used with the macros DOCS_DIR(), DOCS_CONFIG(), DOCS_VARS().
|
|
|
+###
|
|
|
+### @see: [DOCS_DIR()](#macro_DOCS_DIR), [DOCS_CONFIG()](#macro_DOCS_CONFIG), [DOCS_VARS()](#macro_DOCS_VARS).
|
|
|
+multimodule MKDOCS {
|
|
|
+ module MKDOCSBOOK: _MKDOCS_BASE_UNIT {
|
|
|
+ .CMD=_DOCS_MKDOCS_CMD
|
|
|
+ .EPILOGUE=_MKDOCS_EPILOGUE
|
|
|
+ .FINAL_TARGET=yes
|
|
|
+ .PEERDIR_POLICY=as_build_from
|
|
|
+
|
|
|
+ ENABLE(MKDOCSBOOK)
|
|
|
+
|
|
|
+ SET(MODULE_TYPE PROGRAM)
|
|
|
+ SET(PEERDIR_TAGS MKDOCSLIB)
|
|
|
+ SET(MODULE_TAG MKDOCSBOOK)
|
|
|
+
|
|
|
+ _DOCS_MKDOCS_CMDLINE_SUFFIX=$_DOCS_MKDOCS_BOOK_CMDLINE_SUFFIX
|
|
|
+ _DOCS_COMMON_PROCESS_DEPS=$_DOCS_MKDOCS_BOOK_PROCESS_DEPS
|
|
|
+
|
|
|
+ PROCESS_MKDOCS()
|
|
|
+ }
|
|
|
+
|
|
|
+ module MKDOCSLIB: _MKDOCS_BASE_UNIT {
|
|
|
+ .CMD=_DOCS_MKDOCS_CMD
|
|
|
+ .EPILOGUE=_MKDOCS_EPILOGUE
|
|
|
+ .PEERDIR_POLICY=as_include
|
|
|
+
|
|
|
+ ENABLE(MKDOCSLIB)
|
|
|
+
|
|
|
+ SET(MODULE_TYPE LIBRARY)
|
|
|
+ SET(PEERDIR_TAGS MKDOCSLIB)
|
|
|
+ SET(MODULE_TAG MKDOCSLIB)
|
|
|
+
|
|
|
+ REALPRJNAME=preprocessed
|
|
|
+
|
|
|
+ _DOCS_MKDOCS_CMDLINE_SUFFIX=$_DOCS_MKDOCS_LIB_CMDLINE_SUFFIX
|
|
|
+ _DOCS_COMMON_PROCESS_DEPS=$_DOCS_COMMON_LIB_PROCESS_DEPS
|
|
|
+
|
|
|
+ PROCESS_MKDOCS()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
# tag:docs
|
|
|
_DOCS_USE_PLANTUML=
|
|
|
### @usage: USE_PLANTUML()
|