[PATCH] configure.ac: Add resourceproto and scrnsaverproto to SDK_REQUIRED_MODULES

Emil Velikov emil.l.velikov at gmail.com
Mon Oct 22 12:13:12 PDT 2012


On Mon, 22 Oct 2012 18:59:18 +0100, Gaetan Nadon <memsize at videotron.ca>  
wrote:

> On 12-10-21 03:29 PM, Emil Velikov wrote:
>> Note: This is a candidate for the master and 1.13 branches
>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>> ---
>>  configure.ac | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/configure.ac b/configure.ac
>> index e686614..c464a9d 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -1028,12 +1028,14 @@ AM_CONDITIONAL(SCREENSAVER, [test  
>> "x$SCREENSAVER" = xyes])
>>  if test "x$SCREENSAVER" = xyes; then
>>  	AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension])
>>  	REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO"
>> +	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $SCRNSAVERPROTO"
>>  fi
>>
>>  AM_CONDITIONAL(RES, [test "x$RES" = xyes])
>>  if test "x$RES" = xyes; then
>>  	AC_DEFINE(RES, 1, [Support X resource extension])
>>  	REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO"
>> +	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $RESOURCEPROTO"
>>  fi
>>
>>  # The XRes extension may support client ID tracking only if it has
>
> The commit text should explain *why* this is needed.
>
> Note that SDK_REQUIRED_MODULES is used in xorg-server.pc.in:
>
>     Requires.private: @SDK_REQUIRED_MODULES@
>
> Any video/input driver will fail to build if the screen saver proto is
> not present now while it was present at server build time.
>
> As suggested by Dan Nicholson,
>
>     Future additions to {SDK_,}REQUIRED_MODULES would require a review of
>     whether the module is exposed in the API. Not much you can do here
>     except be careful when introducing API.
>
> http://lists.x.org/archives/xorg-devel/2010-June/010164.html
>

It's a rather long story, so please be patient with me

While trying to build the xf86-video-nouveau under Arch linux the
following the build issue(s) were exhibited

In file included from /usr/include/xorg/globals.h:8:0,
  from /usr/include/xorg/opaque.h:34,
  from /usr/include/xorg/xf86_OSproc.h:127,
  from nv_include.h:16,
  from nouveau_exa.c:23:
  /usr/include/xorg/extinit.h:107:38:
fatal error: X11/extensions/XResproto.h: No such file or directory

I believe you're quite aware that the missing file is provided by
resourceproto and it's included in xserver's header files

The xserver's headers are part of the xorg-server-devel package

Arch (as well as Ubuntu) people, are monitoring Requires.private, as an
indication which packages would be considered a dependency of the
downstream package. The above two are not listed in the *.pc, thus not
considered a dependency. Current workaround the issue is to add
resourceproto and scrnsaverproto as a dependency for the seventy-five
xf86-video-* packages, so that they can be built properly

Is the above assumption of monitoring Requires.private is incorrect ?

If so then, I believe that this patch is correct (despite the lack of
justification in the commit message), considering the same approach is
used with the other proto's which are included by
"/usr/include/xorg/extinit.h"


Thanks
Emil

P.S. I did not mean to be impolite with this email, despite it be
seem that way


More information about the xorg-devel mailing list