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

##########################################
# Though under //zircon, this build file #
# is meant to be used in the Fuchsia GN  #
# build.                                 #
# See fxb/36139.                         #
##########################################

import("//build/cpp/sdk_executable.gni")

sdk_executable("minfs") {
  category = "partner"
  sources = [ "main.cc" ]
  deps = [
    "//zircon/public/lib/bitmap",
    "//zircon/public/lib/fbl",
    "//zircon/system/ulib/fs-host",
    "//zircon/system/ulib/fs/journal",
    "//zircon/system/ulib/minfs",
  ]

  if (!is_fuchsia) {
    deps += [ "//zircon/public/lib/zx-panic-libc" ]
  }
}
