[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