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 5component("sandbox") { 6 sources = [ 7 "bootstrap_sandbox.cc", 8 "bootstrap_sandbox.h", 9 "launchd_interception_server.cc", 10 "launchd_interception_server.h", 11 "mach_message_server.cc", 12 "mach_message_server.h", 13 "os_compatibility.cc", 14 "os_compatibility.h", 15 "policy.cc", 16 "policy.h", 17 "xpc.h", 18 ] 19 20 defines = [ "SANDBOX_IMPLEMENTATION" ] 21 libs = [ "bsm" ] 22 23 deps = [ 24 "//base", 25 ":generate_stubs", 26 ] 27} 28 29generate_stubs_script = "//tools/generate_stubs/generate_stubs.py" 30generate_stubs_header = "xpc_stubs_header.fragment" 31generate_stubs_sig_public = "xpc_stubs.sig" 32generate_stubs_sig_private = "xpc_private_stubs.sig" 33generate_stubs_project = "sandbox/mac" 34generate_stubs_output_stem = "xpc_stubs" 35 36action("generate_stubs") { 37 script = generate_stubs_script 38 sources = [ generate_stubs_sig_public, generate_stubs_sig_private ] 39 source_prereqs = [ generate_stubs_header ] 40 outputs = [ 41 "$target_gen_dir/$generate_stubs_output_stem.cc", 42 "$target_gen_dir/$generate_stubs_output_stem.h", 43 ] 44 args = [ 45 "-i", rebase_path(target_gen_dir, root_build_dir), 46 "-o", rebase_path(target_gen_dir, root_build_dir), 47 "-t", "posix_stubs", 48 "-e", rebase_path(generate_stubs_header, root_build_dir), 49 "-s", generate_stubs_output_stem, 50 "-p", generate_stubs_project, 51 ] 52 args += rebase_path(sources, root_build_dir) 53} 54 55test("sandbox_mac_unittests") { 56 sources = [ 57 "bootstrap_sandbox_unittest.mm", 58 "policy_unittest.cc", 59 ] 60 61 libs = [ 62 "CoreFoundation.framework", 63 "Foundation.framework", 64 ] 65 66 deps = [ 67 ":sandbox", 68 "//base", 69 "//base/test:run_all_unittests", 70 "//testing/gtest", 71 ] 72} 73