This is something of a kludge because of Windows. Suggestions for
improvement welcome. Intend to apply on Sunday.
2008-01-25 Michael Sperber <mike(a)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(a)xemacs.org>
* build-report.el (build-report-version-file-regexp): Adjust to
handle Mercurial hash.
2008-01-25 Michael Sperber <mike(a)xemacs.org>
* xemacs.mak (version.sh): Generate version.sh via Mercurial.
2008-01-25 Michael Sperber <mike(a)xemacs.org>
* emacs.c (vars_of_emacs): Zap mention of CVS.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
--- a/Makefile.in.in
+++ b/Makefile.in.in
@@ -256,7 +256,7 @@ all: Makefile ${GENERATED_HEADERS} ${MAK
.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
@@ -315,6 +315,15 @@ FRC.lisp.finder-inf.el:
${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); \
+ else \
+ cat ${srcdir}/extra-name >> ${srcdir}/version.sh; \
+ fi
## Building modules depends on ellcc, found in lib-src.
modules/sample modules/ldap modules/zlib modules/base64: lib-src
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -4779,6 +4779,12 @@ case $build_os in *\ *) build_os=`echo "
+cp "$srcdir/version.sh.in" "$srcdir/version.sh"
+if test -d "$srcdir/.hg"; then
+ (cd "$srcdir"; hg identify | cut -d " " -f 1 >>
version.sh)
+else
+ cat "$srcdir/extra-name" >> "$srcdir/version.sh"
+fi
. "$srcdir/version.sh" || exit 1;
if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
: "${verbose=$beta}"
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1176,6 +1176,13 @@ dnl ------------------------------------
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)
+else
+ cat "$srcdir/extra-name" >> "$srcdir/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
diff --git a/lisp/build-report.el b/lisp/build-report.el
--- a/lisp/build-report.el
+++ b/lisp/build-report.el
@@ -69,7 +69,7 @@ emacs_minor_version\\s-*=\\s-*\\([0-9]+\
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'.")
diff --git a/nt/xemacs.mak b/nt/xemacs.mak
--- a/nt/xemacs.mak
+++ b/nt/xemacs.mak
@@ -71,6 +71,16 @@ SEPARATE_BUILD=0
SEPARATE_BUILD=0
SRCROOT=$(MAKEROOT)
BLDROOT=$(MAKEROOT)
+!endif
+!endif
+
+!if [copy $(SRCROOT)\version.sh.in $(SRCROOT)\version.sh]
+!endif
+!if exist($(SRCROOT)\.hg)
+!if [hg identify >> $(SRCROOT)\version.sh]
+!endif
+!else
+!if [type $(SRCDIR)\extra-name >> $(SRCDIR)\version.sh]
!endif
!endif
@@ -816,7 +826,7 @@ TEMACS_CPP_FLAGS_NO_CFLAGS=-c $(CPLUSPLU
$(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)\" \
diff --git a/src/emacs.c b/src/emacs.c
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -4246,10 +4246,9 @@ Appropriate surrounding whitespace will
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);
diff --git a/version.sh b/version.sh.in
rename from version.sh
rename to version.sh.in
--- a/version.sh.in
+++ b/version.sh.in
@@ -8,5 +8,5 @@ infodock_major_version=4
infodock_major_version=4
infodock_minor_version=0
infodock_build_version=8
-xemacs_extra_name="(+CVS-20071205)"
xemacs_release_date="2007-05-21"
+xemacs_extra_name=
\ No newline at end of file
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches