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

config("libutil_config") {
  # Suppress warnings in upstream code that are triggered by Fuchsia compilation flags.
  cflags = [
    "-Wno-sign-compare",
    "-Wno-constant-conversion",
    "-Wno-conversion",
  ]
}

static_library("libutil") {
  sources = [
    "concat.c",
    "cp.c",
    "crypt.c",
    "ealloc.c",
    "enmasse.c",
    "eprintf.c",
    "eregcomp.c",
    "estrtod.c",
    "fnck.c",
    "fshut.c",
    "getlines.c",
    "human.c",
    "linecmp.c",
    "md5.c",
    "memmem.c",
    "mkdirp.c",
    "mode.c",
    "parseoffset.c",
    "putword.c",
    "reallocarray.c",
    "recurse.c",
    "rm.c",
    "sha1.c",
    "sha224.c",
    "sha256.c",
    "sha384.c",
    "sha512-224.c",
    "sha512-256.c",
    "sha512.c",
    "strcasestr.c",
    "strlcat.c",
    "strlcpy.c",
    "strsep.c",
    "strtonum.c",
    "unescape.c",
  ]

  configs += [ ":libutil_config" ]
}
