opt valgrind 0 "run tests with valgrind (memcheck by default)"
opt helgrind 0 "run tests with helgrind instead of memcheck"
opt valgrind-rpass 1 "run rpass-valgrind tests with valgrind"
-opt docs 1 "build documentation"
+opt docs 1 "build standard library documentation"
+opt compiler-docs 0 "build compiler documentation"
opt optimize 1 "build optimized rust code"
opt optimize-cxx 1 "build optimized C++ code"
opt optimize-llvm 1 "build optimized LLVM"
# You should not need to edit below this line
################################################################################
+# On channels where the only usable crate is std, only build documentation for
+# std. This keeps distributions small and doesn't clutter up the API docs with
+# confusing internal details from the crates behind the facade.
+
+ifeq ($(CFG_RELEASE_CHANNEL),stable)
+DOC_CRATES := std
+else
+ifeq ($(CFG_RELEASE_CHANNEL),beta)
+DOC_CRATES := std
+else
DOC_CRATES := $(filter-out rustc, \
- $(filter-out rustc_trans, \
- $(filter-out rustc_typeck, \
- $(filter-out rustc_borrowck, \
- $(filter-out rustc_resolve, \
- $(filter-out rustc_driver, \
- $(filter-out rustc_privacy, \
- $(filter-out rustc_lint, \
- $(filter-out log, \
- $(filter-out getopts, \
- $(filter-out syntax, $(CRATES))))))))))))
+ $(filter-out rustc_trans, \
+ $(filter-out rustc_typeck, \
+ $(filter-out rustc_borrowck, \
+ $(filter-out rustc_resolve, \
+ $(filter-out rustc_driver, \
+ $(filter-out rustc_privacy, \
+ $(filter-out rustc_lint, \
+ $(filter-out log, \
+ $(filter-out getopts, \
+ $(filter-out syntax, $(CRATES))))))))))))
+endif
+endif
COMPILER_DOC_CRATES := rustc rustc_trans rustc_borrowck rustc_resolve \
rustc_typeck rustc_driver syntax rustc_privacy \
rustc_lint
endef
$(foreach crate,$(DOC_CRATES),$(eval $(call DEF_LIB_DOC,$(crate),DOC_TARGETS)))
-$(foreach crate,$(COMPILER_DOC_CRATES),$(eval $(call DEF_LIB_DOC,$(crate),COMPILER_DOC_TARGETS)))
+
+ifdef CFG_COMPILER_DOCS
+ $(foreach crate,$(COMPILER_DOC_CRATES),$(eval $(call DEF_LIB_DOC,$(crate),COMPILER_DOC_TARGETS)))
+endif
ifdef CFG_DISABLE_DOCS
$(info cfg: disabling doc build (CFG_DISABLE_DOCS))