# 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" use_qualified_include = true 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" ] } }