From mboxrd@z Thu Jan 1 00:00:00 1970 X-Sympa-To: caml-list@inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id pA2AYOgJ005058 for ; Wed, 2 Nov 2011 11:34:24 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnICADccsU7RVdQ2kGdsb2JhbAApGpl/NYdEAYYxgRYIIgEBAQEJCQ0HFAQhgXIBAQEDARICBg0ZARQHEgsBAwELBgULDQ0ICwcHIQEBEQEFAQoBEQYKCRIJB4dgCCOXYgqLVIJghSk9iHACBQqDOYIxgxwEgliRPIo7gn49g3A X-IronPort-AV: E=Sophos;i="4.69,443,1315173600"; d="scan'208";a="127571837" Received: from mail-vw0-f54.google.com ([209.85.212.54]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 02 Nov 2011 11:34:18 +0100 Received: by vws11 with SMTP id 11so2392291vws.27 for ; Wed, 02 Nov 2011 03:34:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=BkfBORqNcbUfV87YsHTS+FigRdSu6E0XesAAHvzl314=; b=pA0U0pujW2Q+CuUHZac7Aw0oE5yQ4JJLslpBfXzZbHkoTgF9zmudw+v5uGzeMwV4ez EAQRVbjsX8pYRmxCGH+dWlDfd3zCZThc+qPWM3Xv2lQTaU3OS+dZuWPUBE+DJ8yFTFM+ DYeuJgvCK8//uK+TOM3APkGF9re2hTRLx5PMc= Received: by 10.52.69.52 with SMTP id b20mr3878303vdu.85.1320230057195; Wed, 02 Nov 2011 03:34:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.113.195 with HTTP; Wed, 2 Nov 2011 03:33:56 -0700 (PDT) In-Reply-To: References: From: Philippe Veber Date: Wed, 2 Nov 2011 11:33:56 +0100 Message-ID: To: Sylvain Le Gall Cc: caml-list@inria.fr Content-Type: multipart/alternative; boundary=20cf307f370294b7a204b0be03d8 X-Validation-by: philippe.veber@gmail.com Subject: Re: [Caml-list] Re: oasis, inter-dependent libraries and syntax extension --20cf307f370294b7a204b0be03d8 Content-Type: text/plain; charset=ISO-8859-1 Done: https://forge.ocamlcore.org/tracker/index.php?func=detail&aid=1050&group_id=54&atid=291 I find oasis particularly useful, tell me if there is something else I can do on this. ph. 2011/11/2 Sylvain Le Gall > Hello, > > You are indeed right, syntax extensions remain a second class citizen. > I'll need to fix that situation. > > Please report this problem to the bug tracker, along with your solution > (which seems fine). I'll try to implement it in 0.3. > > Cheers > Sylvain Le Gall > > On 01-11-2011, Philippe Veber wrote: > > > > --20cf307abebda8d83d04b0a9e43e > > Content-Type: text/plain; charset=ISO-8859-1 > > Content-Transfer-Encoding: quoted-printable > > > > I found a workaround in lwt, which is to add some code in > myocamlbuild.ml, > > outside the generated part, to define appropriate tags that can then be > > used in _tags (more generally, lwt has several interesting tricks about > > oasis). For the record, here is how you can use a syntax extension > > internally, inside a package: > > > > open Ocamlbuild_plugin > > > > let () =3D > > dispatch > > (fun hook -> > > dispatch_default hook; > > match hook with > > | Before_options -> > > Options.make_links :=3D false > > > > | After_rules -> > > (* Internal syntax extension *) > > List.iter > > (fun base -> > > let tag =3D "pa_" ^ base and file =3D "src/syntax/pa_" > ^ = > > base > > ^ ".cmo" in > > flag ["ocaml"; "compile"; tag] & S[A"-ppopt"; A file]; > > flag ["ocaml"; "ocamldep"; tag] & S[A"-ppopt"; A file]; > > flag ["ocaml"; "doc"; tag] & S[A"-ppopt"; A file]; > > dep ["ocaml"; "ocamldep"; tag] [file]) > > ["syntax_ext1";"syntax_ext2"]; (* add your syntax > extensions > > here *) > > | _ -> > > ()) > > > > > > > > 2011/10/31 Philippe Veber > > > >> S=E9bastien's suggestion is indeed a good start but alas for me not > enoug= > > h. > >> The build still fails at ocamldep time, because the library B (with the > >> syntax extension) seems not to be taken into account. If I replace my > >> syntax extension with some findlib package (say tyxml), the compilation > >> works fine. So the question remains, how can I specify that a > >> library/executable in a package depends on a syntax extension that is > >> defined as a library of the same package? > >> > >> Thanks to oasisdb, I've browsed a couple of packages that could be in > the > >> same situation, like a test executable for a syntax extension, but found > >> none. Maybe I'm not dealing correctly with the situation ? > >> > >> ph. > >> > >> > >> 2011/10/31 Sebastien Mondet > >> > >>> > >>> Hi > >>> > >>> > >>> I ran into the same problem last week. > >>> I added a line to the _tags file after the OASIS-generated stuff: > >>> > >>> ... > >>> # OASIS_STOP > >>> > >>> : syntax_camlp4o > >>> > >>> > >>> (found in the slide 18: > >>> http://oasis.forge.ocamlcore.org/documentation.html ) > >>> > >>> > >>> Sebastien > >>> > >>> > >>> > >>> > >>> > >>> > >>> On Mon, Oct 31, 2011 at 12:23, Philippe Veber < > philippe.veber@gmail.com>= > > wrote: > >>> > >>>> Hi, > >>>> I have an oasis project defining three inter-dependent libraries A, B > >>>> and C. B is a syntax extension, and depends on A. C depends on both A > a= > > nd > >>>> B. I have written an _oasis file for this, which works fine if I > don't = > > use > >>>> the extension in C, but fails if I do, during ocamldep (ocamldep > lacks = > > the > >>>> appropriate options to understand the new syntax). Has anybody run > into > >>>> this problem ? > >>>> > >>>> ph. > >>>> > >>>> > >>> > >> > > > > --=20 > > Caml-list mailing list. Subscription management and archives: > > https://sympa-roc.inria.fr/wws/info/caml-list > > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > > Bug reports: http://caml.inria.fr/bin/caml-bugs > > > > > > --20cf307abebda8d83d04b0a9e43e > > Content-Type: text/html; charset=ISO-8859-1 > > Content-Transfer-Encoding: quoted-printable > > > > I found a workaround in lwt, which is to add some code in href=3D"http:/= > > /myocamlbuild.ml">myocamlbuild.ml, outside the generated part, to > defin= > > e appropriate tags that can then be used in _tags (more generally, lwt > has = > > several interesting tricks about oasis). For the record, here is how you > ca= > > n use a syntax extension internally, inside a package:
> > > >
open > Ocamlbuild_plu= > > gin

style=3D"fo= > > nt-family: courier new,monospace;"> new,= > > monospace;">let () =3D
new,monospac= > > e;"> > > > >=A0 > dispatch
> style=3D"font-family: courier new,monospace;"> style=3D"font-family: c= > > ourier new,monospace;">=A0=A0=A0 (fun hook ->
style=3D"font-fa= > > mily: courier new,monospace;"> > > > >=A0=A0=A0=A0=A0=A0 > disp= > > atch_default hook;
new,monospace;">= > >=A0=A0=A0=A0=A0=A0 > matc= > > h hook with
> > > >=A0=A0=A0=A0=A0=A0=A0= > >=A0 | Before_options ->
new,mono= > > space;"> new,monospace;">=A0=A0=A0=A0=A0= > >=A0=A0=A0=A0=A0=A0=A0 Options.make_links :=3D false
style=3D"font= > > -family: courier new,monospace;"> > > > >
style=3D"font-famil= > > y: courier new,monospace;">=A0=A0=A0=A0=A0=A0=A0=A0 | After_rules > -> > an>
style=3D"font-fa= > > mily: courier new,monospace;">=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (* > Inter= > > nal syntax extension *)
new,monospa= > > ce;"> > > > >=A0=A0=A0=A0=A0=A0=A0= > >=A0=A0=A0=A0=A0 List.iter
new,monos= > > pace;"> new,monospace;">=A0=A0=A0=A0=A0= > >=A0=A0=A0=A0=A0=A0=A0=A0=A0 (fun base ->
style=3D"font-family:= > > courier new,monospace;"> > > > >=A0=A0=A0=A0=A0=A0=A0= > >=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 let tag =3D "pa_" ^ base and > file = > >=3D "src/syntax/pa_" ^ base ^ ".cmo" in
style= > >=3D"font-family: courier new,monospace;"> > > > >=A0=A0=A0=A0=A0=A0=A0= > >=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 flag ["ocaml"; > "compile"= > > ; tag] & S[A"-ppopt"; A file];
style=3D"font-family= > >: courier new,monospace;"> new,monospace= > > ;">=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 flag > ["ocaml&qu= > > ot;; "ocamldep"; tag] & S[A"-ppopt"; A > file]; >>
> > > >=A0=A0=A0=A0=A0=A0=A0= > >=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 flag ["ocaml"; "doc"; > ta= > > g] & S[A"-ppopt"; A file];
co= > > urier new,monospace;"> new,monospace;">= > >=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 dep > ["ocaml";= > > "ocamldep"; tag] [file])
courier= > > new,monospace;"> > > > >=A0=A0=A0=A0=A0=A0=A0= > >=A0=A0=A0=A0=A0=A0=A0 > ["syntax_ext1";"syntax_ext2"]; > pan> (* add your > syntax= > > extensions here *)
new,monospace;"> > > > >=A0=A0=A0=A0=A0=A0=A0= > >=A0 | _ ->
new,monospace;"> > style=3D"font-family: courier > new,monospace;">=A0=A0=A0=A0=A0=A0=A0=A0=A0= > >=A0=A0=A0 ())

> > > >


2011/10/31 Philippe Veber dir= > >=3D"ltr">< ">philippe.veber@gma= > > il.com>
style=3D"margin:= > > 0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> > > > > S=E9bastien's suggestion is indeed a good start but alas for me not > eno= > > ugh. The build still fails at ocamldep time, because the library B (with > th= > > e syntax extension) seems not to be taken into account. If I replace my > syn= > > tax extension with some findlib package (say tyxml), the compilation > works = > > fine. So the question remains, how can I specify that a > library/executable = > > in a package depends on a syntax extension that is defined as a library > of = > > the same package?
> > > > > >
Thanks to oasisdb, I've browsed a couple of packages that could > be = > > in the same situation, like a test executable for a syntax extension, > but f= > > ound none. Maybe I'm not dealing correctly with the situation ?
> > > > > >
ph.


class=3D"gmail_quote"= > >>2011/10/31 Sebastien Mondet < sebast= > > ien.mondet@gmail.com" target=3D"_blank">sebastien.mondet@gmail.com > ><= > > /span>
> > > >
.8ex;border-left:1p= > > x #ccc solid;padding-left:1ex"> > >

Hi


I ran into > t= > > he same problem last week.
I added a line to the _tags file > after= > > the OASIS-generated stuff:

=A0 > =A0...
> > > >
> > > > > >=A0 =A0# OASIS_STOP

=A0 =A0<src/*/*.ml>: > syn= > > tax_camlp4o


(found in the > sli= > > de 18:
> > > > > > > > > >

color=3D"#888888">

Sebastien
<= > > > /font>



> v>


On Mon, Oct 31, 2011 at > 12:2= > > 3, Philippe Veber < philippe.veber@gm= > > ail.com" target=3D"_blank">philippe.veber@gmail.com> > wrote: > r> > > > > > > > > > >
.8ex;border-left:1p= > > x #ccc solid;padding-left:1ex">Hi,
I have an oasis project defining > thre= > > e inter-dependent libraries A, B and C. B is a syntax extension, and > depend= > > s on A. C depends on both A and B. I have written an _oasis file for > this, = > > which works fine if I don't use the extension in C, but fails if I > do, = > > during ocamldep (ocamldep lacks the appropriate options to understand > the n= > > ew syntax). Has anybody run into this problem ?
> > > > > > > > > > > > > >
ph.

> >

> >

> >
> > > > --20cf307abebda8d83d04b0a9e43e-- > > > > Cheers, > Sylvain Le Gall > -- > My company: http://www.ocamlcore.com > Linkedin: http://fr.linkedin.com/in/sylvainlegall > Start an OCaml project here: http://forge.ocamlcore.org > OCaml blogs: http://planet.ocamlcore.org > > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa-roc.inria.fr/wws/info/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > > --20cf307f370294b7a204b0be03d8 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Done: https://forge.ocamlcore.= org/tracker/index.php?func=3Ddetail&aid=3D1050&group_id=3D54&at= id=3D291
I find oasis particularly useful, tell me if there is something else I can = do on this.
ph.


2011/11/2 Sylvain = Le Gall <sylvai= n@le-gall.net>
Hello,

You are indeed right, syntax extensions remain a second class citizen.
I'll need to fix that situation.

Please report this problem to the bug tracker, along with your solution
(which seems fine). I'll try to implement it in 0.3.

Cheers
Sylvain Le Gall

On 01-11-2011, Philippe Veber <philippe.veber@gmail.com> wrote:
>
> --20cf307abebda8d83d04b0a9e43e
> Content-Type: text/plain; charset=3DISO-8859-1
> Content-Transfer-Encoding: quoted-printable
>
> I found a workaround in lwt, which is to add some code in myocamlbuild.ml,
> outside the generated part, to define appropriate tags that can then b= e
> used in _tags (more generally, lwt has several interesting tricks abou= t
> oasis). For the record, here is how you can use a syntax extension
> internally, inside a package:
>
> open Ocamlbuild_plugin
>
> let () =3D3D
> =A0 dispatch
> =A0 =A0 (fun hook ->
> =A0 =A0 =A0 =A0dispatch_default hook;
> =A0 =A0 =A0 =A0match hook with
> =A0 =A0 =A0 =A0 =A0| Before_options ->
> =A0 =A0 =A0 =A0 =A0 =A0 =A0Options.make_links :=3D3D false
>
> =A0 =A0 =A0 =A0 =A0| After_rules ->
> =A0 =A0 =A0 =A0 =A0 =A0 =A0(* Internal syntax extension *)
> =A0 =A0 =A0 =A0 =A0 =A0 =A0List.iter
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(fun base ->
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 let tag =3D3D "pa_"= ; ^ base and file =3D3D "src/syntax/pa_" ^ =3D
> base
> ^ ".cmo" in
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flag ["ocaml"; "com= pile"; tag] & S[A"-ppopt"; A file];
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flag ["ocaml"; "oca= mldep"; tag] & S[A"-ppopt"; A file];
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 flag ["ocaml"; "doc= "; tag] & S[A"-ppopt"; A file];
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 dep ["ocaml"; "ocam= ldep"; tag] [file])
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0["syntax_ext1";"syntax_e= xt2"]; (* add your syntax extensions
> here *)
> =A0 =A0 =A0 =A0 =A0| _ ->
> =A0 =A0 =A0 =A0 =A0 =A0 =A0())
>
>
>
> 2011/10/31 Philippe Veber <philippe.veber@gmail.com>
>
>> S=3DE9bastien's suggestion is indeed a good start but al= as for me not enoug=3D
> h.
>> The build still fails at ocamldep time, because = the library B (with the
>> syntax extension) seems not to be taken into account. If I replace= my
>> syntax extension with some findlib package (say tyxml), the compil= ation
>> works fine. So the question remains, how can I specify that a
>> library/executable in a package depends on a syntax extension that= is
>> defined as a library of the same package?
>>
>> Thanks to oasisdb, I've browsed a couple of packages that coul= d be in the
>> same situation, like a test executable for a syntax extension, but= found
>> none. Maybe I'm not dealing correctly with the situation ?
>>
>> ph.
>>
>>
>> 2011/10/31 Sebastien Mondet <sebastien.mondet@gmail.com>
>>
>>>
>>> Hi
>>>
>>>
>>> I ran into the same problem last week.
>>> I added a line to the _tags file after the OASIS-generated stu= ff:
>>>
>>> =A0 =A0...
>>> =A0 =A0 # OASIS_STOP
>>>
>>> =A0 =A0<src/*/*.ml>: syntax_camlp4o
>>>
>>>
>>> (found in the slide 18:
>>> http://oasis.forge.ocamlcore.org/documentation.html= )
>>>
>>>
>>> Sebastien
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Oct 31, 2011 at 12:23, Philippe Veber <philippe.veber@gmail.com>=3D
> wrote:
>>>
>>>> Hi,
>>>> I have an oasis project defining three inter-dependent lib= raries A, B
>>>> and C. B is a syntax extension, and depends on A. C = depends on both A a=3D
> nd
>>>> B. I have written an _oasis file for this, which works fin= e if I don't =3D
> use
>>>> the extension in C, but fails if I do, during ocamldep (oc= amldep lacks =3D
> the
>>>> appropriate options to understand the new syntax). Has any= body run into
>>>> this problem ?
>>>>
>>>> ph.
>>>>
>>>>
>>>
>>
>
> --=3D20
> Caml-list mailing list. =A0Subscription management and archives:
> https://sympa-roc.inria.fr/wws/info/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports:
http://caml.inria.fr/bin/caml-bugs
>
>
> --20cf307abebda8d83d04b0a9e43e
> Content-Type: text/html; charset=3DISO-8859-1
> Content-Transfer-Encoding: quoted-printable
>
> I found a workaround in lwt, which is to add some code in <a href= =3D3D"http:/=3D
> /myocamlbuild.ml<= /a>">myocamlbu= ild.ml</a>, outside the generated part, to defin=3D
> e appropriate tags that can then be used in _tags (more generally, lwt= has =3D
> several interesting tricks about oasis). For the record, here is how y= ou ca=3D
> n use a syntax extension internally, inside a package:<br>
>
><br><span style=3D3D"font-family: courier new,monospace;&= quot;>open Ocamlbuild_plu=3D
> gin</span><br style=3D3D"font-family: courier new,monosp= ace;"><br style=3D3D"fo=3D
> nt-family: courier new,monospace;"><span style=3D3D"fo= nt-family: courier new,=3D
> monospace;">let () =3D3D</span><br style=3D3D"fo= nt-family: courier new,monospac=3D
> e;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0 dispatch</span><br =3D
> style=3D3D"font-family: courier new,monospace;"><span = style=3D3D"font-family: c=3D
> ourier new,monospace;">=3DA0=3DA0=3DA0 (fun hook -&gt;<= /span><br style=3D3D"font-fa=3D
> mily: courier new,monospace;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 disp=3D
> atch_default hook;</span><br style=3D3D"font-family: cou= rier new,monospace;">=3D
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 matc=3D
> h hook with</span><br style=3D3D"font-family: courier ne= w,monospace;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0 | Before_options -&gt;</span><br style=3D3D"fon= t-family: courier new,mono=3D
> space;"><span style=3D3D"font-family: courier new,mono= space;">=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 Options.make_links :=3D3D false<= /span><br style=3D3D"font=3D
> -family: courier new,monospace;">
>
><br style=3D3D"font-family: courier new,monospace;"><= ;span style=3D3D"font-famil=3D
> y: courier new,monospace;">=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0= =3DA0 | After_rules -&gt;</sp=3D
> an><br style=3D3D"font-family: courier new,monospace;"= ><span style=3D3D"font-fa=3D
> mily: courier new,monospace;">=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 (* Inter=3D
> nal syntax extension *)</span><br style=3D3D"font-family= : courier new,monospa=3D
> ce;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0 List.iter</span><br style=3D3D"= font-family: courier new,monos=3D
> pace;"><span style=3D3D"font-family: courier new,monos= pace;">=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 (fun base -&gt;</s= pan><br style=3D3D"font-family:=3D
> =A0courier new,monospace;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 let tag =3D3D &q= uot;pa_&quot; ^ base and file =3D
>=3D3D &quot;src/syntax/pa_&quot; ^ base ^ &quot;.cmo&qu= ot; in</span><br style=3D
>=3D3D"font-family: courier new,monospace;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 flag [&quot;ocam= l&quot;; &quot;compile&quot;=3D
> ; tag] &amp; S[A&quot;-ppopt&quot;; A file];</span>&= lt;br style=3D3D"font-family=3D
>: courier new,monospace;"><span style=3D3D"font-family:= courier new,monospace=3D
> ;">=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA= 0=3DA0=3DA0=3DA0=3DA0=3DA0 flag [&quot;ocaml&qu=3D
> ot;; &quot;ocamldep&quot;; tag] &amp; S[A&quot;-ppopt&= amp;quot;; A file];</span=3D
>><br style=3D3D"font-family: courier new,monospace;">= ;
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 flag [&quot;ocam= l&quot;; &quot;doc&quot;; ta=3D
> g] &amp; S[A&quot;-ppopt&quot;; A file];</span><b= r style=3D3D"font-family: co=3D
> urier new,monospace;"><span style=3D3D"font-family: co= urier new,monospace;">=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0= =3DA0=3DA0=3DA0 dep [&quot;ocaml&quot;;=3D
> =A0&quot;ocamldep&quot;; tag] [file])</span><br style= =3D3D"font-family: courier=3D
> =A0new,monospace;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0 [&quot;syntax_ext1&quot;;&a= mp;quot;syntax_ext2&quot;];</s=3D
> pan> <span style=3D3D"font-family: courier new,monospace;&q= uot;>(* add your syntax=3D
> =A0extensions here *)</span><br style=3D3D"font-family: = courier new,monospace;">
>
><span style=3D3D"font-family: courier new,monospace;">= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0 | _ -&gt;</span><br style=3D3D"font-family: cou= rier new,monospace;"><span=3D
> =A0style=3D3D"font-family: courier new,monospace;">=3DA0= =3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3DA0=3D
>=3DA0=3DA0=3DA0 ())</span><br style=3D3D"font-family: cou= rier new,monospace;">
>
><br><br><br><div class=3D3D"gmail_quote"= >2011/10/31 Philippe Veber <span dir=3D
>=3D3D"ltr">&lt;<a href=3D3D"mailto:philippe.veber@gmail.com">phil= ippe.veber@gma=3D
> il.com</a>&g= t;</span><br><blockquote class=3D3D"gmail_quote" s= tyle=3D3D"margin:=3D
> 0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
>
> S=3DE9bastien&#39;s suggestion is indeed a good start but alas for= me not eno=3D
> ugh. The build still fails at ocamldep time, because the library B (wi= th th=3D
> e syntax extension) seems not to be taken into account. If I replace m= y syn=3D
> tax extension with some findlib package (say tyxml), the compilation w= orks =3D
> fine. So the question remains, how can I specify that a library/execut= able =3D
> in a package depends on a syntax extension that is defined as a librar= y of =3D
> the same package?<br>
>
>
><br>Thanks to oasisdb, I&#39;ve browsed a couple of packages = that could be =3D
> in the same situation, like a test executable for a syntax extension, = but f=3D
> ound none. Maybe I&#39;m not dealing correctly with the situation = ?<br>
>
>
><br>ph.<div><div></div><div class=3D3D"= h5"><br><br><div class=3D3D"gmail_quote"= =3D
>>2011/10/31 Sebastien Mondet <span dir=3D3D"ltr">&am= p;lt;<a href=3D3D"mailto:sebast=3D
> ien.mondet@gmail.com"= target=3D3D"_blank">sebastien.mondet@gmail.com</a>&gt;<=3D
> /span><br>
>
><blockquote class=3D3D"gmail_quote" style=3D3D"margin= :0 0 0 .8ex;border-left:1p=3D
> x #ccc solid;padding-left:1ex">
><div><br></div><div>Hi</div><div>&l= t;br></div><div><br></div><div>I ran into = t=3D
> he same problem last week.</div><div>I added a line to the= _tags file after=3D
> =A0the OASIS-generated stuff:</div><div><div><br&= gt;</div><div>=3DA0 =3DA0...</div>
>
><div>
>
>
>=3DA0 =3DA0# OASIS_STOP</div><div><br></div><= ;div>=3DA0 =3DA0&lt;src/*/*.ml&gt;: syn=3D
> tax_camlp4o</div></div><div><br></div>&l= t;div><br></div><div>(found in the sli=3D
> de 18:</div><div><a href=3D3D"http://oasis.f= orge.ocamlcore.org/documentation.=3D
> html" target=3D3D"_blank">http://oasis.for= ge.ocamlcore.org/documentation.html=3D
></a>=3DA0)</div>
>
>
>
>
><div><br></div><font color=3D3D"#888888"= ><div><br></div><div>Sebastien</div><= =3D
> /font><div><div></div><div><div><b= r></div><div><br></div><div><br><= /div><di=3D
> v><br></div><br><br><div class=3D3D"= ;gmail_quote">On Mon, Oct 31, 2011 at 12:2=3D
> 3, Philippe Veber <span dir=3D3D"ltr">&lt;<a hr= ef=3D3D"mailto:philippe.veber@gm<= /a>=3D
>
ail.com" target= =3D3D"_blank">phil= ippe.veber@gmail.com</a>&gt;</span> wrote:<b=3D
> r>
>
>
>
>
><blockquote class=3D3D"gmail_quote" style=3D3D"margin= :0 0 0 .8ex;border-left:1p=3D
> x #ccc solid;padding-left:1ex">Hi,<br>I have an oasis pr= oject defining thre=3D
> e inter-dependent libraries A, B and C. B is a syntax extension, and d= epend=3D
> s on A. C depends on both A and B. I have written an _oasis file for t= his, =3D
> which works fine if I don&#39;t use the extension in C, but fails = if I do, =3D
> during ocamldep (ocamldep lacks the appropriate options to understand = the n=3D
> ew syntax). Has anybody run into this problem ?<br>
>
>
>
>
>
>
><br>ph.<br><br>
></blockquote></div><br>
></div></div></blockquote></div><br>
></div></div></blockquote></div><br>
>
> --20cf307abebda8d83d04b0a9e43e--
>

Cheers,
Sylvain Le Gall
--
My company: http://w= ww.ocamlcore.com
Linkedin: =A0 http://fr.linkedin.com/in/sylvainlegall
Start an OCaml project here: http://forge.ocamlcore.org
OCaml blogs: =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http://planet.ocamlcore.org



--
Caml-list mailing list. =A0Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


--20cf307f370294b7a204b0be03d8--