[PATCH] Change autogen.sh scripts to respect NOCONFIGURE

Gaetan Nadon memsize at videotron.ca
Thu Jan 5 09:55:20 PST 2012

On 12-01-05 12:01 PM, Colin Walters wrote:
> On Thu, 2012-01-05 at 17:50 +0100, Cyril Brulebois wrote:
>> Gaetan Nadon <memsize at videotron.ca> (05/01/2012):
>>>> #!/bin/sh
>>>> exec xorg-autogen.sh "$@"
>>> Note that I will also have to update configure.ac in each module to
>>> mandate the latest version of xorg-macros (as usual):
>> So you'll have a check in configure.ac to make sure xorg-macros has
>> xorg-autogen.sh, so that autogen.sh can run it? autogen.sh is what
>> triggers autoreconf and the look at configure.ac; chicken, egg.
I had a feeling the chicken was coming...
> Hmm...but how many people
> 1) Build an xorg module from git 
A lot
> 2) Are patching a configure.ac or Makefile.am and thus want to rerun
> autotools in a package built from tarball
A few
> but can't ALSO trivially update xorg-util-macros?  I'm not too familiar
> with the workflow of people who hack on X.org related modules, so it's
> an honest question.  
Indeed, an honest question. Some build video drivers against the distro
installed headers and libs. Others have pre-canned dev env targeted at
embedded systems. There aren't too many complaints about upgrading
xorg-macros, but it better be obvious that it needs to be upgraded. No
obscure failure to debug.
> In GNOME we recommend jhbuild which makes it trivial to pull in the
> latest gnome-common git.  But of course we made a common autogen script
> years ago, so that module is pretty widespread; e.g. you can install it
> via major distribution packages too.
> Regardless we could certainly change the patch to all modules to be:
> #!/bin/sh
> common_autogen=`which xorg-util-autogen.sh 2>/dev/null`
> if test -n "$common_autogen"; then
>   exec $common_autogen "$@"
> else
>   # copy&pasted version here
> fi
Now that autogen.sh depends on xorg-macros, we need to move up the
version check in autogen.sh.

Something like: pkg-config --print-errors --exists "xorg-macros >= 1.17"

    would print: Requested 'xorg-macros >= 1.17' but version of X.Org
    Macros is 1.16.0

This would be the minimum version of xorg-macros that this version of
autogen.sh requires. The rest would be a usual in configure.ac (request
1.17, then 6 months later 1.18 and so on.

There is no point in providing a fallback as configure.ac will also
request 1.17 or even later.
> One question someone watching this discussion might be wondering - why
> keep an autogen.sh in each module at all?  There are a few reasons, but
> an example one is that it allows a module to individually check for say
> a buggy automake version that some of its Makefile.am code triggers, and
> bail, but still then exec the common autogen.sh.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20120105/11e9ac59/attachment.htm>

More information about the xorg-devel mailing list