Localize the definition of the version number into a single file.

Estimated hours taken: 2

Localize the definition of the version number into a single file.
Automate the building of releases, including daily "rotd"
(release-of-the-day) releases.

VERSION:
	New file, defines the version number.
	Also document the general scheme for assigning version numbers.

Mmake.common.in:
	Add `include VERSION'.

Mmakefile:
bindist/Mmakefile:
configure.in:
	Use the version number in VERSION rather than hard-coding it
	in multiple places.

Mmakefile:
README:
.README.in:
INSTALL:
.INSTALL.in:
	Change things so that README and INSTALL are automatically
	generated from .README.in and .INSTALL.in respectively, using
	the version number defined in VERSION.

BUGS:
	Remove an unnecessary reference to the version number.

RELEASE_NOTES:
	Change this file so that the version number is only mentioned
	in one place.  Bump the version number here to 0.7 in preparation
	for the next release.

library/Mmakefile:
library/library.m:
library/library.m.in:
	Change things so that library.m is automatically generated from
	library.m.in using the version number in VERSION.
	Also change it so that library__version says which architecture
	it was configured for.

tools/test_mercury:
	Override the version specified in the VERSION file in the CVS
	repository with either `rotd-YYYY-MM-DD' or (when making a release)
	with a specified $RELEASE_VERSION.
	When running on murliboobo, if the version built passes all its
	tests, copy it to the /pub/mercury/beta-releases directory on
	ftp://turiel.cs.mu.oz.au.

compiler/notes/release_checklist.m:
	Change the release checklist to say that you only need to
	update the version number in VERSION rather than in 6 different
	places.  Also change the procedure for building the final
	tar file to reflect the above changes to the `test_mercury' script.
This commit is contained in:
Fergus Henderson
1997-07-28 08:51:53 +00:00
parent bf8f839e0d
commit 9777cf86b5
7 changed files with 135 additions and 7 deletions

69
.README.in Normal file
View File

@@ -0,0 +1,69 @@
This directory contains the source distribution for the University of Melbourne
Mercury compiler, version @VERSION@.
The Mercury implementation is free software, but it is Copyright (C)
1994-1997 The University of Melbourne. It is distributed under the terms
of the GNU General Public License. See the file COPYING for copying
permission. The Mercury library and runtime (the files in the library
and runtime subdirectories) are distributed under the terms of the GNU
Library General Public License. See the file COPYING.LIB for copying
permissions for those files. (If those licencing arrangements are not
satisfactory, please contact us! We are willing to offer alternative
arrangements, if the need should arise.) The subdirectory `boehm_gc'
contains a conservative garbage collector distributed by Hans Boehm -
see the file README in that directory for copyright information about
those files. A few files (config*) are derived from code that is
copyright by the Free Software Foundation, Inc. The program `texi2html'
in the doc directory is copyright by CERN; see the copyright notice at
the end of that file. The `Togl' library in extras/graphics/Togl-1.2
is copyright by Brian Paul and Ben Bederson; see the file
extras/graphics/Togl-1.2/LICENCE.
THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK. See the file COPYING.
See the file INSTALL for installation instructions.
But first read README.AIX, README.BSDI, README.IRIX-5, README.Linux,
or README.MS-Windows if you are installing on a machine running
AIX, BSD Unix, IRIX 5, Linux, or Microsoft Windows respectively.
The documentation sources are in the `doc' subdirectory. The installation
process will install INFO, HTML, and DVI versions in the locations specified
in the file Mmake.common - by default these locations are
/usr/local/mercury-@VERSION@/info,
/usr/local/mercury-@VERSION@/lib/mercury/html,
and /usr/local/mercury-@VERSION@/lib/mercury/doc respectively.
The installation process will also install Unix-style man pages -
by default they will be installed in /usr/local/mercury-@VERSION@/man/man1.
The files RELEASE_NOTES, NEWS, HISTORY, LIMITATIONS, and BUGS
also contain useful information. If you're interested in looking
at the source code, the file compiler/notes/compiler_design.html is
a good place to start.
The `samples' directory contains some example Mercury programs.
There are also some additional Mercury programs and libraries
in the `extras' directory.
For more information about Mercury, see the Mercury WWW home page at
http://www.cs.mu.oz.au/mercury, or send mail to mercury@cs.mu.oz.au.
If you would like to join the Mercury mailing lists (there are two,
mercury-users for general discussion, and mercury-announce for
announcements), send mail with "subscribe" in the body to
mercury-users-request@cs.mu.oz.au or mercury-announce-request@cs.mu.oz.au
(respectively).
Please send bug reports, enhancement requests, suggestions for improvements,
and any other feedback to mercury-bugs@cs.mu.oz.au or mercury@cs.mu.oz.au.
If you find something you don't like, please tell us.
If you find something you do like, please tell the world!
The Mercury distribution is available via anonymous ftp or WWW
from the following locations:
Australia:
ftp://turiel.cs.mu.oz.au/pub/mercury
USA:
ftp://ftp.cs.sunysb.edu/pub/XSB/mercury
Europe:
ftp://ftp.csd.uu.se/pub/Mercury

9
BUGS
View File

@@ -11,10 +11,17 @@ able to reproduce the problem. Make sure that all bug reports are
fully self-contained.
Below is a list of the known outstanding bugs.
We'll try to record any other bugs that are discovered in 0.6
We'll try to record any other bugs that are discovered
on our WWW page <http://www.cs.mu.oz.au/mercury>.
See also the LIMITATIONS file.
Note: please do not be alarmed by the fact that this software has some bugs.
ALL useful software has bugs. During the development of the Mercury
implementation we have found bugs in gcc, as, ld, the dynamic loader,
and even the OS kernel. We hope that by listing the known outstanding bugs
here we are doing our users a service. It would be disappointing if
anyone were to infer the wrong thing from it.
-----------------------------------------------------------------------------
Subject: bug report - Inf and NaN
Date: Wed, 4 Oct 1995 02:48:19 +1000 (EST)

View File

@@ -17,6 +17,10 @@
#-----------------------------------------------------------------------------#
include $(MERCURY_DIR)/VERSION
#-----------------------------------------------------------------------------#
# Specify the locations for installing things.
# These directories can all be modified independantly.
# In particular, you might want to find a better place for the DVI and

View File

@@ -11,8 +11,6 @@ MAIN_TARGET=all
MERCURY_DIR=.
include Mmake.common
VERSION=0.6
#-----------------------------------------------------------------------------#
SUBDIRS = scripts util boehm_gc runtime library compiler doc profiler
@@ -71,7 +69,7 @@ depend_profiler:
#-----------------------------------------------------------------------------#
.PHONY: all
all: $(SUBDIRS)
all: $(SUBDIRS) README INSTALL
.PHONY: scripts
scripts:
@@ -146,6 +144,12 @@ config.status: configure
Mmake.common: Mmake.common.in config.status
./config.status
README: .README.in VERSION
sed 's/@VERSION@/$(VERSION)/g' .README.in > README
INSTALL: .INSTALL.in VERSION
sed 's/@VERSION@/$(VERSION)/g' .INSTALL.in > INSTALL
#-----------------------------------------------------------------------------#
# Generally you should do a `mmake realclean' before doing `mmake tar'.
@@ -189,6 +193,7 @@ tar:
mv mercury-$(VERSION) mercury \
)
.PHONY: version
version:
@echo $(VERSION)

