1
1
use super :: TargetInfo ;
2
2
3
- #[ derive( Copy , Clone , Debug , Eq , PartialEq ) ]
4
- pub ( crate ) enum AppleEnv {
5
- Simulator ,
6
- MacCatalyst ,
7
- }
8
- pub ( crate ) use AppleEnv :: * ;
9
-
10
3
impl TargetInfo < ' _ > {
11
- pub ( crate ) fn get_apple_env ( & self ) -> Option < AppleEnv > {
12
- match ( self . env , self . abi ) {
13
- ( "sim" , _) | ( _, "sim" ) => Some ( Simulator ) ,
14
- ( "macabi" , _) | ( _, "macabi" ) => Some ( MacCatalyst ) ,
15
- _ => None ,
16
- }
17
- }
18
-
19
4
pub ( crate ) fn apple_sdk_name ( & self ) -> & ' static str {
20
- match ( self . os , self . get_apple_env ( ) ) {
21
- ( "macos" , None ) => "macosx" ,
22
- ( "ios" , None ) => "iphoneos" ,
23
- ( "ios" , Some ( Simulator ) ) => "iphonesimulator" ,
24
- ( "ios" , Some ( MacCatalyst ) ) => "macosx" ,
25
- ( "tvos" , None ) => "appletvos" ,
26
- ( "tvos" , Some ( Simulator ) ) => "appletvsimulator" ,
27
- ( "watchos" , None ) => "watchos" ,
28
- ( "watchos" , Some ( Simulator ) ) => "watchsimulator" ,
29
- ( "visionos" , None ) => "xros" ,
30
- ( "visionos" , Some ( Simulator ) ) => "xrsimulator" ,
5
+ match ( self . os , self . env ) {
6
+ ( "macos" , "" ) => "macosx" ,
7
+ ( "ios" , "" ) => "iphoneos" ,
8
+ ( "ios" , "sim" ) => "iphonesimulator" ,
9
+ ( "ios" , "macabi" ) => "macosx" ,
10
+ ( "tvos" , "" ) => "appletvos" ,
11
+ ( "tvos" , "sim" ) => "appletvsimulator" ,
12
+ ( "watchos" , "" ) => "watchos" ,
13
+ ( "watchos" , "sim" ) => "watchsimulator" ,
14
+ ( "visionos" , "" ) => "xros" ,
15
+ ( "visionos" , "sim" ) => "xrsimulator" ,
31
16
( os, _) => panic ! ( "invalid Apple target OS {}" , os) ,
32
17
}
33
18
}
@@ -45,19 +30,19 @@ impl TargetInfo<'_> {
45
30
// https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-mmacos-version-min
46
31
// https://clang.llvm.org/docs/AttributeReference.html#availability
47
32
// https://gcc.gnu.org/onlinedocs/gcc/Darwin-Options.html#index-mmacosx-version-min
48
- match ( self . os , self . get_apple_env ( ) ) {
49
- ( "macos" , None ) => format ! ( "-mmacosx-version-min={min_version}" ) ,
50
- ( "ios" , None ) => format ! ( "-miphoneos-version-min={min_version}" ) ,
51
- ( "ios" , Some ( Simulator ) ) => format ! ( "-mios-simulator-version-min={min_version}" ) ,
52
- ( "ios" , Some ( MacCatalyst ) ) => format ! ( "-mtargetos=ios{min_version}-macabi" ) ,
53
- ( "tvos" , None ) => format ! ( "-mappletvos-version-min={min_version}" ) ,
54
- ( "tvos" , Some ( Simulator ) ) => format ! ( "-mappletvsimulator-version-min={min_version}" ) ,
55
- ( "watchos" , None ) => format ! ( "-mwatchos-version-min={min_version}" ) ,
56
- ( "watchos" , Some ( Simulator ) ) => format ! ( "-mwatchsimulator-version-min={min_version}" ) ,
33
+ match ( self . os , self . env ) {
34
+ ( "macos" , "" ) => format ! ( "-mmacosx-version-min={min_version}" ) ,
35
+ ( "ios" , "" ) => format ! ( "-miphoneos-version-min={min_version}" ) ,
36
+ ( "ios" , "sim" ) => format ! ( "-mios-simulator-version-min={min_version}" ) ,
37
+ ( "ios" , "macabi" ) => format ! ( "-mtargetos=ios{min_version}-macabi" ) ,
38
+ ( "tvos" , "" ) => format ! ( "-mappletvos-version-min={min_version}" ) ,
39
+ ( "tvos" , "sim" ) => format ! ( "-mappletvsimulator-version-min={min_version}" ) ,
40
+ ( "watchos" , "" ) => format ! ( "-mwatchos-version-min={min_version}" ) ,
41
+ ( "watchos" , "sim" ) => format ! ( "-mwatchsimulator-version-min={min_version}" ) ,
57
42
// `-mxros-version-min` does not exist
58
43
// https://github.com/llvm/llvm-project/issues/88271
59
- ( "visionos" , None ) => format ! ( "-mtargetos=xros{min_version}" ) ,
60
- ( "visionos" , Some ( Simulator ) ) => format ! ( "-mtargetos=xros{min_version}-simulator" ) ,
44
+ ( "visionos" , "" ) => format ! ( "-mtargetos=xros{min_version}" ) ,
45
+ ( "visionos" , "sim" ) => format ! ( "-mtargetos=xros{min_version}-simulator" ) ,
61
46
( os, _) => panic ! ( "invalid Apple target OS {}" , os) ,
62
47
}
63
48
}
0 commit comments