| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import("//build/config/mac/mac_sdk.gni") | 5 import("//build/config/mac/mac_sdk.gni") |
| 6 import("//testing/test.gni") | 6 import("//testing/test.gni") |
| 7 | 7 |
| 8 generate_stubs_script = "//tools/generate_stubs/generate_stubs.py" | |
| 9 generate_stubs_header = "xpc_stubs_header.fragment" | |
| 10 generate_stubs_sig_public = "xpc_stubs.sig" | |
| 11 generate_stubs_sig_private = "xpc_private_stubs.sig" | |
| 12 generate_stubs_project = "sandbox/mac" | |
| 13 generate_stubs_output_stem = "xpc_stubs" | |
| 14 | |
| 15 action("generate_stubs") { | |
| 16 script = generate_stubs_script | |
| 17 sources = [ | |
| 18 generate_stubs_sig_private, | |
| 19 generate_stubs_sig_public, | |
| 20 ] | |
| 21 inputs = [ | |
| 22 generate_stubs_header, | |
| 23 ] | |
| 24 outputs = [ | |
| 25 "$target_gen_dir/$generate_stubs_output_stem.cc", | |
| 26 "$target_gen_dir/$generate_stubs_output_stem.h", | |
| 27 ] | |
| 28 args = [ | |
| 29 "-i", | |
| 30 rebase_path(target_gen_dir, root_build_dir), | |
| 31 "-o", | |
| 32 rebase_path(target_gen_dir, root_build_dir), | |
| 33 "-t", | |
| 34 "posix_stubs", | |
| 35 "-e", | |
| 36 rebase_path(generate_stubs_header, root_build_dir), | |
| 37 "-s", | |
| 38 generate_stubs_output_stem, | |
| 39 "-p", | |
| 40 generate_stubs_project, | |
| 41 "-x", | |
| 42 "SANDBOX_EXPORT", | |
| 43 ] | |
| 44 args += rebase_path(sources, root_build_dir) | |
| 45 } | |
| 46 | |
| 47 component("sandbox") { | 8 component("sandbox") { |
| 48 sources = [ | 9 sources = [ |
| 49 "bootstrap_sandbox.cc", | 10 "bootstrap_sandbox.cc", |
| 50 "bootstrap_sandbox.h", | 11 "bootstrap_sandbox.h", |
| 51 "launchd_interception_server.cc", | 12 "launchd_interception_server.cc", |
| 52 "launchd_interception_server.h", | 13 "launchd_interception_server.h", |
| 53 "mach_message_server.cc", | 14 "mach_message_server.cc", |
| 54 "mach_message_server.h", | 15 "mach_message_server.h", |
| 55 "message_server.h", | 16 "message_server.h", |
| 56 "os_compatibility.cc", | 17 "os_compatibility.cc", |
| 57 "os_compatibility.h", | 18 "os_compatibility.h", |
| 58 "policy.cc", | 19 "policy.cc", |
| 59 "policy.h", | 20 "policy.h", |
| 60 "pre_exec_delegate.cc", | 21 "pre_exec_delegate.cc", |
| 61 "pre_exec_delegate.h", | 22 "pre_exec_delegate.h", |
| 62 "xpc.cc", | |
| 63 "xpc.h", | 23 "xpc.h", |
| 64 "xpc_message_server.cc", | 24 "xpc_message_server.cc", |
| 65 "xpc_message_server.h", | 25 "xpc_message_server.h", |
| 66 ] | 26 ] |
| 67 | 27 |
| 68 defines = [ "SANDBOX_IMPLEMENTATION" ] | 28 defines = [ "SANDBOX_IMPLEMENTATION" ] |
| 69 libs = [ "bsm" ] | 29 libs = [ "bsm" ] |
| 70 | 30 |
| 71 deps = [ | 31 deps = [ |
| 72 "//base", | 32 "//base", |
| 73 ] | 33 ] |
| 74 | |
| 75 # When the build SDK is 10.6, generate a dynamic stub loader. When the | |
| 76 # SDK is higher, then libxpc.dylib will be loaded automatically as part | |
| 77 # of libSystem, and only forward declarations of private symbols are | |
| 78 # necessary. | |
| 79 if (mac_sdk_version == "10.6") { | |
| 80 deps += [ ":generate_stubs" ] | |
| 81 sources += get_target_outputs(":generate_stubs") | |
| 82 } | |
| 83 } | 34 } |
| 84 | 35 |
| 85 test("sandbox_mac_unittests") { | 36 test("sandbox_mac_unittests") { |
| 86 sources = [ | 37 sources = [ |
| 87 "bootstrap_sandbox_unittest.mm", | 38 "bootstrap_sandbox_unittest.mm", |
| 88 "policy_unittest.cc", | 39 "policy_unittest.cc", |
| 89 "xpc_message_server_unittest.cc", | 40 "xpc_message_server_unittest.cc", |
| 90 ] | 41 ] |
| 91 | 42 |
| 92 libs = [ | 43 libs = [ |
| 93 "CoreFoundation.framework", | 44 "CoreFoundation.framework", |
| 94 "Foundation.framework", | 45 "Foundation.framework", |
| 95 ] | 46 ] |
| 96 | 47 |
| 97 deps = [ | 48 deps = [ |
| 98 ":sandbox", | 49 ":sandbox", |
| 99 "//base", | 50 "//base", |
| 100 "//base/test:run_all_unittests", | 51 "//base/test:run_all_unittests", |
| 101 "//testing/gtest", | 52 "//testing/gtest", |
| 102 ] | 53 ] |
| 103 } | 54 } |
| OLD | NEW |