[PATCH all drivers] config: set more appropriate default drivers location

Dan Nicholson dbn.lists at gmail.com
Wed Mar 24 11:25:06 PDT 2010

On Wed, Mar 24, 2010 at 11:11 AM, Gaetan Nadon <memsize at videotron.ca> wrote:
> The current value is based on $lib which is based on the driver package
> $prefix. The driver object code will be installed in the correct xserver location
> only if both the driver package and the xserver package have the same prefix.
> This patch obtains the drivers object code location from the installed xserver
> package through the xorg-server.pc file. The server default location for drivers
> object code is based on its own $lib but this may have been changed at configuration
> time (using with-module-dir). In any case, the resulting net location is returned.
> Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
> ---
>  configure.ac |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> diff --git a/configure.ac b/configure.ac
> index c1fae22..c3f33a2 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -55,9 +55,9 @@ AH_TOP([#include "xorg-server.h"])
>  AC_ARG_WITH(xorg-module-dir,
>             AC_HELP_STRING([--with-xorg-module-dir=DIR],
> -                           [Default xorg module directory [[default=$libdir/xorg/modules]]]),
> +                           [Default xorg module directory [[default=$moduledir/xorg/modules]]]),
>             [moduledir="$withval"],
> -            [moduledir="$libdir/xorg/modules"])
> +            [moduledir=`$PKG_CONFIG --variable=moduledir xorg-server`])
>  AC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri],
>                                   [Disable DRI support [[default=auto]]]),
> --
> My assumption is that the drivers can only be loaded if they are located
> in the running server xorg/modules/drivers directory that it knows
> about at configuration time. If that is correct, the only value that
> with-xorg-module-dir can be given is the value that the server returns
> through the xorg-server .pc file.

You can set the module path with -modulepath on the command line or
ModulePath in a Files section in xorg.conf. So, you can definitely
handle drivers that are in a different prefix. More problematic, this
will break distcheck unless you set it back under $prefix with
DISTCHECK_CONFIGURE_FLAGS. This is like the chat we had about drivers
installing headers outside the xorg $includedir (which we might want
to revisit since it's doing the opposite unnecessarily).

> After searching in 2005 archives, I found out some distro did not install
> our .pc files or did not install the pkg-config package. Is it still the case?
> Would all of our build not fail?
> http://lists.x.org/archives/xorg/2006-November/019654.html

I doubt it would happen nowadays, but you could easily make it
fallback to $libdir/xorg/modules if nothing came from pkg-config.


More information about the xorg-devel mailing list