(lang dune 2.9)
(name mm)
(version 0.8.1)
(library
 (name mm)
 (kind normal)
 (synopsis "High-level APIs to create and manipulate multimedia streams")
 (archives (byte mm.cma) (native mm.cmxa))
 (plugins (byte mm.cma) (native mm.cmxs))
 (native_archives mm.a)
 (requires mm.audio mm.image mm.video mm.midi)
 (main_module_name Mm)
 (modes byte native)
 (modules
  (singleton (name Mm) (obj_name mm) (visibility public) (impl) (intf))))
(library
 (name mm.alsa)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- optional alsa module")
 (archives (byte alsa/mm_alsa.cma) (native alsa/mm_alsa.cmxa))
 (plugins (byte alsa/mm_alsa.cma) (native alsa/mm_alsa.cmxs))
 (native_archives alsa/mm_alsa.a)
 (requires alsa mm.audio)
 (main_module_name Mm_alsa)
 (modes byte native)
 (modules
  (singleton
   (name Mm_alsa)
   (obj_name mm_alsa)
   (visibility public)
   (impl)
   (intf))))
(library
 (name mm.ao)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- optional ao module")
 (archives (byte ao/mm_ao.cma) (native ao/mm_ao.cmxa))
 (plugins (byte ao/mm_ao.cma) (native ao/mm_ao.cmxs))
 (native_archives ao/mm_ao.a)
 (requires ao mm.audio)
 (main_module_name Mm_ao)
 (modes byte native)
 (modules
  (singleton (name Mm_ao) (obj_name mm_ao) (visibility public) (impl) (intf))))
(library
 (name mm.audio)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- audio module")
 (archives (byte audio/mm_audio.cma) (native audio/mm_audio.cmxa))
 (plugins (byte audio/mm_audio.cma) (native audio/mm_audio.cmxs))
 (foreign_objects audio/audio_c.o)
 (foreign_archives audio/libmm_audio_stubs.a)
 (native_archives audio/mm_audio.a)
 (requires mm.base)
 (main_module_name Mm_audio)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Mm_audio)
   (modules
    ((name Audio)
     (obj_name mm_audio__Audio)
     (visibility public)
     (impl)
     (intf)))
   (alias_module
    (name Mm_audio)
    (obj_name mm_audio)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name mm.base)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- base modules")
 (archives (byte base/mm_base.cma) (native base/mm_base.cmxa))
 (plugins (byte base/mm_base.cma) (native base/mm_base.cmxs))
 (native_archives base/mm_base.a)
 (requires unix)
 (main_module_name Mm_base)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Mm_base)
   (modules
    ((name IO) (obj_name mm_base__IO) (visibility public) (impl))
    ((name Ringbuffer)
     (obj_name mm_base__Ringbuffer)
     (visibility public)
     (impl)
     (intf)))
   (alias_module
    (name Mm_base)
    (obj_name mm_base)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name mm.image)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- image module")
 (archives (byte image/mm_image.cma) (native image/mm_image.cmxa))
 (plugins (byte image/mm_image.cma) (native image/mm_image.cmxs))
 (foreign_objects
  image/image_data.o
  image/image_pixel.o
  image/image_rgb.o
  image/image_yuv420.o)
 (foreign_archives image/libmm_image_stubs.a)
 (native_archives image/mm_image.a)
 (requires unix)
 (main_module_name Mm_image)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Mm_image)
   (modules
    ((name Image)
     (obj_name mm_image__Image)
     (visibility public)
     (impl)
     (intf))
    ((name ImageBGRA)
     (obj_name mm_image__ImageBGRA)
     (visibility public)
     (impl))
    ((name ImageBase)
     (obj_name mm_image__ImageBase)
     (visibility public)
     (impl))
    ((name ImageBitmap)
     (obj_name mm_image__ImageBitmap)
     (visibility public)
     (impl))
    ((name ImageCanvas)
     (obj_name mm_image__ImageCanvas)
     (visibility public)
     (impl))
    ((name ImageGeneric)
     (obj_name mm_image__ImageGeneric)
     (visibility public)
     (impl))
    ((name ImageRGBA32)
     (obj_name mm_image__ImageRGBA32)
     (visibility public)
     (impl))
    ((name ImageYUV420)
     (obj_name mm_image__ImageYUV420)
     (visibility public)
     (impl)))
   (alias_module
    (name Mm_image)
    (obj_name mm_image)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name mm.mad)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- optional mad module")
 (archives (byte mad/mm_mad.cma) (native mad/mm_mad.cmxa))
 (plugins (byte mad/mm_mad.cma) (native mad/mm_mad.cmxs))
 (native_archives mad/mm_mad.a)
 (requires mad mm.base mm.audio)
 (main_module_name Mm_mad)
 (modes byte native)
 (modules
  (singleton
   (name Mm_mad)
   (obj_name mm_mad)
   (visibility public)
   (impl)
   (intf))))
(library
 (name mm.midi)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- midi module")
 (archives (byte midi/mm_midi.cma) (native midi/mm_midi.cmxa))
 (plugins (byte midi/mm_midi.cma) (native midi/mm_midi.cmxs))
 (native_archives midi/mm_midi.a)
 (requires mm.base mm.audio)
 (main_module_name Mm_midi)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Mm_midi)
   (modules
    ((name MIDI) (obj_name mm_midi__MIDI) (visibility public) (impl) (intf))
    ((name Synth) (obj_name mm_midi__Synth) (visibility public) (impl) (intf)))
   (alias_module
    (name Mm_midi)
    (obj_name mm_midi)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name mm.oss)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- optional oss module")
 (archives (byte oss/mm_oss.cma) (native oss/mm_oss.cmxa))
 (plugins (byte oss/mm_oss.cma) (native oss/mm_oss.cmxs))
 (foreign_objects oss/oss_stubs.o)
 (foreign_archives oss/libmm_oss_stubs.a)
 (native_archives oss/mm_oss.a)
 (requires mm.base mm.audio)
 (main_module_name Mm_oss)
 (modes byte native)
 (modules
  (singleton
   (name Mm_oss)
   (obj_name mm_oss)
   (visibility public)
   (impl)
   (intf))))
(library
 (name mm.pulseaudio)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- optional pulseaudio module")
 (archives
  (byte pulseaudio/mm_pulseaudio.cma)
  (native pulseaudio/mm_pulseaudio.cmxa))
 (plugins
  (byte pulseaudio/mm_pulseaudio.cma)
  (native pulseaudio/mm_pulseaudio.cmxs))
 (native_archives pulseaudio/mm_pulseaudio.a)
 (requires pulseaudio mm.audio)
 (main_module_name Mm_pulseaudio)
 (modes byte native)
 (modules
  (singleton
   (name Mm_pulseaudio)
   (obj_name mm_pulseaudio)
   (visibility public)
   (impl)
   (intf))))
(library
 (name mm.sdl)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- optional sdl module")
 (archives (byte sdl/mm_sdl.cma) (native sdl/mm_sdl.cmxa))
 (plugins (byte sdl/mm_sdl.cma) (native sdl/mm_sdl.cmxs))
 (foreign_objects sdl/sdl_stubs.o)
 (foreign_archives sdl/libmm_sdl_stubs.a)
 (native_archives sdl/mm_sdl.a)
 (requires sdl mm.video mm.midi)
 (main_module_name Mm_sdl)
 (modes byte native)
 (modules
  (singleton
   (name Mm_sdl)
   (obj_name mm_sdl)
   (visibility public)
   (impl)
   (intf))))
(library
 (name mm.theora)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- optional theora module")
 (archives (byte theora/mm_theora.cma) (native theora/mm_theora.cmxa))
 (plugins (byte theora/mm_theora.cma) (native theora/mm_theora.cmxs))
 (native_archives theora/mm_theora.a)
 (requires theora mm.image mm.video)
 (main_module_name Mm_theora)
 (modes byte native)
 (modules
  (singleton
   (name Mm_theora)
   (obj_name mm_theora)
   (visibility public)
   (impl)
   (intf))))
(library
 (name mm.video)
 (kind normal)
 (synopsis
  "High-level APIs to create and manipulate multimedia streams -- video module")
 (archives (byte video/mm_video.cma) (native video/mm_video.cmxa))
 (plugins (byte video/mm_video.cma) (native video/mm_video.cmxs))
 (native_archives video/mm_video.a)
 (requires mm.base mm.image mm.audio)
 (main_module_name Mm_video)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Mm_video)
   (modules
    ((name Video)
     (obj_name mm_video__Video)
     (visibility public)
     (impl)
     (intf)))
   (alias_module
    (name Mm_video)
    (obj_name mm_video)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
