@@ -1018,6 +1018,32 @@ impl OutputFilenames {
1018
1018
}
1019
1019
}
1020
1020
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
+
1021
1047
pub fn host_triple ( ) -> & ' static str {
1022
1048
// Get the host triple out of the build environment. This ensures that our
1023
1049
// 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 {
3177
3203
BranchProtection , CFGuard , CFProtection , CrateType , DebugInfo , DebugInfoCompression ,
3178
3204
ErrorOutputType , InstrumentCoverage , InstrumentXRay , LinkerPluginLto , LocationDetail ,
3179
3205
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 ,
3182
3208
} ;
3183
3209
use crate :: lint;
3184
3210
use crate :: options:: WasiExecModel ;
@@ -3272,6 +3298,7 @@ pub(crate) mod dep_tracking {
3272
3298
StackProtector ,
3273
3299
SwitchWithOptPath ,
3274
3300
SymbolManglingVersion ,
3301
+ RemapPathScopeComponents ,
3275
3302
SourceFileHashAlgorithm ,
3276
3303
TrimmedDefPaths ,
3277
3304
OutFileName ,
0 commit comments