| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//tools/grit/grit_rule.gni") |
| |
| # Applied by targets internal to content. |
| config("content_implementation") { |
| defines = [ "CONTENT_IMPLEMENTATION" ] |
| } |
| |
| content_shared_components = [ |
| "//content/gpu", |
| "//content/plugin", |
| "//content/ppapi_plugin", |
| "//content/public/app", |
| "//content/public/browser:sources", |
| "//content/public/child", |
| "//content/public/common", |
| "//content/public/plugin", |
| "//content/public/renderer", |
| "//content/renderer", |
| "//content/utility", |
| ] |
| |
| if (is_component_build) { |
| shared_library("content") { |
| deps = content_shared_components + [ |
| "//content/app", |
| ] |
| forward_dependent_configs_from = deps |
| } |
| } else { |
| group("content") { |
| deps = content_shared_components |
| } |
| } |
| |
| grit("resources") { |
| source = "content_resources.grd" |
| outputs = [ |
| "grit/content_resources.h", |
| "content_resources.pak", |
| "content_resources.rc", |
| ] |
| } |
| |
| # This target exists to "hold" the content_export header so we can do proper |
| # inclusion testing of it. |
| source_set("export") { |
| visibility = "//content/*" |
| sources = [ |
| "content/common/content_export.h" |
| ] |
| } |
| |
| # Stubs ------------------------------------------------------------------------ |
| |
| # TODO(brettw) remove this and add a proper dependency on libjingle once that |
| # target has been converted to GN. This config sets up the include directories |
| # so content can compile in the meantime. |
| config("libjingle_stub_config") { |
| include_dirs = [ |
| "//third_party/libjingle/overrides", |
| "//third_party/libjingle/source", |
| "//third_party/libyuv/include", |
| "//third_party/usrsctp", |
| |
| |
| "//third_party/webrtc/overrides", # Must be before webrtc abd third_party. |
| "//third_party/webrtc", |
| "//third_party", |
| ] |
| |
| defines = [ |
| "FEATURE_ENABLE_SSL", |
| "FEATURE_ENABLE_VOICEMAIL", |
| "EXPAT_RELATIVE_PATH", |
| "GTEST_RELATIVE_PATH", |
| "NO_MAIN_THREAD_WRAPPING", |
| "NO_SOUND_SYSTEM", |
| ] |
| |
| if (is_mac) { |
| defines += [ "OSX", "WEBRTC_MAC" ] |
| } else if (is_linux) { |
| defines += [ "LINUX", "WEBRTC_LINUX" ] |
| } else if (is_android) { |
| defines += [ "ANDROID", "WEBRTC_LINUX", "WEBRTC_ANDROID" ] |
| } else if (is_win) { |
| libs = [ "secur32.lib", "crypt32.lib", "iphlpapi.lib" ] |
| defines += [ "WEBRTC_WIN" ] |
| } |
| |
| if (is_posix) { |
| defines += [ "POSIX", "WEBRTC_POSIX" ] |
| } |
| if (is_chromeos) { |
| defines += [ "CHROMEOS" ] |
| } |
| } |
| |
| # Sets up include dirs while webrtc is being converted to GN. |
| # TODO(GYP) remove when webrtc is ready. |
| config("webrtc_stub_config") { |
| defines = [ "WEBRTC_CHROMIUM_BUILD" ] |
| include_dirs = [ |
| "//third_party/webrtc/overrides", # Must be first. |
| "//third_party", |
| ] |
| |
| if (is_mac) { |
| defines += [ "WEBRTC_MAC" ] |
| } else if (is_win) { |
| defines += [ "WEBRTC_WIN" ] |
| } else if (is_linux) { |
| defines += [ "WEBRTC_LINUX" ] |
| } else if (is_ios) { |
| defines += [ "WEBRTC_MAC", "WEBRTC_IOS" ] |
| } else if (is_android) { |
| defines += [ "WEBRTC_LINUX", "WEBRTC_ANDROID" ] |
| import("//build/config/crypto.gni") |
| if (use_openssl) { |
| defines += [ "WEBRTC_ANDROID_OPENSLEQS" ] |
| } |
| } |
| |
| if (is_posix) { |
| defines += [ "WEBRTC_POSIX" ] |
| } |
| } |