# Copyright (c) 2014 The Native Client Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This is the root build file for GN. GN will start processing by loading this
# file, and recursively load all dependencies until all dependencies are either
# resolved or known not to exist (which will cause the build to fail). So if
# you add a new build file, there must be some path of dependencies from this
# file to your new one or GN won't know about it.
#
# All targets in this file file are built by default.
#
# Here we declare the meta targets which pull in the various architecture
# combinations of the real targets.
#

import("config.gni")

group("trusted") {
  deps = [
    "//native_client/src:trusted_targets",
  ]
}

#
# This is the root untrusted target which will build all trusted components
#
group("untrusted") {
  deps = [
    "//native_client/src/:irt_targets($toolchain_irt)",
    "//native_client/src/:untrusted_targets($toolchain_untrusted)",
  ]
}
