Hi Many of you have been sending me private emails asking what's the deal with xenocara libs that change WANTLIB lines in many ports that use X11.
Here's a short explanation of the differences between shared libs in XF4 and xenocara that should help you understanding and fixing issues. First, X shared libs have always been linked against other libs they depend on. We weighted the pros and cons of this serveral times and decided to keep this, although in an ideal world we could get rid of those inter-libraries links (the NEEDED lines in objdump -p). In XF4, inter-libraries dependencies were described in the imake configuration file called bsdLib.tmpl. We've been tried to keep this file accurate, but it had some inaccuries of his own. In xenocara, most libraries are built with GNU autotools and pkg-config. That means that inter-libraries dependencies are described in the configure.ac script (using PKG_CHECK_MODULES, AC_CHECK_LIBS or other tricks) and Makefile.am. When converting from the monolith to the modular build system, X.Org people tried to convert the dependencies listed in the various lib*.tmpl files for different systems to pkg-config data files and configure.ac tests. There have been some errors in this process, I've fixed some of them already but the new depencies are still not 100% accurate. One big change in xenocara is that in X11R7.2 libX11 no longer includes private copies of libXdmcp and libXau as it did before. So now libX11 is linked against libXau and libXdmcp and *every* application that uses libX11 also needs those 2 libs. This is not a bug. Other changes in the WANTLIB lines should be inspected individually to get the exact tree of dependencies that trigger the changes to be able to tell if it's bogus or not. Don't hesitate to post your findings here or to x11@ if you find some dependencies that looks bogus. For instance libxkbui now depends on libXt (and its dependencies) and this looks wrong. -- Matthieu Herrb
