[m-dev.] for review: developer introduction for webpage
Tyson Dowd
trd at cs.mu.OZ.AU
Wed Jan 17 11:48:49 AEDT 2001
Here are the changes made in response to comments. I'm going to commit
this now, any further changes can be made after the commit.
--- developer_intro.html Wed Jan 17 11:47:11 2001
+++ /tmp/developer_intro.html Wed Jan 17 11:46:20 2001
@@ -59,6 +59,9 @@
path -- in this example it would be /tmp/mercury/install/bin. And be
sure that this is earlier in your path than any other Mercury
installation (for example, one in /usr/bin or /usr/local/bin).
+<p>
+See the files INSTALL and INSTALL_CVS for more information on
+installation of Mercury.
<h2>Installing fewer grades</h2>
@@ -84,20 +87,17 @@
mmake install LIBGRADES=
</pre>
<p>
-
-<h2>Quick installation of subsystems</h2>
-
-It's also worth noticing that each subsystem (the runtime, the compiler,
-the library, etc) can be installed by itself. If you make a change to the
-compiler, you can install it with
-<pre>
-cd compiler ; mmake install
-</pre>
-Be aware that this will only install one grade -- if you want to install
-just the library in all the grades in LIBGRADES, try:
+There are some good default settings for libgrades you can set at
+configuration time, for example
<pre>
-cd compiler ; mmake install
+./configure --disable-most-grades
+./configure --enable-libgrades=...
</pre>
+Run configure with the --help option to see more options.
+
+<p>
+Again, the INSTALL file in the Mercury distribution has more detailed
+documentation on installing grades.
<h2>Using the local build directory</h2>
@@ -124,7 +124,7 @@
<h2>Bootchecking</h2>
If you've made changes to the compiler or library that you think are
-working fine, you may want to make sure you haven't messed up some other
+working fine, you should make sure you haven't messed up some other
part of the compiler.
<p>
The bootcheck script in the tools directory of the Mercury compiler
@@ -140,16 +140,17 @@
compiler. This ensures that you can still build the compiler using your
modifications.
<p>
-Stage 3 uses the stage 2 Mercury compiler to build another Mercury
-compiler. This ensures that the stage 2 Mercury compiler not only
-builds, but actually works. Stage 3 actually just compares the output
-of stage 1 and stage 2 compilers -- if they generate exactly the same code,
-everything is good. If they generate different code, something bad must
-have happened, chances are the code generated by the stage 1 compiler is
-wrong, and so compiler we used to generate stage 2 is probably executing
-incorrectly (and so it's output is different to the output of the
-compiler before hand). If this happens, the compiler doesn't
-"bootstrap" -- it cannot reliably compile itself.
+Bootcheck then uses the stage 2 Mercury compiler to build the C files of
+another Mercury compiler, the stage 3 compiler, and compares them with
+the C files of the stage 2 compiler, which were built by the stage
+1 compiler. If they differ, then the stage 2 compiler does not
+execute the same algorithm as the stage 1 compiler. Since the stage 1
+and 2 compilers were built from the same source, the difference must
+have been introduced by differences in the compilers used to compile
+that source. Since stage 1 was compiled with a trusted compiler,
+the compiler used to generate the stage 2 executable (i.e. the stage
+1 compiler) must be buggy. If this happens, the compiler doesn't
+"bootstrap" -- it cannot reliably compile itself.
<p>
Finally, if you have checked out the "tests" module from CVS, the
bootcheck will use the stage 2 compiler, library and runtime to run all
@@ -170,10 +171,10 @@
<p>
<hr>
<p>
+Comments? Mail <a href = "mailto:mercury at cs.mu.oz.au">mercury at cs.mu.oz.au</a>,
or see our <a href = "../email.html" >contact</a> page.<br>
Last update was $Date: 2000/08/22 09:41:55 $ by $Author: petdr $@cs.mu.oz.au
</body>
</html>
-
--
Tyson Dowd #
# Surreal humour isn't everyone's cup of fur.
trd at cs.mu.oz.au #
http://www.cs.mu.oz.au/~trd #
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list