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 = [
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",
26 if (is_component_build) {
27 shared_library("content") {
28 deps = content_shared_components + [
31 forward_dependent_configs_from = deps
35 deps = content_shared_components
40 source = "content_resources.grd"
41 use_qualified_include = true
43 "grit/content_resources.h",
44 "content_resources.pak",
45 "content_resources.rc",
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/*"
54 "content/common/content_export.h"
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") {
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",
78 "FEATURE_ENABLE_VOICEMAIL",
79 "EXPAT_RELATIVE_PATH",
80 "GTEST_RELATIVE_PATH",
81 "NO_MAIN_THREAD_WRAPPING",
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" ]
92 libs = [ "secur32.lib", "crypt32.lib", "iphlpapi.lib" ]
93 defines += [ "WEBRTC_WIN" ]
97 defines += [ "POSIX", "WEBRTC_POSIX" ]
100 defines += [ "CHROMEOS" ]
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" ]
109 "//third_party/webrtc/overrides", # Must be first.
114 defines += [ "WEBRTC_MAC" ]
116 defines += [ "WEBRTC_WIN" ]
117 } else if (is_linux) {
118 defines += [ "WEBRTC_LINUX" ]
120 defines += [ "WEBRTC_MAC", "WEBRTC_IOS" ]
121 } else if (is_android) {
122 defines += [ "WEBRTC_LINUX", "WEBRTC_ANDROID" ]
123 import("//build/config/crypto.gni")
125 defines += [ "WEBRTC_ANDROID_OPENSLEQS" ]
130 defines += [ "WEBRTC_POSIX" ]