Home | History | Annotate | Download | only in extensions
      1 # Copyright 2014 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import("//build/config/crypto.gni")
      6 import("//build/config/features.gni")
      7 import("//build/config/ui.gni")
      8 
      9 gypi_values = exec_script(
     10     "//build/gypi_to_gn.py",
     11     [ rebase_path("../../chrome_browser_extensions.gypi") ],
     12     "scope",
     13     [ "../../chrome_browser_extensions.gypi" ])
     14 
     15 # GYP version: chrome/chrome_browser_extensions.gypi:browser_extensions
     16 static_library("extensions") {
     17   sources = []
     18   sources += rebase_path(
     19       gypi_values.chrome_browser_extensions_enabled_sources,
     20       ".", "//chrome")
     21 
     22   defines = []
     23 
     24   # Since browser and browser_extensions actually depend on each other,
     25   # we must omit the dependency from browser_extensions to browser.
     26   # However, this means browser_extensions and browser should more or less
     27   # have the same dependencies. Once browser_extensions is untangled from
     28   # browser, then we can clean up these dependencies.
     29   public_deps = [
     30     "//chrome/common/extensions/api",
     31     "//content/public/browser",
     32   ]
     33   deps = [
     34     "//chrome:extra_resources",
     35     "//chrome:resources",
     36     "//chrome:strings",
     37     "//chrome/app/resources:platform_locale_settings",
     38     "//chrome/app/theme:theme_resources",
     39     "//chrome/browser/devtools",
     40     "//chrome/browser/history:in_memory_url_index_cache_proto",
     41     "//chrome/common",
     42     "//chrome/common/extensions/api:api_registration",
     43     "//chrome/common/net",
     44     "//chrome/common/safe_browsing:proto",
     45     "//chrome/installer/util",
     46     "//components/copresence",
     47     "//components/omaha_query_params",
     48     "//components/onc",
     49     "//components/proximity_auth",
     50     "//components/strings",
     51     "//components/url_matcher",
     52     "//content/app/resources",
     53     "//content/public/common",
     54     "//crypto",
     55     "//device/bluetooth",
     56     "//device/hid",
     57     "//extensions/browser",
     58     "//extensions/common/api",
     59     "//extensions/common/api:api_registration",
     60     "//extensions/strings",
     61     "//net",
     62     "//skia",
     63     "//storage/common",
     64     "//sync",
     65     "//third_party/WebKit/public:resources",
     66     "//third_party/cacheinvalidation",
     67     "//third_party/icu",
     68     "//third_party/leveldatabase",
     69     "//third_party/re2",
     70     "//third_party/webrtc/modules/desktop_capture",
     71     "//ui/accessibility:ax_gen",
     72     "//ui/base",
     73     "//ui/gfx",
     74     "//ui/gfx/geometry",
     75     "//ui/resources",
     76     "//ui/strings",
     77     "//url",
     78     "//storage/browser",
     79   ]
     80 
     81   if (is_chromeos) {
     82     sources += rebase_path(
     83         gypi_values.chrome_browser_extensions_chromeos_sources,
     84         ".", "//chrome")
     85     configs += [ "//build/config/linux:dbus" ]
     86     deps += [
     87       "//third_party/libevent",
     88       "//third_party/protobuf:protobuf_lite",
     89       #'../chromeos/ime/input_method.gyp:gencode',  TODO(GYP)
     90     ]
     91   } else {
     92     sources += [
     93       "default_apps.cc",
     94       "default_apps.h'"
     95     ]
     96     sources += rebase_path(
     97         gypi_values.chrome_browser_extensions_non_chromeos_sources,
     98         ".", "//chrome")
     99   }
    100 
    101   if (use_ash) {
    102     sources += [
    103       "api/tabs/ash_panel_contents.cc",
    104       "api/tabs/ash_panel_contents.h",
    105     ]
    106   }
    107   if (!use_athena) {
    108     sources += rebase_path(
    109         gypi_values.chrome_browser_extensions_non_athena_sources,
    110         ".", "//chrome")
    111   }
    112 
    113   if (is_linux) {
    114     configs += [ "//build/config/linux:fontconfig" ]
    115     deps += [ "//dbus" ]
    116     if (use_x11) {
    117       configs += [
    118         "//build/config/linux:x11",
    119       ]
    120       deps += [
    121         "//ui/events:events_base",
    122         "//ui/events/platform",
    123         "//ui/events/platform/x11",
    124       ]
    125     }
    126   } else {
    127     sources += [
    128       "api/audio/audio_service.cc",
    129     ]
    130   }
    131 
    132   if (enable_configuration_policy) {
    133     deps += [ "//components/policy" ]
    134     sources += [
    135       "policy_handlers.cc",
    136       "policy_handlers.h",
    137     ]
    138     sources += rebase_path(
    139         gypi_values.chrome_browser_extensions_policy_sources,
    140         ".", "//chrome")
    141   }
    142 
    143   if (enable_webrtc) {
    144     sources += [
    145       "api/webrtc_logging_private/webrtc_logging_private_api.cc",
    146     ]
    147   } else {
    148     sources += [
    149       "api/webrtc_logging_private/webrtc_logging_private_api_stub.cc",
    150     ]
    151   }
    152 
    153   if (use_brlapi) {
    154     deps += [ "//build/config/linux:libbrlapi" ]
    155     sources += rebase_path(gypi_values.chrome_browser_extensions_brlapi_sources,
    156                            ".", "//chrome")
    157   } else {
    158     sources += [
    159       "api/braille_display_private/braille_controller_stub.cc",
    160     ]
    161   }
    162 
    163   if (use_aura) {
    164     deps += [
    165       "//ui/keyboard",
    166       "//ui/keyboard:resources",
    167     ]
    168   }
    169 
    170   if (!use_x11) {
    171     sources -= [
    172       "global_shortcut_listener_x11.cc",
    173       "global_shortcut_listener_x11.h",
    174     ]
    175   }
    176 
    177   if (safe_browsing_mode == 1) {
    178     defines += [ "FULL_SAFE_BROWSING" ]
    179   }
    180   if (safe_browsing_mode == 2) {
    181     defines += [ "MOBILE_SAFE_BROWSING" ]
    182   }
    183 
    184   if (is_win || is_mac) {
    185     deps += [ "//components/wifi" ]
    186     sources += rebase_path(
    187         gypi_values.chrome_browser_extensions_networking_private_sources,
    188         ".", "//chrome")
    189   }
    190 
    191   if (is_win) {
    192     deps += [
    193       "//third_party/iaccessible2",
    194       "//third_party/isimpledom",
    195     ]
    196   } else if (!is_chromeos) {
    197     sources += [
    198       "display_info_provider_aura.cc",
    199       "display_info_provider_aura.h",
    200     ]
    201   }
    202 
    203   if (enable_app_list) {
    204     sources += rebase_path(
    205         gypi_values.chrome_browser_extensions_app_list_sources,
    206         ".", "//chrome")
    207   }
    208 
    209   if (!use_ozone) {
    210     sources -= [
    211       "global_shortcut_listener_ozone.cc",
    212     ]
    213   }
    214 }
    215