(library
 (name mccs)
 (cxx_names changed_criteria constraint_generation count_criteria
   cudf_reductions cudf_tools glpk_solver lp_solver lexagregate_combiner
   new_criteria notuptodate_criteria removed_criteria mccscudf mccs_stubs)
 (public_name mccs)
 (modules :standard \ context_flags)
 (cxx_flags
  :standard
  -I
  .
  (:include cxxflags.sexp))
 (c_library_flags
  :standard
  (:include clibs.sexp))
 (library_flags
  :standard
  (:include flags.sexp))
 (wrapped false)
 (libraries
  cudf
  (select
   config.h
   from
   (mccs.glpk.internal -> config_internal.h)
   (mccs.glpk.shared -> config_external.h)
   (mccs.glpk.static -> config_external.h)
   (-> _))))

(rule
  (with-stdout-to config_internal.h (echo "#include \"glpk/glpk.h\"")))

(rule
  (with-stdout-to config_external.h (echo "#include <glpk.h>")))

(rule
 (targets cxxflags.sexp clibs.sexp flags.sexp)
 (deps context_flags.ml (universe))
 (action
  (run ocaml %{deps})))
