[Omake] Dependency scanning problem (default scanners)

Aleksey Nogin nogin at metaprl.org
Mon Apr 9 09:47:42 PDT 2007


Jonathan,

I've tried creating a very simple test case along the lines of your 
OMakefile, but so far was unable to reproduce the problem.

Could you may be try running "omake --verbose -debug-scanner -debug-deps 
-j1 --depend" and see if it prints any more useful stuff?

Thanks!

Aleksey

On 08.04.2007 22:29, Jonathan Roewen wrote:

> 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
>> >
>>
>>
> _______________________________________________
> Omake mailing list
> Omake at metaprl.org
> https://lists.metaprl.org/mailman/listinfo/omake
> 



More information about the Omake mailing list