(library
 (name ppx_server)
 (public_name eliom.ppx.server)
 (synopsis "Ppx syntax extension: server side")
 (wrapped false)
 (kind ppx_rewriter)
 (modules ppx_eliom_server)
 (preprocess
  (pps ppxlib.metaquot))
 (libraries ppx_utils))

(library
 (name ppx_client)
 (public_name eliom.ppx.client)
 (synopsis "Ppx syntax extension: client side")
 (wrapped false)
 (kind ppx_rewriter)
 (modules ppx_eliom_client)
 (preprocess
  (pps ppxlib.metaquot))
 (libraries ppx_utils))

(library
 (name ppx_type)
 (wrapped false)
 (public_name eliom.ppx.type)
 (synopsis "Ppx syntax extension: type inference")
 (kind ppx_rewriter)
 (modules ppx_eliom_type)
 (preprocess
  (pps ppxlib.metaquot))
 (libraries ppx_utils))

(library
 (name ppx_utils)
 (public_name eliom.ppx.utils)
 (wrapped false)
 (modules ppx_eliom_utils)
 (preprocess
  (pps ppxlib.metaquot ppx_optcomp))
 (libraries ppxlib))

(executable
 (name ppx_eliom_server_ex)
 (public_name ppx_eliom_server)
 (libraries ppx_server)
 (preprocess
  (pps ppxlib.metaquot))
 (modules ppx_eliom_server_ex))

(executable
 (name ppx_eliom_client_ex)
 (public_name ppx_eliom_client)
 (libraries ppx_client)
 (preprocess
  (pps ppxlib.metaquot))
 (modules ppx_eliom_client_ex))

(executable
 (name ppx_eliom_types_ex)
 (public_name ppx_eliom_types)
 (libraries ppx_type)
 (preprocess
  (pps ppxlib.metaquot))
 (modules ppx_eliom_types_ex))
