Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ocamldep generates circular dependencies which don't exist #4618

Closed
vicuna opened this issue Oct 2, 2008 · 1 comment
Closed

ocamldep generates circular dependencies which don't exist #4618

vicuna opened this issue Oct 2, 2008 · 1 comment
Assignees
Labels
Milestone

Comments

@vicuna
Copy link

vicuna commented Oct 2, 2008

Original bug ID: 4618
Reporter: Julien Signoles
Assigned to: @alainfrisch
Status: closed (set by @xavierleroy on 2015-12-11T18:07:27Z)
Resolution: not fixable
Priority: normal
Severity: minor
OS: Linux Ubuntu
Version: 3.10.2
Target version: 4.01.0+dev
Category: ~DO NOT USE (was: OCaml general)
Related to: #8427 #4081 #7470

Bug description

Hello,

Consider the following files a.ml and b.ml:

=== a.ml ===
module B = struct end
=== b.ml ===
open A
open B

$ ocamldep a.ml b.ml
b.cmo: b.cmo a.cmo
b.cmx: b.cmx a.cmx

Additional information

ocamldep has not the same scope rules for modules than ocaml[c|opt].

This bug is related to bugs #1996 and #4081 but here circular dependencies are generated and GNU make complains...

@vicuna
Copy link
Author

vicuna commented Oct 2, 2008

Comment author: ertai

(Just my 2cents)

That's a "well known" problem of ocamldep, moreover it's very hard to avoid.

Indeed to know what contains a module without typing it unfeasible (however an approximation could), and the goal of ocamldep is to run before compiling files.

I've already thought about solutions of this problem (better approximations) but never took the time to push it forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants