OK, so here's another take at this problem:
https://github.com/mozilla/pymake/pull/21

I realize it seems a little aggressive, but by merging all these
intedependent modules (data, parser, parserdata, command, functions) into
one, the problem naturally disappears.

This was inspired by Benjamin's comment:

> This is mostly inherent in the make processing model itself. Because of
$(eval),
> function evaluation has a "backwards" dependency on the parser module.

-- I realized that if Make concepts leak so freely between layers, we might
as well go with it. Given this structure as a base, it's probably possible
to extract independent parts into their own modules.

I understand if this seems like a problematic change overall, but I've been
able to pass the tests based with a few isolated changes on top of this
patch.

Now that circular dependencies are broken and qualified imports are
possible, making a pip-compatible package should be a no-brainer as well.

What do you think?

- Kim
_______________________________________________
dev-builds mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-builds

Reply via email to