Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / content / BUILD.gn
blob88f705ba5c1e6fb0f912ea9c8d37cd276e32761d
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_shared_components = [
13   "//content/gpu",
14   "//content/plugin",
15   "//content/ppapi_plugin",
16   "//content/public/app",
17   "//content/public/browser:sources",
18   "//content/public/child",
19   "//content/public/common",
20   "//content/public/plugin",
21   "//content/public/renderer",
22   "//content/renderer",
23   "//content/utility",
26 if (is_component_build) {
27   shared_library("content") {
28     deps = content_shared_components + [
29       "//content/app",
30     ]
31     forward_dependent_configs_from = deps
32   }
33 } else {
34   group("content") {
35     deps = content_shared_components
36   }
39 grit("resources") {
40   source = "content_resources.grd"
41   use_qualified_include = true
42   outputs = [
43     "grit/content_resources.h",
44     "content_resources.pak",
45     "content_resources.rc",
46   ]
49 # This target exists to "hold" the content_export header so we can do proper
50 # inclusion testing of it.
51 source_set("export") {
52   visibility = "//content/*"
53   sources = [
54     "content/common/content_export.h"
55   ]
58 # Stubs ------------------------------------------------------------------------
60 # TODO(brettw) remove this and add a proper dependency on libjingle once that
61 # target has been converted to GN. This config sets up the include directories
62 # so content can compile in the meantime.
63 config("libjingle_stub_config") {
64   include_dirs = [
65     "//third_party/libjingle/overrides",
66     "//third_party/libjingle/source",
67     "//third_party/libyuv/include",
68     "//third_party/usrsctp",
71     "//third_party/webrtc/overrides",  # Must be before webrtc abd third_party.
72     "//third_party/webrtc",
73     "//third_party",
74   ]
76   defines = [
77     "FEATURE_ENABLE_SSL",
78     "FEATURE_ENABLE_VOICEMAIL",
79     "EXPAT_RELATIVE_PATH",
80     "GTEST_RELATIVE_PATH",
81     "NO_MAIN_THREAD_WRAPPING",
82     "NO_SOUND_SYSTEM",
83   ]
85   if (is_mac) {
86     defines += [ "OSX", "WEBRTC_MAC" ]
87   } else if (is_linux) {
88     defines += [ "LINUX", "WEBRTC_LINUX" ]
89   } else if (is_android) {
90     defines += [ "ANDROID", "WEBRTC_LINUX", "WEBRTC_ANDROID" ]
91   } else if (is_win) {
92     libs = [ "secur32.lib", "crypt32.lib", "iphlpapi.lib" ]
93     defines += [ "WEBRTC_WIN" ]
94   }
96   if (is_posix) {
97     defines += [ "POSIX", "WEBRTC_POSIX" ]
98   }
99   if (is_chromeos) {
100     defines += [ "CHROMEOS" ]
101   }
104 # Sets up include dirs while webrtc is being converted to GN.
105 # TODO(GYP) remove when webrtc is ready.
106 config("webrtc_stub_config") {
107   defines = [ "WEBRTC_CHROMIUM_BUILD" ]
108   include_dirs = [
109     "//third_party/webrtc/overrides",  # Must be first.
110     "//third_party",
111   ]
113   if (is_mac) {
114     defines += [ "WEBRTC_MAC" ]
115   } else if (is_win) {
116     defines += [ "WEBRTC_WIN" ]
117   } else if (is_linux) {
118     defines += [ "WEBRTC_LINUX" ]
119   } else if (is_ios) {
120     defines += [ "WEBRTC_MAC", "WEBRTC_IOS" ]
121   } else if (is_android) {
122     defines += [ "WEBRTC_LINUX", "WEBRTC_ANDROID" ]
123     import("//build/config/crypto.gni")
124     if (use_openssl) {
125       defines += [ "WEBRTC_ANDROID_OPENSLEQS" ]
126     }
127   }
129   if (is_posix) {
130     defines += [ "WEBRTC_POSIX" ]
131   }