I’m using jbuilder but I think this applies to any build systems (even
ocamlopt): I’ve created a simple native project (a hello world with opium), and jbuilder generated these files:
$ ls _build/default hello_world.cmi hello_world.cmo hello_world.cmt hello_world.cmx hello_world.depends.ocamldep-output hello_world.exe hello_world.ml hello_world.o hello_world.requires.sexp
Are all these files actually necessary for running
hello_world.exe? If not, which are? If I, say, want to create a docker container for running the program (assuming I’m also building in a same image so no need to cross-compile), can I just copy the
hello_world.exe and execute it? Does it already include the dependencies (like in this case, opium)?
I’ve read Chapter 23 of RWO but I’m still not sure… I’ve tried moving the .exe to another directory and executing it, it runs, but since it’s still on the same machine there might be some file resolving going on that I don’t know of.