[Omake] Dependency scanning problem (default scanners)
Jonathan Roewen
jonathan.roewen at gmail.com
Sun Apr 8 22:29:36 PDT 2007
Uh, whoops. I forgot I had commented out a line ;-) So ignore the ../
part, since $(basename) gets rid of that...
Here's something more useful:
run_scanner <scanner kernel/parsing/scan-ocaml-syntaxerr.mli>
to tmp file /tmp/omake81033e.deps:
<compute 4 value dependencies>
ocamldep -I . -I ../utils -I . -I ../typing -I ../bytecomp -I
../driver -I ../stdlib syntaxerr.mli
Saving dependencies: <scanner kernel/parsing/scan-ocaml-syntaxerr.mli>
scanned deps: kernel/syntaxerr.cmi: kernel/location.cmi stdlib/format.cmi
finish_scanner <scanner kernel/parsing/scan-ocaml-syntaxerr.mli>:
kernel/syntaxerr.cmi: kernel/location.cmi stdlib/format.cmi
So perhaps it's how the ocamldep output is being processed. From what
I can tell, ocamldep is being run in the kernel/parsing directory, not
kernel directory from the includes passed to it.
Output from ocamldep done manually in kernel/parsing:
syntaxerr.cmi: location.cmi ../stdlib/format.cmi
And from kernel:
parsing/syntaxerr.cmi: parsing/location.cmi stdlib/format.cmi
Jonathan.
On 4/9/07, Jonathan Roewen <jonathan.roewen at gmail.com> wrote:
> Ooh, I think I'm getting closer...
>
> It appears to be adding extra ../ to the filenames....
>
> And this time I've really attached my kernel/OMakefile ;-)
>
> And another with the last few lines of -debug-scanner output (I added
> two echoes to OCamlScannerTargets as well).
>
> Doesn't seem to like my .SUBDIRS-fu =/
>
> Jonathan
>
> On 4/9/07, Aleksey Nogin <nogin at metaprl.org> wrote:
> > Jonathan,
> >
> > Thanks a lot for the bug report - this definitely seems like something
> > potentially very nasty. I would appreciate any additional information
> > you could provide that might help me in tracking this down.
> >
> > Thanks!
> >
> > Aleksey
> >
> > On 08.04.2007 15:44, Jonathan Roewen wrote:
> >
> > > Hi,
> > >
> > > I seem to have found a bug in dependency scanning... =/
> > >
> > > start_scanner: target dependencies are accurate <scanner
> > > kernel/bytecomp/scan-ocaml-lambda.mli>:
> > > scanner's build deps: <phony <OCamlGeneratedFilesTarget>>
> > > kernel/bytecomp/lambda.mli
> > > scanned deps:
> > > kernel/lambda.cmi: parsing/asttypes.cmi parsing/location.cmi
> > > stdlib/set.cmi typing/env.cmi typing/ident.cmi typing/path.cmi
> > > typing/primitive.cmi typing/types.cmi
> > > finish_scanner <scanner kernel/bytecomp/scan-ocaml-lambda.mli>:
> > > kernel/lambda.cmi: parsing/asttypes.cmi parsing/location.cmi
> > > stdlib/set.cmi typing/env.cmi typing/ident.cmi typing/path.cmi
> > > typing/primitive.cmi typing/types.cmi
> > > - build kernel/bytecomp lambda.cmi
> > > + ../../toolchain/ocaml/ocamlc -nostdlib -I . -I ../utils -I
> > > ../parsing -I ../typing -I . -I ../driver -I ../stdlib -c lambda.mli
> > > File "lambda.mli", line 17, characters 0-13:
> > > Unbound module Asttypes
> > >
> > > As you can see in scanned deps: it's putting the dependencies on
> > > kernel/lambda.cmi. The correct target is kernel/bytecomp/lambda.cmi =/
> > >
> > > I'vel attach my OMakefile for completeness.
> > >
> > > bytecomp/Files.om:
> > >
> > > COMP = $(file lambda printlambda typeopt switch matching \
> > > translobj translcore translclass translmod simplif runtimedef)
> > >
> > > BYTECOMP = $(file meta instruct bytegen printinstr opcodes \
> > > emitcode bytesections dll symtable bytelink bytelibrarian \
> > > bytepackager)
> > >
> > > Note that other files get scanned fine up to that point.
> > >
> > > Using omake 0.9.8.1
> > >
> > > Jonathan
> > > _______________________________________________
> > > Omake mailing list
> > > Omake at metaprl.org
> > > https://lists.metaprl.org/mailman/listinfo/omake
> > >
> >
> > _______________________________________________
> > Omake mailing list
> > Omake at metaprl.org
> > https://lists.metaprl.org/mailman/listinfo/omake
> >
>
>
More information about the Omake
mailing list