On Fri, 2009-02-06 at 12:32 +0000, Joseph S. Myers wrote: > On Fri, 6 Feb 2009, Sean Callanan wrote: > > > - Modify the GCC link process to use libltdl and libtool -export-dynamic > > Although this may make theoretical sense in terms of the work for a > cross-platform implementation already being done, I doubt it's a good idea > in practice if you want plugin-enabled GCC to be widely buildable and the > binaries not to be very closely tied to the exact system on which they > were built. (For example, for a while it was impossible to build current > versions of guile on systems with current versions of libtool installed > because of incompatible changes to libltdl,
IOH, the test part of the guile build was not adequate/sufficient. The plugin implementation will have a good test coverage. > and I don't have much > confidence in future compatibility of libltdl, or of it working reliably > with GCC unless GCC always builds its own GCC-specific copy and links > against it using -Wl,-rpath,(something involving $ORIGIN). I also don't > see support for $ORIGIN in libtool, but toolchain relocatability means > that absolute RPATH settings must not be used when linking GCC.) Each plugin must do minimum checking for libraries compatibilities on the libltdl library they want to used. > I'd suggest we simply put the host-dependent code in GCC, appropriately > conditional, add code for more hosts as and when people wish to support > them with plugins, and make sure that plugin-disabled builds continue to > work for all hosts. There will undoubtedly be GCC-specific build system > changes needed for such things as building almost everything into a DLL > for Windows systems so that plugins on Windows can access symbols from > GCC (I understand from the previous discussions that this will be > necessary) and I doubt libtool would make such changes any easier. Just want to add that it is supposed to be the libtool's responsibility to resolve quirks, platforms, distribution problems. Well, i means i want the linking mechanism for plugin.