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

import("//src/sys/build/components.gni")

fuchsia_component("crasher") {
  component_name = "cpp_crasher"

  manifest = "meta/crasher.cmx"

  deps = [ ":crasher_exe" ]
}

executable("crasher_exe") {
  output_name = "crasher"
  configs += [
    "//build/config:all_source",
    "//build/unification/config:zircon-migrated",
  ]
  sources = [
    "cpp_specific.cc",
    "crasher.c",
  ]
  cflags = [ "-fstack-protector-all" ]
  deps = [
    "//sdk/lib/fdio",
    "//src/zircon/lib/zircon",
  ]
}
