Ocamlbuild + unexpected dependency

View: New views
3 Messages — Rating Filter:   Alert me  

Ocamlbuild + unexpected dependency

by Dario Teixeira-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I'm using the Xstrp4 syntax extension to include an external
file "data.txt" inside a "foobar.ml" file.  I'm also using
ocamlbuild to build the project.  How do I tell ocamlbuild
that data.txt should be also be copied to the _build directory
for building?  Ocamlbuild by default has no way of knowing that
foobar.ml depends on data.txt.  (I am presently using an absolute
path to get around this, which is not very portable).

Thanks in advance!
Best regards,
Dario Teixeira






_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: Ocamlbuild + unexpected dependency

by Hezekiah M. Carty-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Oct 23, 2009 at 11:04 AM, Dario Teixeira
<darioteixeira@...> wrote:
>
> I'm using the Xstrp4 syntax extension to include an external
> file "data.txt" inside a "foobar.ml" file.  I'm also using
> ocamlbuild to build the project.  How do I tell ocamlbuild
> that data.txt should be also be copied to the _build directory
> for building?  Ocamlbuild by default has no way of knowing that
> foobar.ml depends on data.txt.  (I am presently using an absolute
> path to get around this, which is not very portable).
>

I'm not sure if there is a better way to do this, but you can add the
dependency in your myocamlbuild.ml file.  Add something along the
lines of this:

---
let xstrp4_includes = "data.txt"

...
| After_rules ->
...

dep ["compile"; "the_xstrp4_tag"] xstrp4_includes;
---

I use this to support external includes with camlidl + ocamlbuild.

Hope this helps,

Hez

--
Hezekiah M. Carty
Graduate Research Assistant
University of Maryland
Department of Atmospheric and Oceanic Science

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: Ocamlbuild + unexpected dependency

by Dario Teixeira-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Thanks for the hint -- it was sufficient to get me on the right
track.  Note however that instead of using the "compile" tag,
I had to use "ocamldep".  Also, the creation of the single-purpose
tag can be avoided by using "file:", as follows:

| After_rules ->
  dep ["ocamldep"; "file:foobar.ml"] ["data.txt"]

Best regards,
Dario Teixeira





_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs