Rename isSystemLocationEnabled to isLocationEnabled, as per internal review (185995).
[chromium-blink-merge.git] / mojo / edk / mojo_edk.gni
blob34b82d488da8be842b6366672d28d81dee70671a
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.
5 import("../public/mojo_sdk.gni")
7 # A mojo_edk_source_set is a mojo_sdk_source_set that does not restrict
8 # external dependencies and understands the following additional variables, all
9 # of which admit a list of the relevant elements specified relative to the
10 # location of the Mojo EDK:
11 # mojo_edk_configs
12 # allow_circular_mojo_edk_includes_from
13 # mojo_edk_public_deps
14 # mojo_edk_deps
16 # Note that it is assumed that the Mojo EDK is a sibling of the Mojo SDK in a
17 # client repo; the distinctions made above are for the sake of clarity in
18 # writing targets.
19 template("mojo_edk_source_set") {
20   mojo_sdk_source_set(target_name) {
21     restrict_external_deps = false
22     
23     if (defined(invoker.visibility)) {
24       visibility = invoker.visibility
25     }
26     if (defined(invoker.mojo_edk_visibility)) {
27       mojo_sdk_visibility = invoker.mojo_edk_visibility
28     }
29     if (defined(invoker.testonly)) {
30       testonly = invoker.testonly
31     }
32     if (defined(invoker.sources)) {
33       sources = invoker.sources
34     }
35     if (defined(invoker.defines)) {
36       defines = invoker.defines
37     }
38     if (defined(invoker.public_configs)) {
39       public_configs = invoker.public_configs
40     }
42     configs = []
43     if (defined(invoker.configs)) {
44       configs = invoker.configs
45     }
46     if (defined(invoker.mojo_edk_configs)) {
47       foreach(edk_config, invoker.mojo_edk_configs) {
48         # Check that the EDK config was not mistakenly given as an absolute
49         # path.
50         assert(get_path_info(edk_config, "abspath") != edk_config)
51         configs += [ rebase_path(edk_config, ".", mojo_root) ]
52       }
53     }
55     allow_circular_includes_from = []
56     if (defined(invoker.allow_circular_includes_from)) {
57       allow_circular_includes_from += invoker.allow_circular_includes_from
58     }
59     if (defined(invoker.allow_circular_mojo_edk_includes_from)) {
60       foreach(edk_target, invoker.allow_circular_mojo_edk_includes_from) {
61         # Check that the EDK target was not mistakenly given as an absolute
62         # path.
63         assert(get_path_info(edk_target, "abspath") != edk_target)
64         allow_circular_includes_from += [
65           rebase_path(edk_target, ".", mojo_root)
66         ]
67       }
68     }
70     if (defined(invoker.public_deps)) {
71       public_deps = invoker.public_deps
72     }
73     mojo_sdk_public_deps = []
74     if (defined(invoker.mojo_edk_public_deps)) {
75       # The EDK is required to be a sibling of the SDK, so the relative
76       # dependencies are rewritten in the same way.
77       mojo_sdk_public_deps = invoker.mojo_edk_public_deps
78     }
79     if (defined(invoker.mojo_sdk_public_deps)) {
80       mojo_sdk_public_deps += invoker.mojo_sdk_public_deps
81     }
83     if (defined(invoker.deps)) {
84       deps = invoker.deps
85     }
86     mojo_sdk_deps = []
87     if (defined(invoker.mojo_edk_deps)) {
88       # The EDK is required to be a sibling of the SDK, so the relative
89       # dependencies are rewritten in the same way.
90       mojo_sdk_deps = invoker.mojo_edk_deps
91     }
92     if (defined(invoker.mojo_sdk_deps)) {
93       mojo_sdk_deps += invoker.mojo_sdk_deps
94     }
95   }