On 04/18/2011 09:01 AM, Rob Savoye wrote:
On 04/18/11 02:32, Andrew Guertin wrote:
Why do you often build only a directory or two?
For example, lately I've been doing much hacking on librender, so
often just do "make -C librender&& gui/fb-gnash -vv test.swf". Since
it's a small library, it recompiles quickly. If you look at the hwaccel
branch, you can see that while all top level libraries build
recursively, all the sub directories do use non-recursive Makefiles. I
think it's this hybrid technique that works best.
So it looks like you're mainly using it to hack around the normal build method
to gain speed.
I call this a hack because it's fragile and requires a knowledgeable developer
to know when it's permissible and when a full rebuild is required (e.g. in the
case of any API/ABI changes), but when it is used with caution, it does provide
the speed benefit.
My expectation is that switching to non-recursive would provide enough of a
speed increase to nearly equal the current hack: the major culprits of
traversing unchanged directories and linking objects multiple times would be
removed. Also, even those without the ability to determine if the hack is safe
(e.g. buildbot) would benefit.
Would you be willing to change your workflow if a switch does speed things up
enough?
(Note that another option is to move to non-recursive, but keep all the
libraries as-is. This would allow your workflow to remain almost identical.
[librender would be a target in the top level (only) makefile, so you would run
something like "make libgnashrender.la" instead of "make -C librender".] I don't
recommend it, though; better is to speed things up enough that hacks aren't
necessary.)
--
dolphinling
<http://dolphinling.net/>
_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev