e6151979d1a14c7874ea8555c298ab87e5a14039
[platform/framework/web/crosswalk.git] / src / sandbox / mac / BUILD.gn
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 component("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
29 generate_stubs_script = "//tools/generate_stubs/generate_stubs.py"
30 generate_stubs_header = "xpc_stubs_header.fragment"
31 generate_stubs_sig_public = "xpc_stubs.sig"
32 generate_stubs_sig_private = "xpc_private_stubs.sig"
33 generate_stubs_project = "sandbox/mac"
34 generate_stubs_output_stem = "xpc_stubs"
35
36 action("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
55 test("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 }