# Copyright 2016 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/package.gni")

config("vim_config") {
  cflags = [
    "-fcommon",
    "-Wno-unused-function",
    "-Wno-shift-op-parentheses",
    "-Wno-dangling-else",
    "-Wno-int-to-pointer-cast",
  ]
}

executable("vim_bin") {
  output_name = "vim"

  sources = [
    "src/alloc.h",
    "src/arabic.c",
    "src/arabic.h",
    "src/ascii.h",
    "src/auto/config.h",
    "src/auto/osdef.h",
    "src/auto/pathdef.c",
    "src/blowfish.c",
    "src/buffer.c",
    "src/channel.c",
    "src/charset.c",
    "src/crypt.c",
    "src/crypt_zip.c",
    "src/dict.c",
    "src/diff.c",
    "src/digraph.c",
    "src/edit.c",
    "src/eval.c",
    "src/evalfunc.c",
    "src/ex_cmds.c",
    "src/ex_cmds.h",
    "src/ex_cmds2.c",
    "src/ex_docmd.c",
    "src/ex_eval.c",
    "src/ex_getln.c",
    "src/farsi.c",
    "src/farsi.h",
    "src/feature.h",
    "src/fileio.c",
    "src/fold.c",
    "src/getchar.c",
    "src/glbl_ime.h",
    "src/globals.h",
    "src/hardcopy.c",
    "src/hashtab.c",
    "src/if_cscope.c",
    "src/if_cscope.h",
    "src/json.c",
    "src/keymap.h",
    "src/list.c",
    "src/macros.h",
    "src/main.c",
    "src/mark.c",
    "src/mbyte.c",
    "src/memfile.c",
    "src/memline.c",
    "src/menu.c",
    "src/message.c",
    "src/misc1.c",
    "src/misc2.c",
    "src/move.c",
    "src/nbdebug.c",
    "src/nbdebug.h",
    "src/normal.c",
    "src/ops.c",
    "src/option.c",
    "src/option.h",
    "src/os_fuchsia.c",
    "src/os_unix.c",
    "src/os_unix.h",
    "src/popupmnu.c",
    "src/proto.h",
    "src/pty.c",
    "src/quickfix.c",
    "src/regexp.c",
    "src/regexp.h",
    "src/screen.c",
    "src/search.c",
    "src/sha256.c",
    "src/spell.c",
    "src/spell.h",
    "src/spellfile.c",
    "src/structs.h",
    "src/syntax.c",
    "src/tag.c",
    "src/term.c",
    "src/term.h",
    "src/termlib.c",
    "src/ui.c",
    "src/undo.c",
    "src/userfunc.c",
    "src/version.c",
    "src/version.h",
    "src/vim.h",
    "src/vimio.h",
    "src/window.c",
    "src/wsdebug.c",
    "src/wsdebug.h",
  ]

  include_dirs = [
    "src",
    "src/proto",
  ]

  defines = [ "HAVE_CONFIG_H" ]

  configs += [ ":vim_config" ]

  deps = [ "//zircon/public/lib/fdio" ]
  public_deps = [ "//sdk/fidl/fuchsia.hardware.pty:fuchsia.hardware.pty_c" ]
}

package("vim") {
  deps = [ ":vim_bin" ]

  binaries = [
    {
      name = "vim"
      shell = true
    },
  ]
}
