changeset 4419:eb82fbb675ea

Use Mercurial changeset hash to identify build version. 2008-01-25 Michael Sperber <mike@xemacs.org> * Makefile.in.in: * configure.ac: * version.sh.in: Use Mercurial tip hash to identify version instead of old CVS method. 2008-01-25 Michael Sperber <mike@xemacs.org> * build-report.el (build-report-version-file-regexp): Adjust to handle Mercurial hash. 2008-01-25 Michael Sperber <mike@xemacs.org> * xemacs.mak (version.sh): Generate version.sh via Mercurial. 2008-01-25 Michael Sperber <mike@xemacs.org> * emacs.c (vars_of_emacs): Zap mention of CVS.
author Mike Sperber <sperber@deinprogramm.de>
date Thu, 07 Feb 2008 10:03:49 +0100
parents 9bcdf9a3a783
children 6ed8c4ccc17e 69b803c646cd
files .hgignore ChangeLog Makefile.in.in configure configure.ac lisp/ChangeLog lisp/build-report.el nt/ChangeLog nt/xemacs.mak src/ChangeLog src/emacs.c version.sh version.sh.in
diffstat 13 files changed, 62 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Mon Feb 04 21:41:27 2008 -0700
+++ b/.hgignore	Thu Feb 07 10:03:49 2008 +0100
@@ -52,3 +52,4 @@
 ^src/REBUILD_AUTOLOADS$
 ^src/(temacs|xemacs)\.(exe|exe\.manifest|pdb|map|bsc)$
 ^TAGS$
+^version\.sh$
\ No newline at end of file
--- a/ChangeLog	Mon Feb 04 21:41:27 2008 -0700
+++ b/ChangeLog	Thu Feb 07 10:03:49 2008 +0100
@@ -2,6 +2,13 @@
 
 	* configure.ac (--with-database): 'gnudbm' -> 'gdbm' in docstrings.
 
+2008-01-25  Michael Sperber  <mike@xemacs.org>
+
+	* Makefile.in.in:
+	* configure.ac:
+	* version.sh.in: Use Mercurial tip hash to identify version
+	instead of old CVS method.
+
 2008-01-17  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* configure.ac:
--- a/Makefile.in.in	Mon Feb 04 21:41:27 2008 -0700
+++ b/Makefile.in.in	Thu Feb 07 10:03:49 2008 +0100
@@ -256,7 +256,7 @@
 .PHONY: ${SUBDIR} all beta
 
 ## Convenience target for XEmacs beta testers
-beta: elcclean all
+beta: elcclean update-version all
 
 ## Convenience target for XEmacs maintainers
 ## This would run `make-xemacsdist' if I were really confident that everything
@@ -316,6 +316,13 @@
 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC
 	cd ./$@ && $(MAKE) $(RECURSIVE_MAKE_ARGS) all
 
+## This should be the same code as in configure.ac.
+update-version:
+	cp ${srcdir}/version.sh.in ${srcdir}/version.sh
+	if test -d ${srcdir}/.hg; then \
+	    (cd ${srcdir}; hg identify | cut -d " " -f 1 >> version.sh); \
+	fi
+
 ## Building modules depends on ellcc, found in lib-src.
 modules/sample modules/ldap modules/zlib modules/base64: lib-src
 modules/postgresql modules/canna: lib-src
--- a/configure	Mon Feb 04 21:41:27 2008 -0700
+++ b/configure	Thu Feb 07 10:03:49 2008 +0100
@@ -4779,6 +4779,10 @@
 
 
 
+cp "$srcdir/version.sh.in" "$srcdir/version.sh"
+if test -d "$srcdir/.hg"; then
+    (cd "$srcdir"; hg identify | cut -d " " -f 1 >> version.sh)
+fi
 . "$srcdir/version.sh" || exit 1;
 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
 : "${verbose=$beta}"
--- a/configure.ac	Mon Feb 04 21:41:27 2008 -0700
+++ b/configure.ac	Thu Feb 07 10:03:49 2008 +0100
@@ -1176,6 +1176,11 @@
 dnl ----------------------------------------
 dnl Find out which version of XEmacs this is
 dnl ----------------------------------------
+dnl This should be the same code as in Makefile.in.in
+cp "$srcdir/version.sh.in" "$srcdir/version.sh"
+if test -d "$srcdir/.hg"; then
+    (cd "$srcdir"; hg identify | cut -d " " -f 1 >> version.sh)
+fi
 . "$srcdir/version.sh" || exit 1;
 dnl Must do the following first to determine verbosity for AC_DEFINE
 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
--- a/lisp/ChangeLog	Mon Feb 04 21:41:27 2008 -0700
+++ b/lisp/ChangeLog	Thu Feb 07 10:03:49 2008 +0100
@@ -3,6 +3,11 @@
 	* iso8859-1.el (ascii-case-table): 
 	Correct the order of the arguments to #'put-case-table-pair. 
 
+2008-01-25  Michael Sperber  <mike@xemacs.org>
+
+	* build-report.el (build-report-version-file-regexp): Adjust to
+	handle Mercurial hash.
+
 2008-01-21  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* info.el (Info-suffix-list): 
