diff options
Diffstat (limited to 'mojo/edk/mojo_edk.gni')
-rw-r--r-- | mojo/edk/mojo_edk.gni | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/mojo/edk/mojo_edk.gni b/mojo/edk/mojo_edk.gni new file mode 100644 index 0000000..efb2a5f --- /dev/null +++ b/mojo/edk/mojo_edk.gni @@ -0,0 +1,69 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("../../third_party/mojo/src/mojo/public/mojo_sdk.gni") + +# A mojo_edk_source_set is a mojo_sdk_source_set that does not restrict +# external dependencies and understands the following additional variables, all +# of which admit a list of the relevant elements specified relative to the +# location of the Mojo EDK: +# allow_circular_mojo_edk_includes_from +template("mojo_edk_source_set") { + mojo_sdk_source_set(target_name) { + if (defined(invoker.public_deps) || defined(invoker.deps)) { + restrict_external_deps = false + } + + if (defined(invoker.visibility)) { + visibility = invoker.visibility + } + if (defined(invoker.testonly)) { + testonly = invoker.testonly + } + if (defined(invoker.sources)) { + sources = invoker.sources + } + if (defined(invoker.defines)) { + defines = invoker.defines + } + if (defined(invoker.public_configs)) { + public_configs = invoker.public_configs + } + + configs = [] + if (defined(invoker.configs)) { + configs = invoker.configs + } + + allow_circular_includes_from = [] + if (defined(invoker.allow_circular_includes_from)) { + allow_circular_includes_from += invoker.allow_circular_includes_from + } + if (defined(invoker.allow_circular_mojo_edk_includes_from)) { + foreach(edk_target, invoker.allow_circular_mojo_edk_includes_from) { + # Check that the EDK target was not mistakenly given as an absolute + # path. + assert(get_path_info(edk_target, "abspath") != edk_target) + allow_circular_includes_from += + [ rebase_path(edk_target, ".", mojo_root) ] + } + } + + if (defined(invoker.public_deps)) { + public_deps = invoker.public_deps + } + mojo_sdk_public_deps = [] + if (defined(invoker.mojo_sdk_public_deps)) { + mojo_sdk_public_deps += invoker.mojo_sdk_public_deps + } + + if (defined(invoker.deps)) { + deps = invoker.deps + } + mojo_sdk_deps = [] + if (defined(invoker.mojo_sdk_deps)) { + mojo_sdk_deps += invoker.mojo_sdk_deps + } + } +} |