On 2014-08-26, 11:54 PM, Mike Hommey wrote:
On Tue, Aug 26, 2014 at 11:34:29PM -0400, Ehsan Akhgari wrote:
On 2014-08-26, 6:05 PM, Mike Hommey wrote:
On Tue, Aug 26, 2014 at 10:40:39AM -0400, Ehsan Akhgari wrote:
Well, reading this thread, it doesn't seem mach build dir is broken for
the use people make of it, which is to build in a single directory. What
people want apparently, is more being able to build a single file or set
of files, more than a directory and its subdirectories.
And ninja is not going to change anything for people wanting to rebuild
a few files when changing a header. In fact, it would likely make things
harder for them.
Not at all, quite to the contrary. You can build specific targets with
ninja just fine, and it's non-recursive and fast and all. :-)
You can't say "build all things in foo and its subdirectories", can you?
I think you can. As an example from the clang's generated ninja build
system, they have targets such as:
https://gist.github.com/ehsan/02bb4f129e72dad5ee52
Basically I think you are able to define a tree of targets, which can map to
the file and directory structure of the source dir.
That's nice, but that doesn't map to what people want here (and we have
dependencies close to what you pasted here in our build system, but it's
not exposed).
What you could do, i guess, is have phony targets for directories,
listing all the corresponding object files. IOW, you won't have that
working magically without writing code to make it so. Not that it's a
problem, but it just means it's a use-case you'd have to have in mind
when writing a ninja backend. Same problem with the make backend.
Yes, that's true. This is definitely something that we need to support
explicitly.
The question then becomes, what is really the usecase people want,
because they've been relying on weird properties of the build system for
eons, and expect that to keep working.
Isn't the use case building the object files in a directory recursively?
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform