@@ -3696,20 +3696,37 @@ impl<'test> TestCx<'test> {
36963696
36973697 // FIXME(jieyouxu): explain what the hecc we are doing here.
36983698 // FIXME(jieyouxu): audit these env vars. some of them only makes sense for make, not rustc!
3699+ // FIXME(jieyouxu): please rename `TARGET_RPATH_ENV`, `HOST_RPATH_DIR` and
3700+ // `TARGET_RPATH_DIR`, it is **extremely** confusing!
36993701 let mut cmd = Command :: new ( & recipe_bin) ;
37003702 cmd. current_dir ( & rmake_out_dir)
37013703 . stdout ( Stdio :: piped ( ) )
37023704 . stderr ( Stdio :: piped ( ) )
3705+ // Provide the target-specific env var that is used to record dylib search paths. For
3706+ // example, this could be `LD_LIBRARY_PATH` on some linux distros but `PATH` on Windows.
37033707 . env ( "LD_LIB_PATH_ENVVAR" , dylib_env_var ( ) )
3704- . env ( "TARGET_RPATH_ENV" , & env :: join_paths ( target_runtime_dylib_search_paths ) . unwrap ( ) )
3708+ // Provide the dylib search paths.
37053709 . env ( dylib_env_var ( ) , & env:: join_paths ( recipe_dylib_search_paths) . unwrap ( ) )
3710+ // Provide runtime dylib search paths.
3711+ . env ( "TARGET_RPATH_ENV" , & env:: join_paths ( target_runtime_dylib_search_paths) . unwrap ( ) )
3712+ // Provide the target.
37063713 . env ( "TARGET" , & self . config . target )
3714+ // Some tests unfortunately still need Python, so provide path to a Python interpreter.
37073715 . env ( "PYTHON" , & self . config . python )
3716+ // Provide path to checkout root. This is the top-level directory containing
3717+ // rust-lang/rust checkout.
37083718 . env ( "SOURCE_ROOT" , & source_root)
3709- . env ( "RUST_BUILD_STAGE" , & self . config . stage_id )
3719+ // Provide path to stage-corresponding rustc.
37103720 . env ( "RUSTC" , & self . config . rustc_path )
3721+ // Provide the directory to libraries that are needed to run the *compiler*. This is not
3722+ // to be confused with `TARGET_RPATH_ENV` or `TARGET_RPATH_DIR`. This is needed if the
3723+ // recipe wants to invoke rustc.
37113724 . env ( "HOST_RPATH_DIR" , & self . config . compile_lib_path )
3725+ // Provide the directory to libraries that might be needed to run compiled binaries
3726+ // (further compiled by the recipe!).
37123727 . env ( "TARGET_RPATH_DIR" , & self . config . run_lib_path )
3728+ // Provide which LLVM components are available (e.g. which LLVM components are provided
3729+ // through a specific CI runner).
37133730 . env ( "LLVM_COMPONENTS" , & self . config . llvm_components ) ;
37143731
37153732 if let Some ( ref rustdoc) = self . config . rustdoc_path {
0 commit comments