# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

# The kernel depends on this, so it gets compiled in the kernel environment.
# Once successfully compiled, it's just an empty object file that contributes
# nothing to the link.
source_set("abi_type_validator") {
  visibility = [ "//zircon/kernel/*" ]
  sources = [ "abi_type_validator.cc" ]
  deps = [
    "//src/zircon/lib/zircon",
    "//zircon/system/ulib/zircon-internal",
  ]

  if (is_kernel) {
    # Also make sure it gets built in the user environment for the same CPU,
    # which is what the default toolchain builds.  This compiles to an empty
    # object file as well but doesn't even contribute it to any link.
    # data_deps merely translates into an order-only Ninja dependency that
    # requires the user-environment instantiation of the target was fully up to
    # date (i.e. just each of $sources compiled, for a source_set() target)
    # before completing this one.
    data_deps = [ ":$target_name($default_toolchain)" ]
  }
}