View File

@@ -1,5 +1,5 @@
We are pleased to announce the release of version 0.6 of the Mercury system.
We are pleased to announce the release of version 0.7 of the Mercury system.
Mercury is a new general-purpose programming language, designed and
implemented by a small group of researchers at the University of
@@ -13,7 +13,7 @@ traditional logic programming syntax, but also allows the
syntactic convenience of user-defined functions, smoothly integrating
logic and functional programming into a single paradigm.
For a list of what's new in release 0.6, see the NEWS file.
For a list of what's new in this release, see the NEWS file.
The main features of Mercury are:

42
VERSION Normal file
View File

@@ -0,0 +1,42 @@
# This is the central place where the version number is kept.
# (But note that the version number for the last major release is
# hard-coded in the RELEASE_NOTES file.)
#
# The version number must be a valid file name, i.e. it should
# not contain whitespace or special characters. Stick to [A-Za-z0-9._-].
#
# Please assign version numbers according to the scheme explained below.
VERSION=DEV
# We use the following general scheme for version numbers:
#
# Pattern Examples Explanation
# ------- ------- -----------
# *.* 0.6, 0.7 Major releases.
#
# *.*.* 0.6.1 Bug-fix releases.
#
# rotd-<DATE> rotd-1997-07-28 "Release-of-the-day" releases.
# These releases are snapshots of our
# development sources built automatically
# after they have passed our nightly
# automatic test process.
#
# <BASE>-<PATCH> "Unofficial" releases (releases of patched
# 0.6.2-1 versions by anyone other than the Mercury
# team). BASE should be the official
# release on which it is based,
# e.g. "0.7", or "rotd-97-07-28".
# PATCH should be something uniquely
# identifying this release.
# (In the example "0.6.2-1", PATCH was "1",
# which is not a good choice. Something like
# "0.6.2-debian1" would have been a better name.)
#
# DEV DEV Generic version number used internally by
# the Mercury team for development versions.
#
# DEV-<NAME> DEV-blah Version numbers used internally by
# the Mercury team for specific development
# versions.

View File

@@ -40,7 +40,8 @@ if test "$SUPPRESS_LOG_FILE_RECURSION" != "yes"; then
fi
#-----------------------------------------------------------------------------#
AC_CONFIG_HEADER(runtime/conf.h)
AC_PREFIX_DEFAULT(/usr/local/mercury-0.6)
. ./VERSION
AC_PREFIX_DEFAULT(/usr/local/mercury-$VERSION)
AC_CANONICAL_HOST
FULLARCH="$host"
AC_SUBST(FULLARCH)