[PATCH util-macros] XORG_GIT_MODULE_VERSION: writes module version in xorg-git-version.h

Peter Hutterer peter.hutterer at who-t.net
Mon Apr 19 17:54:09 PDT 2010


On Mon, Apr 19, 2010 at 11:00:08PM +0200, Julien Cristau wrote:
> On Mon, Apr 19, 2010 at 14:52:55 -0400, Gaetan Nadon wrote:
> 
> > Generates the git module version according to the "git describe HEAD"
> > If the git module has pending changes, it appends "-dirty" to the version tag
> > 
> > Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
> > ---
> >  xorg-macros.m4.in |   18 ++++++++++++++++++
> >  1 files changed, 18 insertions(+), 0 deletions(-)
> > 
> > diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in
> > index 916b472..efb2e53 100644
> > --- a/xorg-macros.m4.in
> > +++ b/xorg-macros.m4.in
> > @@ -1009,3 +1009,21 @@ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
> >  echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
> >  AC_SUBST([INSTALL_CMD])
> >  ]) # XORG_INSTALL
> > +
> > +# XORG_GIT_MODULE_VERSION()
> > +# -------------------------
> > +# Minimum version: 1.8.0
> > +#
> > +# Generates the git module version according to the "git describe HEAD"
> > +# If the git module has pending changes, it appends "-dirty" to the version tag
> > +#
> > +AC_DEFUN([XORG_GIT_MODULE_VERSION], [
> > +GIT_MODULE_VERSION_CMD="VER=\`GIT_DIR=\$(top_srcdir)/.git git describe HEAD 2>/dev/null\`; \
> > +DVER=\`GIT_DIR=\$(top_srcdir)/.git git diff-index HEAD 2>/dev/null\`; \
> > +OUTSTR=\"\#undef XORG_GIT_VERSION\" ; \
> > +OUTFILE=\"xorg-git-version.h\"; \
> > +test -n \"\$\$VER\" && OUTSTR=\"\#define XORG_GIT_VERSION \$\$VER\" && test -n \"\$\$DVER\" && OUTSTR=\"\#define XORG_GIT_VERSION \$\$VER-dirty\"; \
> > +test -e \"\$\$OUTFILE\" || echo \"\$\$OUTSTR\" > \"\$\$OUTFILE\"; \
> > +CONTENT=\`cat \$\$OUTFILE\` && test \"\$\$CONTENT\" = \"\$\$OUTSTR\" || echo \$\$OUTSTR > \$\$OUTFILE;"
> > +AC_SUBST([GIT_MODULE_VERSION_CMD])
> > +]) # XORG_GIT_MODULE_VERSION

my eyes!

> As I said in reply to the initial patch by Peter I'd like a way to
> disable this, because packages might be built from a git tree, which
> might be unrelated to the xorg one, or outside of any git tree.  What's
> the output like if not building from git?  Does 'make
> GIT_MODULE_VERSION_CMD=:' work to disable it (I guess not, because
> anything trying to include xorg-git-version.h will be unhappy)?

it simply sets the #undef and nothing will be printed to the log file. Is
there any specific argument against _running_ the macro as long if it
doesn't add anything to the logfile?

Gaetan:
I'm not a big fan of the -dirty either but I guess if others want it we can
leave it in.  Two questions though:
- If modules start using this macro, do they stillhave to add to
   DISTCLEANFILES and friends? 
- This macro only gets invoked on automake runs, right? So if I pull and
  just rebuild, would it update the git version?
 
Cheers,
  Peter


More information about the xorg-devel mailing list