On 6/24/14, 1:20 PM, Kim Gräsman wrote:
On Tue, Jun 24, 2014 at 9:53 PM, Benjamin Smedberg
<[email protected]> wrote:

On 6/24/2014 3:39 PM, Kim Gräsman wrote:

The message I'm hearing is that you _do_ see a future for pymake, and
would rather not rip out a separate project, is that right?

"future" is a strong word. Mozilla is unlikely to make future improvements
to the project, but it mostly-works now.

So to the extent that we can improve  the current code and avoid multiple
forks, having a shared codebase is usually a win for everyone.

Makes perfect sense, and I agree that a single codebase is better.

There are certainly makefile evaluation patterns that aren't statically
analyzable: $(eval) in particular can change things. But it's definitely
possible to statically parse a makefile and its variables into an IR and
often that's enough to do interesting transforms. Worse is better ;-)

:-) We're looking at pretty simple pared-down variable definitions +
conditionals, so I think we can get by with the IR, but I'd have to
play with it to make sure.

As for a fork, here are some things I need to know before I can get down to it:

- Is the master repo at
http://hg.mozilla.org/users/bsmedberg_mozilla.com/pymake/?

Yes.

- Can I ask questions on this list? Send patches for review?

I vote for converting the repo to Git and throwing it up at github.com/mozilla/pymake.

Benjamin?

- How careful do I need to be with library structure stability? Do you
have a lot of Python code using pymake as a library or is the make.py
driver the primary entry point? I'd like to start with setuptools
packaging for pymake, and that would require some cleaning up of
imports (e.g. ``import pymake.data`` instead of ``import data``.)

We have a few tools that talk to the internals, but nothing major. Unless you are doing crazy refactoring (which I doubt you'll want to due to the complexities of pymake), I don't think rebasing will be much trouble. As long as you don't change the version of pymake in Firefox's repo, I don't think anyone at Mozilla will care.

- If I can get packaging set up, I'd like to have pymake published to
pypi. Unfortunately, there's already a pymake on there
(https://pypi.python.org/pypi/pymake/0.9) but it looks abandoned, so I
could figure something out with the author.

+1

- How do I test it? I found a tests/runtests.py; is that sufficient?
Hoping I don't have to build Firefox after every change.

pymake has its own test suite that is independent of Firefox.

- Performance implications -- if I make changes and inadvertently
worsen performance, can I find out somehow, or will people just hate
me?

pymake is already way slower than make. I doubt you will make it much worse. Building Firefox is a great stress test of pymake. Even just building a single directory (like dom/, content/, or toolkit/) would be a good benchmark.
_______________________________________________
dev-builds mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-builds

Reply via email to