Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / mojo / public / c / system / 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 # Depend on this target to use the types etc defined in the system without
6 # linking against a specific implementation of the system. To link against a
7 # particular implementation, use the :for_component or
8 # :for_shared_library targets, depending on the type of target you are.
9 source_set("system") {
10   sources = [
11     "buffer.h",
12     "core.h",
13     "data_pipe.h",
14     "functions.h",
15     "macros.h",
16     "message_pipe.h",
17     "system_export.h",
18     "types.h",
19   ]
20 }
21
22 # In an is_component_build build, everything can link against //mojo/edk/system
23 # because it is built as a shared library. However, in a static build,
24 # //mojo/edk/system is linked into an executable (e.g., mojo_shell), and must be
25 # injected into other shared libraries (i.e., Mojo Apps) that need the mojo
26 # system API.
27 #
28 # For component targets, add //mojo/public/c/system:for_component to your deps
29 # section.
30 #
31 # For shared_library targets (e.g., a Mojo App), add
32 # //mojo/public/c/system:for_shared_library to your deps
33
34 group("for_shared_library") {
35   public_deps = [ ":system" ]
36   if (is_component_build) {
37     deps = [ "//mojo/edk/system" ]
38   } else {
39     deps = [ "//mojo/public/platform/native:system_thunks" ]
40   }
41 }
42
43 group("for_component") {
44   public_deps = [ ":system" ]
45   if (is_component_build) {
46     deps = [ "//mojo/edk/system" ]
47   }
48 }