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#
6# A set of GYP variables that are shared between various mojo .gyp files.
7#
8{
9  'variables': {
10    'chromium_code': 1,
11    'mojo_shell_debug_url%': "",
12    'conditions': [
13      #
14      # The following mojo_system-prefixed variables are used to express a
15      # dependency on the mojo system APIs.
16      #
17      # In a component == "shared_library" build, everything can link against
18      # mojo_system_impl because it is built as a shared library. However, in a
19      # component != "shared_library" build, mojo_system_impl is linked into an
20      # executable (e.g., mojo_shell), and must be injected into other shared
21      # libraries (i.e., Mojo Apps) that need the mojo system API.
22      #
23      # For component targets, add <(mojo_system_for_component) to your
24      # dependencies section.  For loadable module targets (e.g., a Mojo App),
25      # add <(mojo_system_for_loadable_module) to your dependencies section.
26      #
27      # NOTE: component != "shared_library" implies that we are generating a
28      # static library, and in that case, it is expected that the target
29      # listing the component as a dependency will specify either mojo_system
30      # or mojo_system_impl to link against. This enables multiple targets to
31      # link against the same component library without having to agree on
32      # which Mojo system library they are using.
33      #
34      ['component=="shared_library"', {
35        'mojo_system_for_component': "<(DEPTH)/mojo/mojo_base.gyp:mojo_system_impl",
36        'mojo_system_for_loadable_module': "<(DEPTH)/mojo/mojo_base.gyp:mojo_system_impl",
37        'mojo_gles2_for_component': "<(DEPTH)/mojo/mojo_base.gyp:mojo_gles2_impl",
38      }, {
39        'mojo_system_for_component': "<(DEPTH)/mojo/mojo_base.gyp:mojo_none",
40        'mojo_system_for_loadable_module': "<(DEPTH)/mojo/mojo_base.gyp:mojo_system",
41        'mojo_gles2_for_component': "<(DEPTH)/mojo/mojo_base.gyp:mojo_none",
42      }],
43    ],
44    'mojo_public_system_unittest_sources': [
45      'public/c/system/tests/core_unittest.cc',
46      'public/c/system/tests/core_unittest_pure_c.c',
47      'public/c/system/tests/macros_unittest.cc',
48      'public/cpp/system/tests/core_unittest.cc',
49      'public/cpp/system/tests/macros_unittest.cc',
50    ],
51  },
52}
53