<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Wed, 2010-03-24 at 11:25 -0700, Dan Nicholson wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On Wed, Mar 24, 2010 at 11:11 AM, Gaetan Nadon <<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>> 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 <<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>>
> ---
> 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]]]),
> --
> 1.6.0.4
>
> 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.
</PRE>
</BLOCKQUOTE>
I wasn't aware of that. It's an additional workaround for a bad default value.
<BLOCKQUOTE TYPE=CITE>
<PRE>
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).
</PRE>
</BLOCKQUOTE>
I think this issue with distcheck (which fails for a user without write permission in moduledir) is quite<BR>
exaggerated. All instructions I have seen on the net for people installing drivers require them to have root password.<BR>
For someone who is creating a tarball to be published to others, it's the least to ask. Running this<BR>
target is mandatory, there are other ways of testing.<BR>
<BR>
In any case, there 5 easy workarounds for distcheck: <BR>
<BLOCKQUOTE>
- configure the driver package with moduledir=<some comfy location> and then run distcheck. <BR>
- configure the driver package with libdir=<some comfy location> and then run distcheck. <BR>
- we add DISTCHECK_CONFIGURE_FLAGS = --with-xorg-module-dir='$${libdir}/xorg/modules'. <BR>
- we add DISTCHECK_CONFIGURE_FLAGS = --libdir='$${libdir}/xorg/modules'.<BR>
- run 'make all dist distcheckclean' in a VPATH build which would be the exact equivalent of distcheck.<BR>
</BLOCKQUOTE>
<BR>
The question remains: would `$PKG_CONFIG --variable=moduledir xorg-server` not be a "better" default option?<BR>
<BLOCKQUOTE>
- The configuration would not fail when different prefixes are used for driver and xserver (without config swicth)<BR>
- Thousands of people would no longer be forced to hunt for and supply the correct driver location<BR>
- All drivers could be build with no additional configure switches<BR>
- With one workaround above, the few people creating tarball without password would not be affected.<BR>
</BLOCKQUOTE>
Example of instructions found on the net:
<BLOCKQUOTE>
<PRE>
./configure --with-xorg-module-dir=/usr/lib/xorg/modules
make && sudo make install
</PRE>
</BLOCKQUOTE>
<PRE>
Thanks
</PRE>
<BLOCKQUOTE TYPE=CITE>
<PRE>
> 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?
> <A HREF="http://lists.x.org/archives/xorg/2006-November/019654.html">http://lists.x.org/archives/xorg/2006-November/019654.html</A>
I doubt it would happen nowadays, but you could easily make it
fallback to $libdir/xorg/modules if nothing came from pkg-config.
--
Dan
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>