On Sun, 01 Apr 2012 16:41:09 -0400 Diego Novillo <dnovi...@google.com> wrote:
> On 3/31/12 1:51 PM, Basile Starynkevitch wrote: > > > If we want to aim towards a more modular GCC made of several shared > > libraries, it seems > > that we are requiring the host system to have dynamic libraries (which is > > not a big deal > > today; all the major OSes running on developers desktop or laptop have > > them). > > I don't follow. Modularity does not require shared libraries. Indeed, but when GCC is made of several shared libraries, it would be modular, since each such shared library would be defined by a module. (I mean that modules are a design thing existing at the source level, and each shared library would implement one module; look into GTK/Gnome to feel what I mean: Pango, Glib, Gio, Atk, .... are modules there and have libpango.so, libglib.so, libgio.so, libatk.so ... at runtime..). > > > In that case, I think that we should always --enable-plugin at configure > > time, hence > > making that configure switch useless (since always on). > > Plugins are auto-detected on systems that support it and always enabled. I've heard that some Linux distributions (perhaps some version of RedHat?) explicitly configure with --disable-plugin > > > More generally, I would like a description, or a list of host systems for > > GCC. What kind > > of system services [e.g. dlopen, time, ...] to we require GCC to access to? > > The plugin support detection already asks these questions to the host > system. But the GCC contributor, and the plugin developer, needs a textual resource (i.e. a set of header files, or a documented list of functions) of what functions are usable. Current libiberty is a silly joke for plugin developers. Some functions from libiberty are not callable from a plugin (because libiberty is statically linked inside cc1, and some functions thus disappear; concretely a plugin cannot call pex_execute or xstrndup for instance). Cheers. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359 8, rue de la Faiencerie, 92340 Bourg La Reine, France *** opinions {are only mine, sont seulement les miennes} ***