# Rust Language Options
menu "Compiler Options"
	visible if PACKAGE_rust

	config RUST_DEBUG
		bool "Enables Debugging Environment (--enable-debug)"
		default n

	config RUST_DOCS
		bool "Build standard library documentation (--enable-docs)"
		default n

	config RUST_COMPILER_DOCS
		bool "Build compiler documentation (--enable-compiler-docs)"
		default n

	config RUST_OPTIMIZE_TESTS
		bool "Build tests with optimizations (--enable-optimized-tests)"
		default n

	config RUST_PARALLEL
		bool "Build with multi-threaded support (--enable-parallel-compiler)"
		default n

	config RUST_VERBOSE_TESTS
		bool "Enable verbose output when running tests (--enable-verbose-tests)"
		default n

	config RUST_CCACHE
		bool "Build with ccache enabled (--enable-ccache)"
		default n

	config RUST_LLVM_STATIC
		bool "Statically link to libstdc++ to LLVM (--enable-llvm-static-stdccp)"
		default n

	config RUST_LLVM_SHARED
		bool "Prefer shared linking to LLVM (--enable-llvm-link-shared)"
		default n

	config RUST_CODEGEN_TESTS
		bool "Run the src/test/codegen tests (--enable-codegen-tests)"
		default n

	config RUST_OPTION_CHECKING
		bool "Complain about unrecognized options in this configure script (--enable-option-checking)"
		default y

	config RUST_ENABLE_NINJA
		bool "Build LLVM using the Ninja generator (--enable-ninja)"
		default y

	config RUST_LOCKED_DEPS
		bool "Force Cargo.lock to be up to date (--enable-locked-deps)"
		default n

	config RUST_VENDOR
		bool "Enable usage of vendored Rust crates (--enable-vendor)"
		default n

	config RUST_SANITIZERS
		bool "Build the sanitizer runtimes (asan, lsan, msan, tsan) (--enable-sanitizers)"
		default n

	config RUST_DIST_SRC
		bool "When building tarballs enables building a source tarball (--enable-dist-src)"
		default n

	config RUST_CARGO_NATIVE_STATIC
		bool "Build static native libraries in Cargo (--enable-cargo-native-static)"
		default n

	config RUST_PROFILER
		bool "Build the profiler runtime (--enable-profiler)"
		default n

	config RUST_FULL_TOOLS
		bool "Build all tools (--enable-full-tools)"
		default n

	config RUST_MISSING_TOOLS
		bool "Allow failures when building tools (--enable-missing-tools)"
		default y

	config RUST_USE_LIBCXX
		bool "Build LLVM with libc++ (--enable-use-libcxx)"
		default n

	config RUST_CONTROL_FLOW_GUARD
		bool "Enable Control Flow Guard (--enable-control-flow-guard)"
		default n

	config RUST_OPTIMIZE_LLVM
		bool "Build optimized LLVM (--enable-optimize-llvm)"
		default y

	config RUST_LLVM_ASSERTIONS
		bool "Build LLVM with assertions (--enable-llvm-assertions)"
		default n

	config RUST_DEBUG_ASSERTIONS
		bool "Build with debugging assertions (--enable-debug-assertions)"
		default n

	config RUST_LLVM_RELEASE_DEBUGINFO
		bool "Build LLVM with debugger metadata (--enable-llvm-release-debuginfo)"
		default n

	config RUST_MANAGE_SUBMODULES
		bool "Let the build manage the git submodules (--enable-manage-submodules)"
		default y

	config RUST_FULL_BOOTSTRAP
		bool "Full Bootstrap - Build three compilers instead of two (--enable-full-bootstrap)"
		default n

endmenu