OASISFormat: 0.4
Name:        lutin
Version:     2.64
Authors:     Erwan Jahier, Pascal Raymond, Bertrand Jeannnet (polka), Yvan Roux
Maintainers: erwan.jahier@univ-grenoble-alpes.fr  
License:     CeCILL
Plugins:     DevFiles (0.4), META (0.4), StdFiles (0.4)
Synopsis:    Lutin: modeling stochastic reactive systems.
Homepage:    http://www-verimag.imag.fr/Lutin.html
OCamlVersion: >= 4.02
Description:
     Lutin is a language to model stochastic reactive systems.  
     It has been initially designed to model environments and perform 
     automated testing of reactive systems with Lurette.
BuildTools: ocamlbuild
PreBuildCommand: make lutin/src/version.ml

SourceRepository "master"
  Type: git
  Location: https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lutin.git 
  Browser:  https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lutin


#PreBuildCommand: make gen_version 

Executable lutin
  Path:   lutin/src
  MainIs: main.ml
  BuildDepends: str,unix,num,rdbg-plugin (>= 1.177),lutin-utils,ezdl,gbddml,polka,camlp4,camlidl,gmp
  NativeOpt: -package num # XXX turn around a bug in oasis/ocamlbuild/ocamlfind?
  Build: true
  Install:true
  CompiledObject: native
  CClib: -lcamlidl

Library lutin
   XMETADescription: Provides an API to call Lutin from ocaml (and rdbg)
   Path:    lutin/src
   Modules: LutinRun
   BuildDepends: camlp4,lutin-utils,ezdl,gbddml,bigarray,polka,camlidl,lutils
   Install:true
   CompiledObject: native
   XMETAEnable: true
   InternalModules: Auto2Lucky,AutoGen,Bddd,CheckEnv,CheckType,CkIdentInfo,CkTypeEff,CoAlgExp,CoIdent,CoTraceExp,Constraint,Draw,Exp,ExpEval,Expand,ExprUtil,FGen,Fair_bddd,Formula_to_bdd,GenOcamlGlue,Glue,Gne,Guard,Lexeme,LoopWeights,Luc2alice,Luc2c,LucFGen,Lucky,LutErrors,LutExe,LutLexer,LutParser,LutPredef,LutProg,LutVersion,MainArg,Ne,Parsers,Poly_draw,Polyhedron,Prevar,Prog,Reactive,Rif,Sol_nb,Solver,Store,Syntaxe,SyntaxeDump,Thickness,Type,Util,Utils,Value,Var,Verbose,Version
   DllLib: libgmp.so dllcamlidl.so

Library bddrand
   XMETADescription: A simple front-end to the lutin Random toss machinary
   Path:    lutin/src
   Modules: BddRandom,Dimacs
   BuildDepends: camlp4,lutin-utils,ezdl,gbddml,bigarray,polka,camlidl,lutils
   FindlibParent:	lutin
   Install:true
   CompiledObject: native
   XMETAEnable: true
   DllLib: libgmp.so dllcamlidl.so


#Library lut4c
#  XMETADescription:  Calling Lutin from C XXX NOT WORKING 
#  Path:    lutin/src
#  Modules: Lut4c
#  FindlibParent: lutin
#  BuildDepends: str,unix,num,rdbg-plugin (>= 1.51),lutin-utils,ezdl,gbddml,polka,camlp4
#  Install: true
#  CSources: lut4c_stubs.h,lut4c_stubs.c
#  CCOpt: -fPIC 

Library "lutin-utils"
  XMETADescription: Some C functions used by the lutin runtime
  Path:    lutin-utils/src
  Modules: LutinUtils
  Install: true
  CSources: lutinUtils.h,lutinUtils_c.c,lutinUtils_stubs.c,myuid.h,myuid.c
  CCOpt: -fPIC -I$pkg_camlidl -I/usr/local/include/ 

# mimick the behavior of 'rdbg -lurette', but without the dependency on ocaml
# The drawback is that the lutin and lustre lib are statically part of it
Executable lurette
  Path:       lurette-nocaml/src
  MainIs:     lurette.ml
  BuildDepends: str,unix,num,dynlink,extlib,camlp4,lutils (>= 1.9),lutin-utils,ezdl,gbddml,polka,camlp4,camlidl,gmp,rdbg-plugin (>= 1.177),lustre-v6,lutin
  NativeOpt: rdbg4lurette.cmxa # for some reasons not recogniezd as a package
  Install:true
  CompiledObject: native
  Install: true
  CClib: -lcamlidl

# The old lurette. Remove ?
# it create a weird dependancies on lustre-v6
Executable lurette_old
  Path:       ltop/src
  MainIs:     lurettetop.ml 
  BuildDepends: num,str,unix,dynlink,lustre-v6,lutin,ezdl,gbddml,polka,camlp4,camlidl
  Build: true
  NativeOpt: -package dynlink # XXX turn around a bug in oasis/ocamlbuild/ocamlfind?
  Install:true
  CompiledObject: native
  CClib: -lcamlidl
  CCOpt: -fPIC 

# should be moved to lutils
Library ezdl
  XMETADescription:  ezdl: easy dynamic linking of C functions from ocaml 
  Path:    EZDL
  Modules: Ezdl
  Install: true
  CSources: Ezdl_c.c,Inspect_c.c
  CCOpt: -fPIC

# should be moved to lutils
Library gbddml
  XMETADescription:  gbddml: the Verimag bdd library
  Path:    gbddml
  Modules: Bdd
  Install: true
  CSources: gbdd_cml.c, gbdd.c, gbdd.h
  CCOpt: -x c++ -g -O2 -fno-operator-names -fPIC -I$pkg_camlidl
  CClib: -lstdc++ 


Library polka
  XMETADescription:  polka: convex polyhedron library by Bertrand Jeannet (now part of apron)
  Path:    polka
  Modules: Polka,PolkaIO,Vector,Matrix,Poly,Polka_parser,Polka_lexer
  BuildDepends: num,gmp # actually it is named mlgmpidl in opam
  Install: true
  CSources: pkint.h, config.h,
            polka.h, internal.h, bit.h, satmat.h, cherni.h,
            vector.h, matrix.h, poly.h, polka_caml.h,
            polka_c.c, internal.c, bit.c, satmat.c, cherni.c,
            vector_c.c, matrix_c.c,  poly_c.c,
            vector_caml.c, matrix_caml.c, poly_caml.c, polka_caml.c
  CCOpt: -O3 -fPIC -DPOLKA_NUM=3  -I$pkg_camlidl -I/usr/local/include/ 
  DllLib: libgmp.so dllcamlidl.so



# should be part of rdbg?
Executable "check-rif"
  Path:       ltop/src 
  MainIs:     checkRif.ml
  BuildDepends: num,str,unix,lutils,ezdl,lustre-v6
  NativeOpt: -package num # XXX turn around a bug in oasis/ocamlbuild/ocamlfind?
  Build: true
  Install:true
  CompiledObject: native
  CCOpt: -fPIC

Executable "call-via-socket"
  Path:       ltop/src 
  MainIs:     call_via_socket.ml
  BuildDepends: str,unix
  Build: true
  Install:true
  CompiledObject: native

# XXX not working
Document "lutin-man.pdf"
  Title:  Lutin language reference manual
  Type: custom (0.4)
  DataFiles: doc/lutin-man/lutin-man.pdf
  XCustom: make 
  InstallDir: $docdir
  Build: true
  Install: true
  BuildTools: make		
  XOCamlbuildPath: doc/lutin-man
