On Fri, 14 Nov 2008, Brian Dessent wrote:

> "Joseph S. Myers" wrote:
> 
> > As I understand it, there is an alternative - put all the shared code in a
> > DLL on Windows if configuring with plugins enabled, and link both the
> > plugins and cc1, cc1plus etc. with that DLL.  If people wish to enable
> 
> The problem with that approach is that people have so far said they want
> access to every aspect of the compiler from within the plugin, i.e. to
> poke and prod at the full symbol table, without being tied down by a
> limited, designated access route of a plugin API.  This means you'd have
> to move essentially everything into this mega-DLL, leaving cc1 and
> friends as merely stubs that set a flag and then call into the DLL never
> to return, since anything left in cc1 would not be accessible from the
> plugin.
> 
> That would present a problem to packagers.  Since the code for all the
> language backends would be in this one mega-DLL, it would be impossible
> to install one language's compiler without installing all of them. 
> Sure, you could still split it up into separate packages for the sake of
> the other runtime library support components and headers, but the user
> would still be paying the price in terms of disk and memory consumption
> of this mega-DLL that supports all languages when only using one of
> them.

Is there some reason there couldn't be one DLL for the code shared between 
all languages and separate DLLs with each language's front end code?  So a 
plugin that only plugs in to the language-independent code would only need 
the common DLL, and only plugins for front ends would need that front 
end's DLL.  cc1 would load just the two DLLs for C and for shared code, 
not all of them.

-- 
Joseph S. Myers
[EMAIL PROTECTED]

Reply via email to