def get_preset_options(substitutions, preset_file_names, preset_name): config = _load_preset_files_impl(preset_file_names, substitutions) (build_script_opts, build_script_impl_opts, missing_opts) = \ _get_preset_options_impl(config, substitutions, preset_name) if not build_script_opts and not build_script_impl_opts: diagnostics.fatal("preset '" + preset_name + "' not found") if missing_opts: diagnostics.fatal("missing option(s) for preset '" + preset_name + "': " + ", ".join(missing_opts)) # Migrate 'swift-sdks' parameter to 'stdlib-deployment-targets' swift_sdks_opts = [ opt for opt in build_script_impl_opts if opt.startswith("--swift-sdks") ] try: swift_sdks_opt = swift_sdks_opts[-1] except IndexError: swift_sdks_opt = None if swift_sdks_opt is not None: sdks_to_configure = swift_sdks_opt.split("=")[1].split(";") tgts = [] # Expand SDKs in to their deployment targets from swift_build_support.targets import StdlibDeploymentTarget for sdk in sdks_to_configure: if sdk == "OSX": tgts += StdlibDeploymentTarget.OSX.targets elif sdk == "IOS": tgts += StdlibDeploymentTarget.iOS.targets elif sdk == "IOS_SIMULATOR": tgts += StdlibDeploymentTarget.iOSSimulator.targets elif sdk == "TVOS": tgts += StdlibDeploymentTarget.AppleTV.targets elif sdk == "TVOS_SIMULATOR": tgts += StdlibDeploymentTarget.AppleTVSimulator.targets elif sdk == "WATCHOS": tgts += StdlibDeploymentTarget.AppleWatch.targets elif sdk == "WATCHOS_SIMULATOR": tgts += StdlibDeploymentTarget.AppleWatchSimulator.targets build_script_opts.append("--stdlib-deployment-targets=" + " ".join([tgt.name for tgt in tgts])) # Filter the swift-sdks parameter build_script_impl_opts = [ opt for opt in build_script_impl_opts if not opt.startswith("--swift-sdks") ] return build_script_opts + ["--"] + build_script_impl_opts
def _load_preset_files_impl(preset_file_names, substitutions={}): config = ConfigParser.SafeConfigParser(substitutions, allow_no_value=True) if config.read(preset_file_names) == []: diagnostics.fatal("preset file not found (tried " + str(preset_file_names) + ")") return config
def _load_preset_files_impl(preset_file_names, substitutions={}): config = ConfigParser.SafeConfigParser(substitutions, allow_no_value=True) if config.read(preset_file_names) == []: diagnostics.fatal( "preset file not found (tried " + str(preset_file_names) + ")") return config