version = "0.2"
description = "RPC light: lightweight library to convert plain ML types to and from RPC values"
requires = "rpc-light.xml, rpc-light.json"

package "syntax" (
  version = "0.1"
  description = "rpc-light: library to marshalling/unmarshalling ML types to/from RPC intermediate language"
  requires = "type-conv.syntax"
  archive(syntax,preprocessor) = "pa_rpc.cma"
  archive(syntax,toploop) = "pa_rpc.cma"
  )

package "core" (
  version = "0.1"
  description = "Common RPC definitions"
  archive(byte) = "rpc.cmo"
  archive(native) = "rpc.cmx"
)

package "xml" (
  version = "0.1"
  description = "XML-RPC marshalling/unmarshalling"
  requires = "rpc-light.core,xmlm"
  archive(byte) = "xmlrpc.cmo"
  archive(native) = "xmlrpc.cmx"
  )

package "json" (
  version = "0.1"
  description = "JSON-RPC marshalling/unmarshalling"
  requires = "rpc-light.core"
  archive(byte) = "jsonrpc.cmo"
  archive(native) = "jsonrpc.cmx"
)

package "idl" (
  version = "0.1"
  description = "Preprocessor to convert an idl definition in ocaml into an implementation of client and server modules"
  requires = "camlp4"
  archive(syntax,preprocessor) = "idl.cma"
  archive(syntax,toploop) = "idl.cma"
)
