1*6777b538SAndroid Build Coastguard Worker# Copyright 2015 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/buildflag_header.gni") 6*6777b538SAndroid Build Coastguard Workerimport("//components/nacl/features.gni") 7*6777b538SAndroid Build Coastguard Workerimport("//components/nacl/toolchain.gni") 8*6777b538SAndroid Build Coastguard Workerimport("//mojo/public/tools/bindings/mojom.gni") 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Workerif (enable_nacl) { 11*6777b538SAndroid Build Coastguard Worker # This is separate so it can be used by ../broker:nacl64. 12*6777b538SAndroid Build Coastguard Worker static_library("minimal") { 13*6777b538SAndroid Build Coastguard Worker sources = [ 14*6777b538SAndroid Build Coastguard Worker "nacl_cmd_line.cc", 15*6777b538SAndroid Build Coastguard Worker "nacl_cmd_line.h", 16*6777b538SAndroid Build Coastguard Worker "nacl_constants.cc", 17*6777b538SAndroid Build Coastguard Worker "nacl_constants.h", 18*6777b538SAndroid Build Coastguard Worker "nacl_messages.cc", 19*6777b538SAndroid Build Coastguard Worker "nacl_messages.h", 20*6777b538SAndroid Build Coastguard Worker "nacl_process_type.h", 21*6777b538SAndroid Build Coastguard Worker "nacl_service.cc", 22*6777b538SAndroid Build Coastguard Worker "nacl_service.h", 23*6777b538SAndroid Build Coastguard Worker "nacl_types.cc", 24*6777b538SAndroid Build Coastguard Worker "nacl_types.h", 25*6777b538SAndroid Build Coastguard Worker "nacl_types_param_traits.cc", 26*6777b538SAndroid Build Coastguard Worker "nacl_types_param_traits.h", 27*6777b538SAndroid Build Coastguard Worker ] 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker public_deps = [ 30*6777b538SAndroid Build Coastguard Worker ":minimal_content_dummy", 31*6777b538SAndroid Build Coastguard Worker ":switches", 32*6777b538SAndroid Build Coastguard Worker "//ipc", 33*6777b538SAndroid Build Coastguard Worker "//sandbox/policy", 34*6777b538SAndroid Build Coastguard Worker ] 35*6777b538SAndroid Build Coastguard Worker 36*6777b538SAndroid Build Coastguard Worker deps = [ 37*6777b538SAndroid Build Coastguard Worker "//base", 38*6777b538SAndroid Build Coastguard Worker "//base:base_static", 39*6777b538SAndroid Build Coastguard Worker "//content/public/common:content_descriptors", 40*6777b538SAndroid Build Coastguard Worker "//mojo/core/embedder", 41*6777b538SAndroid Build Coastguard Worker "//native_client/src/trusted/error_code", 42*6777b538SAndroid Build Coastguard Worker "//services/service_manager/public/cpp", 43*6777b538SAndroid Build Coastguard Worker ] 44*6777b538SAndroid Build Coastguard Worker } 45*6777b538SAndroid Build Coastguard Worker 46*6777b538SAndroid Build Coastguard Worker # This exists just to make 'gn check' happy with :minimal. It can't 47*6777b538SAndroid Build Coastguard Worker # depend on //content/public/common or anything like that, because that 48*6777b538SAndroid Build Coastguard Worker # would bring in lots more than counts as "minimal" (stuff that should 49*6777b538SAndroid Build Coastguard Worker # not be in the nacl64.exe build). 50*6777b538SAndroid Build Coastguard Worker source_set("minimal_content_dummy") { 51*6777b538SAndroid Build Coastguard Worker check_includes = false 52*6777b538SAndroid Build Coastguard Worker sources = [ 53*6777b538SAndroid Build Coastguard Worker "//content/public/common/content_descriptors.h", 54*6777b538SAndroid Build Coastguard Worker "//content/public/common/content_switches.h", 55*6777b538SAndroid Build Coastguard Worker "//content/public/common/process_type.h", 56*6777b538SAndroid Build Coastguard Worker ] 57*6777b538SAndroid Build Coastguard Worker 58*6777b538SAndroid Build Coastguard Worker # Deps required by the above headers. 59*6777b538SAndroid Build Coastguard Worker deps = [ "//media:media_buildflags" ] 60*6777b538SAndroid Build Coastguard Worker } 61*6777b538SAndroid Build Coastguard Worker 62*6777b538SAndroid Build Coastguard Worker static_library("common") { 63*6777b538SAndroid Build Coastguard Worker sources = [ 64*6777b538SAndroid Build Coastguard Worker "nacl_host_messages.cc", 65*6777b538SAndroid Build Coastguard Worker "nacl_host_messages.h", 66*6777b538SAndroid Build Coastguard Worker "pnacl_types.cc", 67*6777b538SAndroid Build Coastguard Worker "pnacl_types.h", 68*6777b538SAndroid Build Coastguard Worker ] 69*6777b538SAndroid Build Coastguard Worker 70*6777b538SAndroid Build Coastguard Worker public_deps = [ 71*6777b538SAndroid Build Coastguard Worker ":minimal", 72*6777b538SAndroid Build Coastguard Worker ":mojo_bindings", 73*6777b538SAndroid Build Coastguard Worker ":switches", 74*6777b538SAndroid Build Coastguard Worker "//ipc", 75*6777b538SAndroid Build Coastguard Worker ] 76*6777b538SAndroid Build Coastguard Worker 77*6777b538SAndroid Build Coastguard Worker deps = [ 78*6777b538SAndroid Build Coastguard Worker "//base", 79*6777b538SAndroid Build Coastguard Worker "//build:chromeos_buildflags", 80*6777b538SAndroid Build Coastguard Worker "//url", 81*6777b538SAndroid Build Coastguard Worker "//url/ipc:url_ipc", 82*6777b538SAndroid Build Coastguard Worker ] 83*6777b538SAndroid Build Coastguard Worker 84*6777b538SAndroid Build Coastguard Worker if (is_linux || is_chromeos) { 85*6777b538SAndroid Build Coastguard Worker sources += [ 86*6777b538SAndroid Build Coastguard Worker "nacl_paths.cc", 87*6777b538SAndroid Build Coastguard Worker "nacl_paths.h", 88*6777b538SAndroid Build Coastguard Worker ] 89*6777b538SAndroid Build Coastguard Worker 90*6777b538SAndroid Build Coastguard Worker defines = [ "__STDC_LIMIT_MACROS=1" ] 91*6777b538SAndroid Build Coastguard Worker 92*6777b538SAndroid Build Coastguard Worker deps += [ "//content/common:sandbox_support_linux" ] 93*6777b538SAndroid Build Coastguard Worker } 94*6777b538SAndroid Build Coastguard Worker } 95*6777b538SAndroid Build Coastguard Worker 96*6777b538SAndroid Build Coastguard Worker mojom("mojo_bindings") { 97*6777b538SAndroid Build Coastguard Worker sources = [ "nacl.mojom" ] 98*6777b538SAndroid Build Coastguard Worker cpp_typemaps = [ 99*6777b538SAndroid Build Coastguard Worker { 100*6777b538SAndroid Build Coastguard Worker types = [ 101*6777b538SAndroid Build Coastguard Worker { 102*6777b538SAndroid Build Coastguard Worker mojom = "nacl.mojom.NaClErrorCode" 103*6777b538SAndroid Build Coastguard Worker cpp = "::NaClErrorCode" 104*6777b538SAndroid Build Coastguard Worker }, 105*6777b538SAndroid Build Coastguard Worker ] 106*6777b538SAndroid Build Coastguard Worker traits_headers = 107*6777b538SAndroid Build Coastguard Worker [ "//native_client/src/trusted/service_runtime/nacl_error_code.h" ] 108*6777b538SAndroid Build Coastguard Worker traits_private_headers = 109*6777b538SAndroid Build Coastguard Worker [ "//components/nacl/common/nacl_types_param_traits.h" ] 110*6777b538SAndroid Build Coastguard Worker traits_public_deps = [ 111*6777b538SAndroid Build Coastguard Worker ":minimal", 112*6777b538SAndroid Build Coastguard Worker "//native_client/src/trusted/error_code", 113*6777b538SAndroid Build Coastguard Worker ] 114*6777b538SAndroid Build Coastguard Worker traits_deps = [ "//ipc" ] 115*6777b538SAndroid Build Coastguard Worker }, 116*6777b538SAndroid Build Coastguard Worker ] 117*6777b538SAndroid Build Coastguard Worker } 118*6777b538SAndroid Build Coastguard Worker} 119*6777b538SAndroid Build Coastguard Worker 120*6777b538SAndroid Build Coastguard Worker# Depending on this allows targets to unconditionally include 121*6777b538SAndroid Build Coastguard Worker# nacl_process_type.h without testing whether nacl is enabled. 122*6777b538SAndroid Build Coastguard Workersource_set("process_type") { 123*6777b538SAndroid Build Coastguard Worker public = [ "nacl_process_type.h" ] 124*6777b538SAndroid Build Coastguard Worker 125*6777b538SAndroid Build Coastguard Worker deps = [ "//content/public/common" ] 126*6777b538SAndroid Build Coastguard Worker} 127*6777b538SAndroid Build Coastguard Worker 128*6777b538SAndroid Build Coastguard Workerstatic_library("switches") { 129*6777b538SAndroid Build Coastguard Worker sources = [ 130*6777b538SAndroid Build Coastguard Worker "nacl_switches.cc", 131*6777b538SAndroid Build Coastguard Worker "nacl_switches.h", 132*6777b538SAndroid Build Coastguard Worker ] 133*6777b538SAndroid Build Coastguard Worker} 134*6777b538SAndroid Build Coastguard Worker 135*6777b538SAndroid Build Coastguard Workerbuildflag_header("buildflags") { 136*6777b538SAndroid Build Coastguard Worker header = "buildflags.h" 137*6777b538SAndroid Build Coastguard Worker flags = [ 138*6777b538SAndroid Build Coastguard Worker "ENABLE_NACL=$enable_nacl", 139*6777b538SAndroid Build Coastguard Worker "IS_MINIMAL_TOOLCHAIN=$is_minimal_toolchain", 140*6777b538SAndroid Build Coastguard Worker ] 141*6777b538SAndroid Build Coastguard Worker} 142