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 5content_app_sources = [ 6 "android/app_jni_registrar.cc", 7 "android/app_jni_registrar.h", 8 "android/child_process_service.cc", 9 "android/child_process_service.h", 10 "android/content_main.cc", 11 "android/content_main.h", 12 "android/library_loader_hooks.cc", 13 "content_main.cc", 14 "content_main_runner.cc", 15 "mojo/mojo_init.cc", 16 "mojo/mojo_init.h", 17 "startup_helper_win.cc", 18] 19 20content_app_deps = [ 21 "//base", 22 "//base:i18n", 23 # This is needed by app/content_main_runner.cc 24 # TODO(brettw) this shouldn't be here, only final executables should be 25 # picking the allocator. 26 "//base/allocator", 27 "//content:export", 28 "//content/public/common:common_sources", 29 "//crypto", 30 "//ui/base", 31 "//ui/gfx", 32 "//ui/gfx/geometry", 33] 34 35if (is_win) { 36 content_app_deps += [ "//sandbox" ] 37} else if (is_android) { 38 content_app_sources -= [ "content_main.cc" ] 39 content_app_deps += [ 40 "//content/public/android:jni", 41 "//skia", 42 "//third_party/android_tools:cpu_features" 43 ] 44} 45 46if (is_ios) { 47 content_app_sources -= [ 48 "content_main.cc", 49 "mojo/mojo_init.cc", 50 "mojo/mojo_init.h", 51 ] 52} else { 53 content_app_deps += [ 54 "//mojo/application_manager", 55 "//mojo/environment:chromium", 56 "//mojo/public/interfaces/application", 57 "//mojo/system", 58 ] 59} 60 61content_app_extra_configs = [ 62 "//build/config/compiler:wexit_time_destructors", 63 "//content:content_implementation", 64] 65 66# This includes the app sources for both the browser and child processes. 67source_set("both") { 68 # Only the public target should depend on this. All other targets (even 69 # internal content ones) should depend on the public one. 70 visibility = [ "//content/public/app:*" ] 71 72 sources = content_app_sources 73 configs += content_app_extra_configs 74 deps = content_app_deps 75} 76 77# TODO(GYP) enable chrome_multiple_dll support 78is_chrome_multiple_dll = false 79 80if (is_chrome_multiple_dll) { 81 # It doesn't make sense to do the browser/child dll split in component mode. 82 assert(!is_component_build) 83 84 source_set("browser") { 85 visibility = [ "//content/public/app:browser" ] 86 87 sources = content_app_sources 88 configs += content_app_extra_configs 89 deps = content_app_deps 90 91 defines += [ "CHROME_MULTIPLE_DLL_BROWSER" ] 92 } 93 94 source_set("child") { 95 visibility = [ "//content/public/app:child" ] 96 97 sources = content_app_sources 98 configs += content_app_extra_configs 99 deps = content_app_deps 100 101 defines += [ "CHROME_MULTIPLE_DLL_CHILD" ] 102 } 103} 104