# Copyright 2019 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.

# default group
group("dhrystone") {
  deps = [
    ":dhrystone_bin",
  ]
  if (is_fuchsia) {
    deps += [ ":dhrystone_package" ]
  }
}

executable("dhrystone_bin") {
  sources = [
    "dhry_1.cc",
    "dhry_2.cc"
  ]

  deps = [
    "//third_party/fuchsia-sdk/pkg/zx"
  ]
  
  cflags = ["-Wall", "-pedantic", "-O3", "-ffast-math", "-I", "src", "-DTIME"]
}

if (is_fuchsia) {
  import("//third_party/fuchsia-sdk/build/component.gni")
  import("//third_party/fuchsia-sdk/build/package.gni")

  fuchsia_component("dhrystone_cmx") {
    manifest = "dhrystone.cmx"
    data_deps = [
      ":dhrystone_bin",
    ]
  }

  fuchsia_package("dhrystone_package") {
    package_name = "dhrystone"
    deps = [
      ":dhrystone_cmx",
    ]
  }
}
