sig
  val rctxt : OASISContext.t Pervasives.ref
  module BaseSetup :
    sig
      module Original = BaseSetup
      type std_args_fun = OASISTypes.package -> string array -> unit
      type ('a, 'b) section_args_fun =
          OASISTypes.name *
          (OASISTypes.package ->
           OASISTypes.common_section * '-> string array -> 'b)
      type t = {
        configure : BaseCompat.Compat_0_4.BaseSetup.std_args_fun;
        build : BaseCompat.Compat_0_4.BaseSetup.std_args_fun;
        doc :
          (OASISTypes.doc, unit)
          BaseCompat.Compat_0_4.BaseSetup.section_args_fun list;
        test :
          (OASISTypes.test, float)
          BaseCompat.Compat_0_4.BaseSetup.section_args_fun list;
        install : BaseCompat.Compat_0_4.BaseSetup.std_args_fun;
        uninstall : BaseCompat.Compat_0_4.BaseSetup.std_args_fun;
        clean : BaseCompat.Compat_0_4.BaseSetup.std_args_fun list;
        clean_doc :
          (OASISTypes.doc, unit)
          BaseCompat.Compat_0_4.BaseSetup.section_args_fun list;
        clean_test :
          (OASISTypes.test, unit)
          BaseCompat.Compat_0_4.BaseSetup.section_args_fun list;
        distclean : BaseCompat.Compat_0_4.BaseSetup.std_args_fun list;
        distclean_doc :
          (OASISTypes.doc, unit)
          BaseCompat.Compat_0_4.BaseSetup.section_args_fun list;
        distclean_test :
          (OASISTypes.test, unit)
          BaseCompat.Compat_0_4.BaseSetup.section_args_fun list;
        package : OASISTypes.package;
        oasis_fn : string option;
        oasis_version : string;
        oasis_digest : Digest.t option;
        oasis_exec : string option;
        oasis_setup_args : string list;
        setup_update : bool;
      }
      val setup : BaseCompat.Compat_0_4.BaseSetup.t -> unit
    end
  val adapt_setup_t :
    BaseCompat.Compat_0_4.BaseSetup.t -> BaseCompat.Compat_0_4.BaseSetup.t
end