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. 4 5 import("//tools/grit/grit_rule.gni") 6 7 # Applied by targets internal to content. 8 config("content_implementation") { 9 defines = [ "CONTENT_IMPLEMENTATION" ] 10 } 11 12 content_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 29 if (is_component_build) { 30 shared_library("content") { 31 deps = content_components 32 } 33 } else { 34 group("content") { 35 deps = content_components 36 } 37 } 38 39 grit("resources") { 40 source = "content_resources.grd" 41 } 42 43 # This target exists to "hold" the content_export header so we can do proper 44 # inclusion testing of it. 45 source_set("export") { 46 visibility = "//content/*" 47 sources = [ 48 "content/common/content_export.h" 49 ] 50 } 51 52 # Stubs ------------------------------------------------------------------------ 53 54 # 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. 57 config("libjingle_stub_config") { 58 include_dirs = [ 59 "//third_party/libjingle/overrides", 60 "//third_party/libjingle/source", 61 "//third_party/libyuv/include", 62 "//third_party/usrsctp", 63 64 65 "//third_party/webrtc/overrides", # Must be before webrtc abd third_party. 66 "//third_party/webrtc", 67 "//third_party", 68 ] 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 97 # Sets up include dirs while webrtc is being converted to GN. 98 # TODO(GYP) remove when webrtc is ready. 99 config("webrtc_stub_config") { 100 defines = [ "WEBRTC_CHROMIUM_BUILD" ] 101 include_dirs = [ 102 "//third_party/webrtc/overrides", # Must be first. 103 "//third_party", 104 ] 105 106 if (is_mac) { 107 defines += [ "WEBRTC_MAC" ] 108 } else if (is_win) { 109 defines += [ "WEBRTC_WIN" ] 110 } else if (is_linux) { 111 defines += [ "WEBRTC_LINUX" ] 112 } else if (is_ios) { 113 defines += [ "WEBRTC_MAC", "WEBRTC_IOS" ] 114 } else if (is_android) { 115 defines += [ "WEBRTC_LINUX", "WEBRTC_ANDROID" ] 116 import("//build/config/crypto.gni") 117 if (use_openssl) { 118 defines += [ "WEBRTC_ANDROID_OPENSLEQS" ] 119 } 120 } 121 122 if (is_posix) { 123 defines += [ "WEBRTC_POSIX" ] 124 } 125 } 126