# +-------------------------------------------------------------------+
# | Package parameters                                                |
# +-------------------------------------------------------------------+

OASISFormat: 0.4
OCamlVersion: >= 4.01
Name: utop
Version: 1.19.3
LicenseFile: LICENSE
License: BSD-3-clause
Authors: Jeremie Dimino
Maintainers: Jeremie Dimino <jeremie@dimino.org>
Homepage: https://github.com/diml/utop
BuildTools: ocamlbuild
Plugins: DevFiles (0.3), META (0.3)
XDevFilesEnableMakefile: false
FilesAB: src/lib/uTop_version.ml.ab
AlphaFeatures: ocamlbuild_more_args
XOCamlbuildPluginTags: package(cppo_ocamlbuild)
Synopsis: Universal toplevel for OCaml
Description:
  utop is an improved toplevel for OCaml. It can run in a terminal or
  in Emacs. It supports line edition, history, real-time and context
  sensitive completion, colors, and more.
  .
  It integrates with the tuareg mode in Emacs.

# +-------------------------------------------------------------------+
# | The toplevel                                                      |
# +-------------------------------------------------------------------+

Flag camlp4
  Description: camlp4 support
  Default: false

Flag interact
  Description: enable UTop_main.interact (requires ppx_tools)
  Default: false

Library utop
  Path: src/lib
  Modules:
    UTop,
    UTop_main
  InternalModules:
    UTop_private,
    UTop_version,
    UTop_lexer,
    UTop_token,
    UTop_complete,
    UTop_styles,
    UTop_cmt_lifter
  BuildDepends: threads, findlib, lambda-term (>= 1.2)
  XMETADescription: utop configuration
  XMETARequires: findlib, lambda-term

Library "utop-camlp4"
  Build$: flag(camlp4)
  Install$: flag(camlp4)
  FindlibName: camlp4
  FindlibParent: utop
  Path: src/camlp4
  Modules: UTop_camlp4
  BuildDepends: utop, camlp4
  XMETAType: syntax
  XMETADescription: Camlp4 integration

Executable utop
  Install: true
  Path: src/top
  CompiledObject: byte
  MainIs: uTop_top.ml
  BuildDepends: threads, findlib, lambda-term, utop
  DataFiles: utop.el ($datadir/emacs/site-lisp)

Executable "utop-full"
  Install: true
  Path: src/top
  CompiledObject: byte
  MainIs: uTop_top_full.ml
  BuildDepends: threads, findlib, lambda-term, utop
  DataFiles: utop.el ($datadir/emacs/site-lisp)

# +-------------------------------------------------------------------+
# | Doc                                                               |
# +-------------------------------------------------------------------+

Document "utop-api"
  Title: API reference for utop
  Type: ocamlbuild (0.3)
  Install: true
  InstallDir: $htmldir/api
  DataFiles: style.css
  BuildTools: ocamldoc
  XOCamlbuildPath: ./
  XOCamlbuildLibraries: utop
  XOCamlbuildExtraArgs: "-docflag -t -docflag 'API reference for utop' -docflags '-colorize-code -short-functors -charset utf-8 -css-style style.css'"

# +-------------------------------------------------------------------+
# | Manual pages                                                      |
# +-------------------------------------------------------------------+

Document "utop-man"
  Type: custom (0.3)
  Title: Man page for utop
  Install: true
  BuildTools: gzip
  XCustom: $gzip -c man/utop.1 > man/utop.1.gz
  XCustomClean: $rm man/utop.1.gz
  DataFiles: man/utop.1.gz
  InstallDir: $mandir/man1

Document "utop-full-man"
  Type: custom (0.3)
  Title: Man page for utop
  Install: true
  BuildTools: gzip
  XCustom: $gzip -c man/utop-full.1 > man/utop-full.1.gz
  XCustomClean: $rm man/utop-full.1.gz
  DataFiles: man/utop-full.1.gz
  InstallDir: $mandir/man1

Document "utoprc-man"
  Type: custom (0.3)
  Title: Man page for utoprc
  Install: true
  BuildTools: gzip
  XCustom: $gzip -c man/utoprc.5 > man/utoprc.5.gz
  XCustomClean: $rm man/utoprc.5.gz
  DataFiles: man/utoprc.5.gz
  InstallDir: $mandir/man5

# +-------------------------------------------------------------------+
# | Configuration examples                                            |
# +-------------------------------------------------------------------+

Document "utoprcs"
  Type: custom (0.3)
  Title: utoprc examples
  XCustom: true
  Install: true
  DataFiles: utoprc-dark, utoprc-light

# +-------------------------------------------------------------------+
# | Misc                                                              |
# +-------------------------------------------------------------------+

SourceRepository head
  Type: git
  Location: https://github.com/diml/utop.git
  Browser: https://github.com/diml/utop
