blob: b4f81b34211bf60b65b6ae7968e596b1a87b5a04 [file] [log] [blame]
[email protected]7e4c33142014-05-21 22:01:321# 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
[email protected]189add52014-05-28 16:51:445import("//tools/grit/grit_rule.gni")
6
7# Applied by targets internal to content.
8config("content_implementation") {
9 defines = [ "CONTENT_IMPLEMENTATION" ]
10}
11
[email protected]dab154ee2014-06-13 23:48:5012content_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",
27]
28
29if (is_component_build) {
30 shared_library("content") {
31 deps = content_components
32 }
33} else {
34 group("content") {
35 deps = content_components
36 }
37}
38
[email protected]189add52014-05-28 16:51:4439grit("resources") {
40 source = "content_resources.grd"
41}
42
[email protected]dab154ee2014-06-13 23:48:5043# This target exists to "hold" the content_export header so we can do proper
44# inclusion testing of it.
45source_set("export") {
46 visibility = "//content/*"
47 sources = [
48 "content/common/content_export.h"
49 ]
50}
51
[email protected]189add52014-05-28 16:51:4452# Stubs ------------------------------------------------------------------------
53
[email protected]7e4c33142014-05-21 22:01:3254# 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.
57config("libjingle_stub_config") {
58 include_dirs = [
59 "//third_party/libjingle/overrides",
60 "//third_party/libjingle/source",
[email protected]7e4c33142014-05-21 22:01:3261 "//third_party/libyuv/include",
62 "//third_party/usrsctp",
[email protected]189add52014-05-28 16:51:4463
64
65 "//third_party/webrtc/overrides", # Must be before webrtc abd third_party.
[email protected]7e4c33142014-05-21 22:01:3266 "//third_party/webrtc",
[email protected]189add52014-05-28 16:51:4467 "//third_party",
[email protected]7e4c33142014-05-21 22:01:3268 ]
69
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 ]
78
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 }
88
89 if (is_posix) {
90 defines += [ "POSIX" ]
91 }
92 if (is_chromeos) {
93 defines += [ "CHROMEOS" ]
94 }
95}
96
[email protected]189add52014-05-28 16:51:4497config("widevine_stub_config") {
98 # The real implementation does a copy rule to copy the header to the gen dir.
99 include_dirs = [ "//third_party/widevine/cdm" ]
100}
[email protected]97865022014-06-13 23:18:04101
102# Sets up include dirs while webrtc is being converted to GN.
103# TODO(GYP) remove when webrtc is ready.
104config("webrtc_stub_config") {
105 defines = [ "WEBRTC_CHROMIUM_BUILD" ]
106 include_dirs = [
107 "//third_party/webrtc/overrides", # Must be first.
108 "//third_party",
109 ]
110
111 if (is_mac) {
112 defines += [ "WEBRTC_MAC" ]
113 } else if (is_win) {
114 defines += [ "WEBRTC_WIN" ]
115 } else if (is_linux) {
116 defines += [ "WEBRTC_LINUX" ]
117 } else if (is_ios) {
118 defines += [ "WEBRTC_MAC", "WEBRTC_IOS" ]
119 } else if (is_android) {
120 defines += [ "WEBRTC_LINUX", "WEBRTC_ANDROID" ]
121 import("//build/config/crypto.gni")
122 if (use_openssl) {
123 defines += [ "WEBRTC_ANDROID_OPENSLEQS" ]
124 }
125 }
126
127 if (is_posix) {
128 defines += [ "WEBRTC_POSIX" ]
129 }
130}