public static void GetSimulatorCompilerFlags(CompilerFlags flags, string ifile, Application app, string language = null) { GetCompilerFlags (flags, ifile, language); if (Driver.SDKVersion == new Version ()) throw new MonoTouchException (25, true, "No SDK version was provided. Please add --sdk=X.Y to specify which iOS SDK should be used to build your application."); string sim_platform = Driver.PlatformDirectory; string plist = Path.Combine (sim_platform, "Info.plist"); var dict = Driver.FromPList (plist); var dp = dict.Get<PDictionary> ("DefaultProperties"); if (dp.GetString ("GCC_OBJC_LEGACY_DISPATCH") == "YES") flags.AddOtherFlag ("-fobjc-legacy-dispatch"); string objc_abi = dp.GetString ("OBJC_ABI_VERSION"); if (!String.IsNullOrWhiteSpace (objc_abi)) flags.AddOtherFlag ($"-fobjc-abi-version={objc_abi}"); plist = Path.Combine (Driver.FrameworkDirectory, "SDKSettings.plist"); string min_prefix = Driver.CompilerPath.Contains ("clang") ? Driver.TargetMinSdkName : "iphoneos"; dict = Driver.FromPList (plist); dp = dict.Get<PDictionary> ("DefaultProperties"); if (app.DeploymentTarget == new Version ()) { string target = dp.GetString ("IPHONEOS_DEPLOYMENT_TARGET"); if (!String.IsNullOrWhiteSpace (target)) flags.AddOtherFlag ($"-m{min_prefix}-version-min={target}"); } else { flags.AddOtherFlag ($"-m{min_prefix}-version-min={app.DeploymentTarget}"); } string defines = dp.GetString ("GCC_PRODUCT_TYPE_PREPROCESSOR_DEFINITIONS"); if (!String.IsNullOrWhiteSpace (defines)) flags.AddDefine (defines.Replace (" ", String.Empty)); }
StaticRegistrar(Application app) { trace = !LaxMode && (app.RegistrarOptions & RegistrarOptions.Trace) == RegistrarOptions.Trace; }
public StaticRegistrar(Application app, IEnumerable<AssemblyDefinition> assemblies, bool is_simulator, bool is_64_bits, Mono.Linker.LinkContext link_context) : this(app) { this.is_simulator = is_simulator; this.is_64_bits = is_64_bits; this.input_assemblies = assemblies; availability_annotations = link_context?.Annotations.GetCustomAnnotations ("Availability"); foreach (var assembly in assemblies) RegisterAssembly (assembly); }
public StaticRegistrar(Application app, IEnumerable<AssemblyDefinition> assemblies, bool is_simulator, string single_assembly = null) : this(app) { this.is_simulator = is_simulator; this.single_assembly = single_assembly; this.input_assemblies = assemblies; foreach (var assembly in assemblies) RegisterAssembly (assembly); }
public static string Generate(Application app, IEnumerable<AssemblyDefinition> list, bool simulator, string single_assembly = null) { return new StaticRegistrar (app, list, simulator, single_assembly).Generate (); }
public static string Generate(Application app, IEnumerable<AssemblyDefinition> list, bool simulator, bool is_64_bits, Mono.Linker.LinkContext link_context) { return new StaticRegistrar (app, list, simulator, is_64_bits, link_context).Generate (); }