Update .DEPS.git
[chromium-blink-merge.git] / content / BUILD.gn
blob20a553e70a81811a5acd56f97b9627a75f282742
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.
5 import("//tools/grit/grit_rule.gni")
7 # Applied by targets internal to content.
8 config("content_implementation") {
9   defines = [ "CONTENT_IMPLEMENTATION" ]
12 content_components = [
13   "//content/app",
14   "//content/browser",
15   "//content/child",
16   "//content/gpu",
17   "//content/plugin",
18   "//content/ppapi_plugin",
19   "//content/public/app",
20   "//content/public/browser",
21   "//content/public/child",
22   "//content/public/plugin",
23   "//content/public/renderer",
24   "//content/renderer",
25   "//content/utility",
26   "//content/worker",
29 if (is_component_build) {
30   shared_library("content") {
31     deps = content_components
32   }
33 } else {
34   group("content") {
35     deps = content_components
36   }
39 grit("resources") {
40   source = "content_resources.grd"
43 # This target exists to "hold" the content_export header so we can do proper
44 # inclusion testing of it.
45 source_set("export") {
46   visibility = "//content/*"
47   sources = [
48     "content/common/content_export.h"
49   ]
52 # Stubs ------------------------------------------------------------------------
54 # TODO(brettw) remove this and add a proper dependency on libjingle once that
55 # target has been converted to GN. This config sets up the include directories
56 # so content can compile in the meantime.
57 config("libjingle_stub_config") {
58   include_dirs = [
59     "//third_party/libjingle/overrides",
60     "//third_party/libjingle/source",
61     "//third_party/libyuv/include",
62     "//third_party/usrsctp",
65     "//third_party/webrtc/overrides",  # Must be before webrtc abd third_party.
66     "//third_party/webrtc",
67     "//third_party",
68   ]
70   defines = [
71     "FEATURE_ENABLE_SSL",
72     "FEATURE_ENABLE_VOICEMAIL",
73     "EXPAT_RELATIVE_PATH",
74     "GTEST_RELATIVE_PATH",
75     "NO_MAIN_THREAD_WRAPPING",
76     "NO_SOUND_SYSTEM",
77   ]
79   if (is_mac) {
80     defines += [ "OSX" ]
81   } else if (is_linux) {
82     defines += [ "LINUX" ]
83   } else if (is_android) {
84     defines += [ "ANDROID" ]
85   } else if (is_win) {
86     libs = [ "secur32.lib", "crypt32.lib", "iphlpapi.lib" ]
87   }
89   if (is_posix) {
90     defines += [ "POSIX" ]
91   }
92   if (is_chromeos) {
93     defines += [ "CHROMEOS" ]
94   }
97 # Sets up include dirs while webrtc is being converted to GN.
98 # TODO(GYP) remove when webrtc is ready.
99 config("webrtc_stub_config") {
100   defines = [ "WEBRTC_CHROMIUM_BUILD" ]
101   include_dirs = [
102     "//third_party/webrtc/overrides",  # Must be first.
103     "//third_party",
104   ]
106   if (is_mac) {
107     defines += [ "WEBRTC_MAC" ]
108   } else if (is_win) {
109     defines += [ "WEBRTC_WIN" ]
110   } else if (is_linux) {
111     defines += [ "WEBRTC_LINUX" ]
112   } else if (is_ios) {
113     defines += [ "WEBRTC_MAC", "WEBRTC_IOS" ]
114   } else if (is_android) {
115     defines += [ "WEBRTC_LINUX", "WEBRTC_ANDROID" ]
116     import("//build/config/crypto.gni")
117     if (use_openssl) {
118       defines += [ "WEBRTC_ANDROID_OPENSLEQS" ]
119     }
120   }
122   if (is_posix) {
123     defines += [ "WEBRTC_POSIX" ]
124   }