[PATCH] Allow multiple modules with the same name to coexist in the module cache

Richard Smith richard at metafoo.co.uk
Mon Mar 31 16:44:21 PDT 2014


On Mon, Mar 31, 2014 at 4:23 PM, Argyrios Kyrtzidis <kyrtzidis at apple.com>wrote:

> >
> > What I'm suggesting is:
> >
> > 1) Drop the -I paths that are earlier than the module in the header
> search path when building the module
> > 2) Include the rest of the header search paths in the configuration hash
> for the module
>
> This will prevent us from sharing system modules across projects, and, as
> Ben already mentioned, will result in an explosion of module files, even
> within the same project.
>

Why? System modules would only have system include paths, and these would
usually be the same across projects, right?

Even if we include the search paths in the module hash we will still need
> to re-lookup the module dependencies before loading the module, because a
> new module.map may have showed up somewhere in the search paths since the
> time we built the module; unless I'm missing something, I don't see any
> benefit in including the header search paths in the hash.


The hash should include everything that affects the way the module is
built. If we're transferring include paths from the user of the module to
the module build, the hash should include those paths, or two modules with
different search paths could collide in the cache.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140331/65c568b7/attachment.html>


More information about the cfe-commits mailing list