# Copyright 2015 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/rules.gni")
import("//ios/build/config.gni")

ios_app_bundle("ios_web_shell") {
  info_plist = "Info.plist"

  sources = [
    "web_exe_main.mm",
  ]

  deps = [
    ":shell",

    # All shared libraries must have the sanitizer deps to properly link in
    # asan mode (this target will be empty in other cases).
    "//build/config/sanitizers:deps",
  ]

  ldflags = [
    "-Xlinker",
    "-objc_abi_version",
    "-Xlinker",
    "2",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]

  assert_no_deps = ios_assert_no_deps
}

bundle_data("shell_bundle_data") {
  visibility = [ ":shell" ]
  sources = [
    "Default.png",
    "textfield_background@2x.png",
    "toolbar_back@2x.png",
    "toolbar_forward@2x.png",
  ]
  outputs = [
    "{{bundle_resources_dir}}/{{source_file_part}}",
  ]
}

source_set("shell") {
  sources = [
    "app_delegate.h",
    "app_delegate.mm",
    "shell_browser_state.h",
    "shell_browser_state.mm",
    "shell_main_delegate.h",
    "shell_main_delegate.mm",
    "shell_network_delegate.cc",
    "shell_network_delegate.h",
    "shell_url_request_context_getter.h",
    "shell_url_request_context_getter.mm",
    "shell_web_client.h",
    "shell_web_client.mm",
    "shell_web_main_parts.h",
    "shell_web_main_parts.mm",
    "view_controller.h",
    "view_controller.mm",
  ]

  deps = [
    ":shell_bundle_data",
    "//base",
    "//ios/net",
    "//ios/web",
    "//ios/web:user_agent",
    "//ios/web/public/app",
    "//net",
    "//net:extras",
    "//ui/base",
  ]

  libs = [
    "CoreGraphics.framework",
    "CoreFoundation.framework",
    "Foundation.framework",
    "UIKit.framework",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]
}
