# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/ios/sdk_info.gni")
import("//build/config/ios/templates/merge_plist.gni")

merge_plist("compiler_plist") {
  substitutions = {
    COMPILER_NAME = sdk_info.compiler
    MACOS_BUILD = sdk_info.macos_build
    PLATFORM_BUILD = sdk_info.sdk_build
    PLATFORM_DISPLAY_NAME = sdk_info.platform_name
    PLATFORM_NAME = sdk_info.platform
    PLATFORM_VERSION = sdk_info.sdk_version
    SDK_BUILD = sdk_info.sdk_build
    SDK_NAME = sdk_info.sdk
    XCODE_BUILD = sdk_info.xcode_build
    XCODE_VERSION = sdk_info.xcode_version
  }

  output = "$target_out_dir/compiler_plist/Info.plist"
  plists = [ "//build/config/ios/resources/compiler-Info.plist" ]
}
