# Copyright 2017 The Fuchsia 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("//build/host.gni")
import("//build/test.gni")

declare_args() {
  enable_ossfuzz = false
}

test("compiler") {
  sources = [
    "compiler.cc",
  ]
  configs += [ "//build/config/sanitizers:asan" ]
  deps = [
    "//zircon/system/host/fidl:compiler",
  ]
  if (enable_ossfuzz) {
    libs = [ "FuzzingEngine" ]
    lib_dirs = [ "/usr/lib" ]
  } else {
    configs += [ "//build/config/sanitizers:fuzzer" ]
  }
}

group("host") {
  testonly = true
  deps = [
    ":compiler($host_toolchain)",
  ]
}
