11use super :: TargetInfo ;
22
3- #[ derive( Copy , Clone , Debug , Eq , PartialEq ) ]
4- pub ( crate ) enum AppleEnv {
5- Simulator ,
6- MacCatalyst ,
7- }
8- pub ( crate ) use AppleEnv :: * ;
9-
103impl 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-
194 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" ,
3116 ( os, _) => panic ! ( "invalid Apple target OS {}" , os) ,
3217 }
3318 }
@@ -45,19 +30,19 @@ impl TargetInfo<'_> {
4530 // https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-mmacos-version-min
4631 // https://clang.llvm.org/docs/AttributeReference.html#availability
4732 // 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}" ) ,
5742 // `-mxros-version-min` does not exist
5843 // 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" ) ,
6146 ( os, _) => panic ! ( "invalid Apple target OS {}" , os) ,
6247 }
6348 }
0 commit comments