--- a/lisp/build-report.el	Mon Feb 04 21:41:27 2008 -0700
+++ b/lisp/build-report.el	Thu Feb 07 10:03:49 2008 +0100
@@ -69,7 +69,7 @@
 emacs_minor_version\\s-*=\\s-*\\([0-9]+\\)
 emacs_beta_version\\s-*=\\s-*\\([0-9]+\\)?
 xemacs_codename\\s-*=\\s-*\"\\([^\"]+\\)\"\\(
-xemacs_extra_name\\s-*=\\s-*\"\\([^\"]+\\)\"\\)?"
+xemacs_extra_name\\s-*=\\s-*\"?\\([^\"]+\\)\"?\\)?"
   "*REGEXP matching XEmacs Beta Version variable assignments in
 `build-report-version-file' file.  This variable is used by
 `build-report-version-file-data'.")
--- a/nt/ChangeLog	Mon Feb 04 21:41:27 2008 -0700
+++ b/nt/ChangeLog	Thu Feb 07 10:03:49 2008 +0100
@@ -1,3 +1,7 @@
+2008-01-25  Michael Sperber  <mike@xemacs.org>
+
+	* xemacs.mak (version.sh): Generate version.sh via Mercurial.
+
 2008-01-24 Mike Sperber   <mike@xemacs.org>
 
 	* config.inc.samp: Fix URL for optional libraries.
--- a/nt/xemacs.mak	Mon Feb 04 21:41:27 2008 -0700
+++ b/nt/xemacs.mak	Thu Feb 07 10:03:49 2008 +0100
@@ -74,6 +74,13 @@
 !endif
 !endif
 
+!if [copy $(SRCROOT)\version.sh.in $(SRCROOT)\version.sh]
+!endif
+!if exist($(SRCROOT)\.hg)
+!if [hg identify >> $(SRCROOT)\version.sh]
+!endif
+!endif
+
 # Program name and version
 !include "$(SRCROOT)\version.sh"
 
@@ -816,7 +823,7 @@
  $(EMACS_BETA_VERSION) $(EMACS_PATCH_LEVEL) \
  -DXEMACS_CODENAME=\"$(xemacs_codename:&=and)\" \
 !if defined(xemacs_extra_name)
- -DXEMACS_EXTRA_NAME=\"$(xemacs_extra_name:"=)\" \
+ -DXEMACS_EXTRA_NAME=\""$(xemacs_extra_name:"=)"\" \
 !endif
 !if defined(PATH_LATE_PACKAGE_DIRECTORIES)
  -DPATH_LATE_PACKAGE_DIRECTORIES=\"$(PATH_LATE_PACKAGE_DIRECTORIES)\" \
--- a/src/ChangeLog	Mon Feb 04 21:41:27 2008 -0700
+++ b/src/ChangeLog	Thu Feb 07 10:03:49 2008 +0100
@@ -24,6 +24,10 @@
 	tables; we may end up looking through the equivalence table if a
 	non-ASCII non-case character was searched for. 
 
+2008-01-25  Michael Sperber  <mike@xemacs.org>
+
+	* emacs.c (vars_of_emacs): Zap mention of CVS.
+
 2008-01-24 Mike Sperber   <mike@xemacs.org>
 
 	* make-src-depend (PrintDeps): Fix Perl code that no longer works
--- a/src/emacs.c	Mon Feb 04 21:41:27 2008 -0700
+++ b/src/emacs.c	Thu Feb 07 10:03:49 2008 +0100
@@ -4246,10 +4246,9 @@
 Appropriate surrounding whitespace will be added, but typically looks best
 if enclosed in parentheses.
 
-A standard use is to indicate the date version.sh was last updated from
-the CVS mainline, where it is automatically given a value similar to
-\"(+CVS-20050221)\".  Developers may also use it to indicate particular
-branches, etc.
+A standard use is to indicate the topmost hash id of the Mercurial
+changeset from which XEmacs was compiled.  Developers may also use it
+to indicate particular branches, etc.
 */ );
 #ifdef XEMACS_EXTRA_NAME
   Vxemacs_extra_name = build_string (XEMACS_EXTRA_NAME);
--- a/version.sh	Mon Feb 04 21:41:27 2008 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#!/bin/sh
-emacs_is_beta=t
-emacs_major_version=21
-emacs_minor_version=5
-emacs_beta_version=28
-xemacs_codename="fuki"
-emacs_kit_version=
-infodock_major_version=4
-infodock_minor_version=0
-infodock_build_version=8
-xemacs_extra_name="(+CVS-20071205)"
-xemacs_release_date="2007-05-21"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/version.sh.in	Thu Feb 07 10:03:49 2008 +0100
@@ -0,0 +1,12 @@
+#!/bin/sh
+emacs_is_beta=t
+emacs_major_version=21
+emacs_minor_version=5
+emacs_beta_version=28
+xemacs_codename="fuki"
+emacs_kit_version=
+infodock_major_version=4
+infodock_minor_version=0
+infodock_build_version=8
+xemacs_release_date="2007-05-21"
+xemacs_extra_name=
\ No newline at end of file