From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Martin Jambon <martin_jambon@emailuser.net>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] ocamlfind + ocamldep + camlp4?
Date: Tue, 06 Dec 2005 09:10:03 +0100 [thread overview]
Message-ID: <1133856603.5990.48.camel@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.63.0512051339110.7165@munge>
Am Montag, den 05.12.2005, 14:08 -0800 schrieb Martin Jambon:
> Hello,
>
> I would like to know if there is a way of using ocamlfind as front-end to
> camlp4o alone. Let me explain: the following works nicely since it will
> locate the pa_someext package and load its dependencies:
>
> ocamlfind ocamlc -c -syntax camlp4o -package pa_someext file.ml
>
> but how to tell ocamldep to preprocess file.ml using camlp4o and the
> wanted syntax modules, without listing all the include directories and
> dependencies?
Why not
ocamlfind ocamldep -syntax camlp4o -package pa_someext *.ml
?
You can also get the options for camlp4o using:
P4_PKG = "pa_someext"
P4_I_OPTIONS = $(shell ocamlfind query -predicates "syntax,preprocessor,camlp4o" \
$(P4_PKG) -i-format)
P4_A_OPTIONS = $(shell ocamlfind query -predicates "syntax,preprocessor,camlp4o" \
$(P4_PKG) -a-format)
then
camlp4 $(P4_I_OPTIONS) $(P4_A_OPTIONS)
should work.
Gerd
>
> OCamlMakefile solves this by reading the first line of the OCaml files.
> That works, but ocamlfind doesn't help here, so all directories of the
> camlp4 extensions (direct + dependent) must be specified, which is
> impractical. That would be something like:
> (*pp ./pp-command *)
>
> where pp-command would be:
> #!/bin/sh
> camlp4o
> -I /path/to/lib1 lib1.cma \
> -I /path/to/lib2 lib2.cma \
> -I /path/to/pa_someext pa_someext.cmo $*
>
> where lib1 and lib2 are required by pa_someext.
>
> Instead, it would be nice to write only:
>
> (*pp ocamlfind camlp4o -package pa_someext *)
>
>
> Thanks,
>
> Martin
>
> --
> Martin Jambon, PhD
> http://martin.jambon.free.fr
>
> Store and share your bioinformatics tips at http://wikiomics.org
>
> _______________________________________________
> 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
>
--
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de
Telefon: 06151/153855 Telefax: 06151/997714
------------------------------------------------------------
next prev parent reply other threads:[~2005-12-06 8:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-05 22:08 Martin Jambon
2005-12-06 8:00 ` [Caml-list] " Alain Frisch
2005-12-06 8:10 ` Gerd Stolpmann [this message]
2005-12-06 21:33 ` Martin Jambon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1133856603.5990.48.camel@localhost.localdomain \
--to=info@gerd-stolpmann.de \
--cc=caml-list@inria.fr \
--cc=martin_jambon@emailuser.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox