# 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("//build/zircon/migrated_targets.gni")

zx_library("tftp") {
  sdk = "static"
  sdk_headers = [ "tftp/tftp.h" ]

  sources = [ "tftp.c" ]
  if (is_efi_toolchain) {
    defines = [ "TFTP_EFILIB" ]
  } else if (is_host) {
    defines = [ "TFTP_HOSTLIB" ]
  }
  if (!is_kernel && is_fuchsia) {
    defines = [ "TFTP_USERLIB" ]
    deps = [ "//src/zircon/lib/zircon" ]
  }

  # TODO(fxbug.dev/58162): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-conversion" ]
}

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}

if (!is_kernel) {
  zx_host_tool("tftp-example") {
    sources = [ "tftp-example.c" ]
    deps = [ ":tftp" ]
  }
}
