File: bootstrapping.html

package info (click to toggle)
mercury 0.9-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 18,488 kB
  • ctags: 9,800
  • sloc: objc: 146,680; ansic: 51,418; sh: 6,436; lisp: 1,567; cpp: 1,040; perl: 854; makefile: 450; asm: 232; awk: 203; exp: 32; fortran: 3; csh: 1
file content (48 lines) | stat: -rw-r--r-- 1,243 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

<html>
<head>
<title>
	Bootstrapping
</title>
</head>

<body
	bgcolor="#ffffff"
	text="#000000"
>


<hr>

<h2> Changes that don't bootstrap </h2>

<p>

Sometimes changes need to be made to the Mercury system that mean
previous versions of the compiler will no longer successfully compile
the new version.
<p>

Whenever anyone makes a change which prevents bootstrapping with a
previous version of the compiler, they should add a cvs tag to all the
files in the relevant directories <em>before committing</em>, and
mention this tag in the log message.  The tag should be of the form
bootstrap_YYYYMMDD_&lt;short_description_of_change&gt;.
<p>

The rationale for the cvs tag is that it allows machines to be
bootstrapped (if they didn't manage to do it in a daily build)
by doing `cvs update -r&lt;tag&gt;' on the relevant build directory.
After that compiler has been installed, a `cvs update -A' will remove
the cvs sticky tags.
<p>

Optionally, a test should be added to the configuration script so
that people installing from CVS don't use an outdated compiler to
bootstrap.  Practically this may be difficult to achieve in some cases.

<hr>

Last update was $Date: 1999/07/19 18:31:05 $ by $Author: trd $@cs.mu.oz.au. <br>
</body>
</html>