[PATCH all drivers] config: set more appropriate default drivers location
Gaetan Nadon
memsize at videotron.ca
Wed Mar 24 12:38:05 PDT 2010
On Wed, 2010-03-24 at 11:25 -0700, Dan Nicholson wrote:
> 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]]]),
> > --
> > 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.
I wasn't aware of that. It's an additional workaround for a bad default
value.
> 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).
I think this issue with distcheck (which fails for a user without write
permission in moduledir) is quite
exaggerated. All instructions I have seen on the net for people
installing drivers require them to have root password.
For someone who is creating a tarball to be published to others, it's
the least to ask. Running this
target is mandatory, there are other ways of testing.
In any case, there 5 easy workarounds for distcheck:
- configure the driver package with moduledir=<some comfy
location> and then run distcheck.
- configure the driver package with libdir=<some comfy location>
and then run distcheck.
- we add DISTCHECK_CONFIGURE_FLAGS =
--with-xorg-module-dir='$${libdir}/xorg/modules'.
- we add DISTCHECK_CONFIGURE_FLAGS =
--libdir='$${libdir}/xorg/modules'.
- run 'make all dist distcheckclean' in a VPATH build which
would be the exact equivalent of distcheck.
The question remains: would `$PKG_CONFIG --variable=moduledir
xorg-server` not be a "better" default option?
- The configuration would not fail when different prefixes are
used for driver and xserver (without config swicth)
- Thousands of people would no longer be forced to hunt for and
supply the correct driver location
- All drivers could be build with no additional configure
switches
- With one workaround above, the few people creating tarball
without password would not be affected.
Example of instructions found on the net:
./configure --with-xorg-module-dir=/usr/lib/xorg/modules
make && sudo make install
Thanks
>
> > 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.
>
> --
> Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20100324/7b30d12f/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg-devel/attachments/20100324/7b30d12f/attachment.pgp>
More information about the xorg-devel
mailing list