lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Fri, Mar 8, 2013 at 11:08 AM, Sean Conner <sean@conman.org> wrote:
>   I would think any header file that exists outside the top level directory
> of your project can be pruned.  At the very least, on a Unix system, any
> header file in "/usr/include", "/usr/local/include" and /opt/include" could
> be removed.

With GCC, I use -MMD to get the used include files, and this option is
clever enough to exclude any system includes. The MSVC equivalent is
/ShowIncludes and it isn't clever, so that output gets pruned.

No, the real problem is that you get very big dependency graphs, and
checking whether a node has change involves checking whether any child
node has changed. The obvious thing is to cache this information so
one isn't needlessly checking branches.  I intend to do some
experiments along this direction this weekend.

I am _very_ aware that this must be complete old-hat and
well-understood. Currently the biggest Lake project is LuaBuild, and
there's about 43 KLoc involved with 80 files, and it takes lake about
half-a-second to work out if something has changed.  That isn't good
enough.

steve d.