# -*- conf -*-

# +------------------------------------------------------------------+
# | External ocaml packages                                          |
# +------------------------------------------------------------------+

<{src,tests}/extra/**>: pkg_unix, pkg_threads
<{src,tests}/preemptive/**>: pkg_unix, pkg_threads
<{src,tests}/glib/**>: pkg_lablgtk2
<{src,tests}/react/**>: pkg_react
<{src,tests}/ssl/**>: pkg_ssl
<{src,tests}/text/**>: pkg_react, pkg_text, pkg_unix
<{src,tests}/top/**>: pkg_unix, pkg_react, pkg_text, pkg_findlib
<{src,tests}/unix/**>: pkg_unix

<src/top/private/{toplevel.*,toplevel_temp.*}>: use_compiler_libs

<tests/**>: pkg_unix, use_unix_stubs

# +------------------------------------------------------------------+
# | Syntax extensions                                                |
# +------------------------------------------------------------------+

<syntax/pa_{lwt,log}.ml>: syntax_camlp4o, pkg_camlp4, pkg_camlp4.quotations.o, pkg_camlp4.extend
<{src,tests}/**/*.ml>: syntax_camlp4o, pkg_camlp4, pa_lwt, pa_log

# +------------------------------------------------------------------+
# | C stubs                                                          |
# +------------------------------------------------------------------+

# Tags description:
#
# * "use_XXX_stubs" is for files using the stubs for XXX,
#   i.e. "src/lwt_XXX_stubs.c"
#
# * "use_C_XXX" is for files using the C library "XXX"

# Ocaml libraries use C stubs and must depend on C libraries:
<src/unix/lwt_unix.cm{x,}a>: use_unix_stubs
<src/glib/lwt_glib.cm{x,}a>: use_glib_stubs, use_C_glib

# C stubs use C libraries:
<src/glib/stubs/liblwt_glib_stubs.*>: use_C_glib
<src/glib/stubs/lwt_glib_stubs.*>: use_C_glib
