xserver autotools questions

Dan Nicholson dbn.lists at gmail.com
Mon May 24 12:01:21 PDT 2010


Hi Jamey,

On Sun, May 23, 2010 at 10:34 AM, Jamey Sharp <jamey at minilop.net> wrote:
> Hey all,
>
> First, it's been bugging me that a full build of the X server takes so
> long, since I keep changing header files that are used everywhere. I
> believe switching to non-recursive automake and killing the
> intermediate libraries for each subdirectory would help a lot, but
> when I tried to test that hypothesis, the mass of configure.ac
> declarations defeated me. Can any autotools experts help me out here?

I don't see what non-recursive has to do with it. Automake has
automatic dependency generation that will cause source files to be
recompiled if headers are updated. Non-recursive directories doesn't
change that one bit.

The convenience libraries for each subdirectory also don't affect
things. The dependency is created at the source file level. It doesn't
matter if the source file becomes part of a convenience library or
not. It will be recompiled if a header file it depends on is updated.
That will obviously trigger other relinks wherever that source file or
convenience library is used.

There are reasons to do non-recursive make. However, I don't think
this is one of them.

> Second, I want to factor out code that's shared between two or more
> DDXes into a common place. My first target is merging
> dmxComputeScreenOrigins with xf86InitOrigins, because I had to make
> almost-identical edits to both for a MAXSCREENS removal patch I just
> built. Where should that go, and how do I get autotools to link it
> correctly?

Making a convenience library out of the common source files with
noinst_LTLIBRARIES? Of course, that appears to be the part you're
trying to avoid above. But the linking is that you just add it to
_SOURCES for whatever _PROGRAMS or _LTLIBRARIES it needs to be in.

--
Dan


More information about the xorg-devel mailing list