Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
dune 2.92 KiB
(env
 (dev
  (flags
   (:standard -warn-error -A))))

(include_subdirs unqualified)

; use of the "sites" features of dune

(generate_sites_module
 (module sites)
 (plugins
  (lustrec plugins)
  (lustrec verifiers)))

; a common library for various executables and plugins

(library
 (name lustrec_common)
 (package lustrec)
 (wrapped false)
 (modules
  utils
  location
  env
  dimension
  real
  options
  types
  clocks
  delay
  lustre_types
  spec_types
  scheduling_type
  machine_code_types
  type_predef
  annotations
  corelang
  clock_predef
  error
  global
  basic_library
  sites
  sites_paths
  backends
  options_management
  arrow
  log
  stateless
  typing
  machine_code_common
  printers
  version
  ocaml_utils
  lustrec_mpfr
  machine_types
  c_backend_common
  automata
  parser_lustre
  parser_lustre_table
  parser_lustre_messages
  parse
  lexerLustreSpec
  lexer_lustre
  clock_calculus
  compiler_common
  splitting
  normalization)
 (modules_without_implementation machine_code_types scheduling_type)
 (libraries ocamlgraph menhirLib zarith dune-site dune-site.plugins str unix))

; a library for plugin registration

(library
 (name plugin_register)
 (package lustrec)
 (wrapped false)
 (modules pluginList pluginType)
 (libraries lustrec_common))

; a library for verifier registration

(library
 (name verifier_register)
 (package lustrec)
 (wrapped false)
 (modules verifierList verifierType)
 (libraries lustrec_common))

; executables

(executables
 (package lustrec)
 (names
  main_lustre_compiler
  main_lustre_verifier
  main_lustre_testgen
  main_lustre_importer
  sf_sem)
 (public_names lustrec lustrev lustret lustrei lustresf)
 (modules
  (:standard
   \
   pluginType
   pluginList
   verifierType
   verifierList
   lustre_types
   utils
   location
   dimension
   env
   real
   types
   options
   clocks
   delay
   machine_code_types
   spec_types
   scheduling_type
   corelang
   machine_code_common
   printers
   type_predef
   basic_library
   c_backend_common
   version
   clock_predef
   annotations
   arrow
   compiler_common
   options_management
   ocaml_utils
   error
   stateless
   lustrec_mpfr
   global
   log
   typing
   machine_types
   parse
   normalization
   splitting
   parser_lustre
   parser_lustre_table
   automata
   parser_lustre_messages
   lexer_lustre
   lexerLustreSpec
   clock_calculus
   sites_paths
   sites
   backends))
 (libraries
  plugin_register
  verifier_register
  lustrec.scopes
  yojson
  ppx_deriving_yojson.runtime)
 (preprocess
  (pps ppx_deriving_yojson)))

; (library
;  (name tools_lib)
;  (package lustrec)
;  (wrapped false)
;  (modules basetypes datatype activeStates)
;  (libraries lustrec_lib))

; (executable
;  (name main_parse_json_file)
;  (public_name json-parser)
;  (modules main_parse_json_file json_parser)
;  (libraries tools_lib cmdliner))

; (executable
;  (name test_json_parser_variables)
;  (modules test_json_parser_variables json_parser)
;  (libraries tools_lib))