libXcursor and its dependencies

Andrew Guertin andrew.guertin at
Mon May 7 14:57:57 PDT 2012

There's been a bunch of talk recently about libXcursor and its
(potentially unneeded) dependencies. There was some talk about splitting
it up, and/or creating a libwlcursor. I looked into this a bit, and
found the following:

Every function in the api (in Xcursor.h) falls into one of two categories:

1) Reading and writing cursor files, or
2) Dealing with X: checking server capabilities, telling the server to
use a cursor, etc.

The two categories are even quite well split up: most files contain
implementations of functions from only one category; only one file
implements functions from both categories.

Based on this, I think it would, in fact, be quite easy to solve the
problem of unwanted dependencies. There are two possible solutions I can

i) Split libXcursor into two libraries, with the X-related one depending
on the non-X-related one
ii) Add a configure option to not build the X-related code

ii would be extremely easy; i would require a bit more thought in terms
of how it would affect packagers and eventual work to deal with
infrastructure and get the new library in distributions.

Thoughts? Opinions?

--Andrew (dolphinling)

More information about the wayland-devel mailing list