(************************************************************************)
(*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
(* <O___,, *   INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2010     *)
(*   \VV/  **************************************************************)
(*    //   *      This file is distributed under the terms of the       *)
(*         *       GNU Lesser General Public License Version 2.1        *)
(************************************************************************)

(** Some types used in the generic option mechanism (Goption) *)

(** Placing them here in a pure interface avoid some dependency issues
    when compiling CoqIDE *)

type option_name = string list

type option_value =
  | BoolValue   of bool
  | IntValue    of int option
  | StringValue of string

type option_state = {
  opt_sync  : bool;
  opt_depr  : bool;
  opt_name  : string;
  opt_value : option_value;
}

Isolate a few types of Goptions in a pure .mli, solving a dep issue with ocamlbuild
Isolate a few types of Goptions in a pure .mli, solving a dep issue with ocamlbuild

A few types of Goptions are mentioned in toplevel/interface.mli.
Since the latter is a pure .mli, this shouldn't trigger a dependency
with respect to goptions.ml, but apparently ocamlbuild isn't clever
enough to notice this, and hence wants to link a pile of useless stuff
with coqide. I'll discuss with Pierre-Marie about the best long-term
way to avoid this mess, but in the meantime I split the concerned types
of Goptions in a separate Goptionstyp.mli.

git-svn-id: 44dc50bdcc0f5d1a212c497508dc9452e0b35e2b@14841 85f007b7-540e-0410-9357-904b9bb8a0f7
