Depending on external libraries
Thu Mar 11 18:36:14 PST 2004
Egbert Eich <email@example.com> wrote:
> That's what I call 'external dependencies'.
> Freetype: probably available on many systems nowdays.
> It was however required to build the Xserver module
> and still is if you don't want to build an .so module.
> Freetype is explicitely desinged to be included
> in projects and reconfigured for their purposes.
> libxml: is gone. I've just deleted the last remains.
> Expat: convenience.
> zlib: can probably go. available almost everywhere today. convenience.
> Mesa: The DRI client libs still have some strong dependencies into Mesa.
> I don't know when this is going to change. As soon as it does we
> can make it optional.
I don't think you can remove Mesa from the core X server source code. In
fact I would argue that Mesa and DRI should in fact be merged *into* the
core X server source code tree (as in CVS tree - it can still be built
modularly). The 3D code in X is broken up into two pieces. One piece is
the client side GLX libraries and the other piece is the back end 3D
rendering drivers. The back end code is tightly integrated with the 2D
display driver modules (as it should be), so it is important that both of
those modules are shipped and built together.
IMHO the primary reason why DRI exists in a separate place today is
because the DRI developers didn't get the access to the XFree86 tree that
they needed. Perhaps now is the time to merge the projects into one CVS
BTW, the other reason why I think it is important to at least provide the
ability for externally dependent libs to be included in an official
tarball, is for minimal platform support such as industrial and embedded
platforms. There is nothing to stop X working on industrial and embedded
platforms, but I would hate for those developers to have to require an
entire *nix install just to be able to build the X server they want.
Perhaps part of the solution would be to build a system such that
externally dependant libraries are developed and maintained elsewhere,
yet when a tarball source release is done for the X server, the sources
necessary for the dependent libs can be pulled down via CVS from external
sources? If there is a proper versioning system implemented so that the
tarball build process knows exactly what CVS 'tag' is required for this
server release to bring down the libs.
Then you can provide a clean build environment for casual developers who
just grab the tarball, and require developers using CVS to use jhbuild or
whatever to grab and build the appropriate pieces (ie: core developers
and distro vendors etc).
Chief Executive Officer
SciTech Software, Inc.
Phone: (530) 894 8400
~ SciTech SNAP - The future of device driver technology! ~
More information about the release-wranglers