I haven't tested this myself, but in general it looks like a good idea.
Thanks for splitting it into conceptual staged changes -- review is much
easier.

Comments inline as needed.

* On 13 Dec 2012, Aaron Schrab wrote: 
> From: Aaron Schrab <aa...@schrab.com>
> 
> Switch to generating the version string during make process rather than
> at configure time.  This makes it easier to keep the detailed version
> string accurate when doing development which doesn't require that the
> configure script be rerun.
> ---
>  .hgignore    |    1 +
>  Makefile.am  |    7 ++++++-
>  commands.c   |    1 +
>  compose.c    |    1 +
>  configure.ac |    3 ---
>  dotlock.c    |    1 +
>  init.c       |    1 +
>  muttlib.c    |    1 +
>  sendlib.c    |    1 +
>  status.c     |    1 +
>  10 files changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/.hgignore b/.hgignore
> index 8995db4..6887cc4 100644
> --- a/.hgignore
> +++ b/.hgignore
> @@ -33,6 +33,7 @@
>  ^smime_keys$
>  ^txt2c$
>  ^stamp-doc-rc$
> +^version\.h$
>  ^doc/instdoc$
>  ^doc/manual\.(txt|xml|aux|log|out|tex|pdf)$
>  ^doc/mutt\.1$
> diff --git a/Makefile.am b/Makefile.am
> index 24daaab..284b274 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -17,7 +17,7 @@ if BUILD_HCACHE
>  HCVERSION = hcversion.h
>  endif
>  
> -BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h conststrings.c 
> $(HCVERSION)
> +BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h conststrings.c version.h 
> $(HCVERSION)
>  
>  bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
>  mutt_SOURCES = \
> @@ -136,6 +136,11 @@ keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP 
> $(srcdir)/OPS.MIX $(srcdir)/OP
>               $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \
>                       > keymap_alldefs.h
>  
> +version.h: FORCE
> +     echo '#define MUTT_VERSION "'`sh "$(srcdir)/version.sh"`'"' > $@.tmp
> +     (cmp -s $@ $@.tmp) && rm -f $@.tmp || mv $@.tmp $@
> +FORCE:
> +

.PHONY: version.h ?

>  reldate.h: $(srcdir)/ChangeLog
>       echo 'const char *ReleaseDate = "'`head -n 1 $(srcdir)/ChangeLog | 
> LC_ALL=C cut -d ' ' -f 1`'";' > reldate.h.tmp; \
>       cmp -s reldate.h.tmp reldate.h || cp reldate.h.tmp reldate.h; \
> diff --git a/commands.c b/commands.c
> index bc1036b..13b12dd 100644
> --- a/commands.c
> +++ b/commands.c
> @@ -21,6 +21,7 @@
>  # include "config.h"
>  #endif
>  
> +#include "version.h"
>  #include "mutt.h"
>  #include "mutt_curses.h"
>  #include "mutt_menu.h"
> diff --git a/compose.c b/compose.c
> index edda021..b641d16 100644
> --- a/compose.c
> +++ b/compose.c
> @@ -21,6 +21,7 @@
>  # include "config.h"
>  #endif
>  
> +#include "version.h"
>  #include "mutt.h"
>  #include "mutt_curses.h"
>  #include "mutt_idna.h"
> diff --git a/configure.ac b/configure.ac
> index 71a6452..ed0bd3d 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -11,9 +11,6 @@ mutt_cv_version=`cat "$srcdir/VERSION"`
>  AM_INIT_AUTOMAKE(mutt, $mutt_cv_version)
>  AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
>  
> -MUTT_VERSION=`env sh "$srcdir/version.sh"`
> -AC_DEFINE_UNQUOTED(MUTT_VERSION,"$MUTT_VERSION", [Full textual version 
> string.])
> -
>  AC_GNU_SOURCE
>  
>  ALL_LINGUAS="de eu ru it es uk fr pl nl cs id sk ko el zh_TW zh_CN pt_BR eo 
> gl sv da lt tr ja hu et ca bg ga"
> diff --git a/dotlock.c b/dotlock.c
> index 5bf0348..9dd958a 100644
> --- a/dotlock.c
> +++ b/dotlock.c
> @@ -46,6 +46,7 @@
>  #include <limits.h>
>  #endif
>  
> +#include "version.h"
>  #include "dotlock.h"
>  
>  #ifdef HAVE_GETOPT_H
> diff --git a/init.c b/init.c
> index a3ec232..d69fff2 100644
> --- a/init.c
> +++ b/init.c
> @@ -20,6 +20,7 @@
>  # include "config.h"
>  #endif
>  
> +#include "version.h"
>  #include "mutt.h"
>  #include "mapping.h"
>  #include "mutt_curses.h"
> diff --git a/muttlib.c b/muttlib.c
> index 7e93a3a..1f4982b 100644
> --- a/muttlib.c
> +++ b/muttlib.c
> @@ -21,6 +21,7 @@
>  # include "config.h"
>  #endif
>  
> +#include "version.h"
>  #include "mutt.h"
>  #include "mutt_curses.h"
>  #include "mime.h"
> diff --git a/sendlib.c b/sendlib.c
> index 249d6a1..f8d41e1 100644
> --- a/sendlib.c
> +++ b/sendlib.c
> @@ -22,6 +22,7 @@
>  # include "config.h"
>  #endif
>  
> +#include "version.h"
>  #include "mutt.h"
>  #include "mutt_curses.h"
>  #include "rfc2047.h"
> diff --git a/status.c b/status.c
> index 1bb9a5a..acf788e 100644
> --- a/status.c
> +++ b/status.c
> @@ -20,6 +20,7 @@
>  # include "config.h"
>  #endif
>  
> +#include "version.h"
>  #include "mutt.h"
>  #include "mutt_menu.h"
>  #include "mutt_curses.h"
> -- 
> 1.7.10.4

-- 
David Champion • d...@bikeshed.us

Reply via email to