@@ -1018,6 +1018,32 @@ impl OutputFilenames {
10181018 }
10191019}
10201020
1021+ bitflags:: bitflags! {
1022+ /// Scopes used to determined if it need to apply to --remap-path-prefix
1023+ pub struct RemapPathScopeComponents : u8 {
1024+ /// Apply remappings to the expansion of std::file!() macro
1025+ const MACRO = 1 << 0 ;
1026+ /// Apply remappings to printed compiler diagnostics
1027+ const DIAGNOSTICS = 1 << 1 ;
1028+ /// Apply remappings to debug information only when they are written to
1029+ /// compiled executables or libraries, but not when they are in split
1030+ /// debuginfo files
1031+ const UNSPLIT_DEBUGINFO = 1 << 2 ;
1032+ /// Apply remappings to debug information only when they are written to
1033+ /// split debug information files, but not in compiled executables or
1034+ /// libraries
1035+ const SPLIT_DEBUGINFO = 1 << 3 ;
1036+ /// Apply remappings to the paths pointing to split debug information
1037+ /// files. Does nothing when these files are not generated.
1038+ const SPLIT_DEBUGINFO_PATH = 1 << 4 ;
1039+
1040+ /// An alias for macro,unsplit-debuginfo,split-debuginfo-path. This
1041+ /// ensures all paths in compiled executables or libraries are remapped
1042+ /// but not elsewhere.
1043+ const OBJECT = Self :: MACRO . bits | Self :: UNSPLIT_DEBUGINFO . bits | Self :: SPLIT_DEBUGINFO_PATH . bits;
1044+ }
1045+ }
1046+
10211047pub fn host_triple ( ) -> & ' static str {
10221048 // Get the host triple out of the build environment. This ensures that our
10231049 // idea of the host triple is the same as for the set of libraries we've
@@ -3177,8 +3203,8 @@ pub(crate) mod dep_tracking {
31773203 BranchProtection , CFGuard , CFProtection , CrateType , DebugInfo , DebugInfoCompression ,
31783204 ErrorOutputType , InstrumentCoverage , InstrumentXRay , LinkerPluginLto , LocationDetail ,
31793205 LtoCli , OomStrategy , OptLevel , OutFileName , OutputType , OutputTypes , Passes ,
3180- ResolveDocLinks , SourceFileHashAlgorithm , SplitDwarfKind , SwitchWithOptPath ,
3181- SymbolManglingVersion , TraitSolver , TrimmedDefPaths ,
3206+ RemapPathScopeComponents , ResolveDocLinks , SourceFileHashAlgorithm , SplitDwarfKind ,
3207+ SwitchWithOptPath , SymbolManglingVersion , TraitSolver , TrimmedDefPaths ,
31823208 } ;
31833209 use crate :: lint;
31843210 use crate :: options:: WasiExecModel ;
@@ -3272,6 +3298,7 @@ pub(crate) mod dep_tracking {
32723298 StackProtector ,
32733299 SwitchWithOptPath ,
32743300 SymbolManglingVersion ,
3301+ RemapPathScopeComponents ,
32753302 SourceFileHashAlgorithm ,
32763303 TrimmedDefPaths ,
32773304 OutFileName ,
0 commit comments