version = "0.20.0"
description = "Combinators for binding to C libraries without writing any C."
requires = "bigarray-compat bytes integers"
archive(byte) = "ctypes.cma"
archive(byte, plugin) = "ctypes.cma"
archive(byte, toploop) = "ctypes.cma ctypes-top.cma"
archive(native) = "ctypes.cmxa"
archive(native, plugin) = "ctypes.cmxs"
exists_if = "ctypes.cma"

package "top" (
  version = "0.20.0"
  description = "Toplevel printers for C types"
  requires = "ctypes"
  archive(byte) = "ctypes-top.cma"
  archive(byte, plugin) = "ctypes-top.cma"
  archive(native) = "ctypes-top.cmxa"
  archive(native, plugin) = "ctypes-top.cmxs"
  exists_if = "ctypes-top.cma"
)

package "stubs" (
  version = "0.20.0"
  description = "Stub generation from C types"
  requires = "ctypes str"
  archive(byte) = "cstubs.cma"
  archive(byte, plugin) = "cstubs.cma"
  archive(native) = "cstubs.cmxa"
  archive(native, plugin) = "cstubs.cmxs"
  xen_linkopts = "-lctypes_stubs_xen"
  exists_if = "cstubs.cma"
)

package "foreign" (
 version = "0.20.0"
 description = "Dynamic linking of C functions"
 requires = "threads ctypes"
 archive(byte) = "ctypes-foreign.cma"
 archive(byte, plugin) = "ctypes-foreign.cma"
 archive(native) = "ctypes-foreign.cmxa"
 archive(native, plugin) = "ctypes-foreign.cmxs"
 exists_if = "ctypes-foreign.cma"
)
