[m-dev.] for review: add web page for GCC back-end
Fergus Henderson
fjh at cs.mu.OZ.AU
Tue Feb 20 00:53:53 AEDT 2001
Estimated hours taken: 2
Add a web page for the GCC back-end interface.
w3/news/newsdb.inc:
Announce the GCC back-end interface.
Link to gcc-backend.html.
w3/download/gcc-backend.php3:
w3/download/include/gcc-backend.inc:
New files, for building gcc-backend.html.
This page describes the GCC back-end interface and how to download it.
w3/download/Makefile:
Add gcc-backend.html.
Workspace: /mnt/murlibobo/home/mercury0/fjh/mercury
Index: w3/download/Makefile
===================================================================
RCS file: /home/mercury1/repository/w3/download/Makefile,v
retrieving revision 1.6
diff -u -d -r1.6 Makefile
--- w3/download/Makefile 1999/12/18 14:00:24 1.6
+++ w3/download/Makefile 2001/02/19 13:21:59
@@ -2,6 +2,7 @@
ROOT=..
HTML= current-release-bugs.html \
+ gcc-backend.html \
limitations.html \
old-release.html \
release.html \
Index: w3/download/gcc-backend.php3
===================================================================
RCS file: gcc-backend.php3
diff -N gcc-backend.php3
--- /dev/null Wed Nov 15 09:24:47 2000
+++ gcc-backend.php3 Mon Feb 19 23:08:40 2001
@@ -0,0 +1,9 @@
+<HTML>
+<?
+ $title="GCC back-end / Mercury front-end";
+ $dir="download";
+ $root="..";
+ $include="gcc-backend.inc";
+ include "$root/include/template.inc"
+?>
+</HTML>
Index: w3/download/include/gcc-backend.inc
===================================================================
RCS file: gcc-backend.inc
diff -N gcc-backend.inc
--- /dev/null Wed Nov 15 09:24:47 2000
+++ gcc-backend.inc Tue Feb 20 00:50:18 2001
@@ -0,0 +1,74 @@
+<H2>Native code compiler</H2>
+
+The Mercury compiler can now generate assembler directly, rather than
+compiling to assembler via C. This is implemented by linking the
+Mercury compiler front-end with the GNU Compiler Collection back-end.
+The GNU Compiler Collection back-end is a fairly portable,
+relatively language-independent, and mostly target-independent
+optimizing compiler that has been ported to a very wide variety of
+platforms, and which has front-ends for a variety of languages,
+including C, C++, Ada, Fortran, Java, and now Mercury.
+
+<p>
+
+The current version of the Mercury native code compiler should be
+considered a beta release. It is based on an unreleased snapshot
+version of the GCC back-end. Currently it has only been tested on
+i686-pc-linux-gnu (Intel x86 PCs running GNU/Linux).
+
+<p>
+
+For more information, see the file gcc/mercury/README
+in the mercury-gcc distribution (see below).
+
+<p>
+<H3>Sources</H2>
+
+The sources for the Mercury native code compiler come in three parts:
+
+<ul>
+<li>
+The first part is the usual <b>mercury-compiler</b> distribution.
+This contains the Mercury compiler front-end (about 225,000 lines
+of Mercury), as well as the Mercury standard library (about 50,000
+lines of Mercury), runtime system (about 30,000 lines of C), etc.
+You'll need either version 0.10 (not yet released at the time of
+writing), or a release-of-the-day version dated February 2001 or
+later. You can get this from the <a href="<?echo
+$root?>/download.html">Download</a> section of the Mercury web site.
+
+<li>
+The second part is the <b>gcc</b> distribution (about 450,000 lines of C).
+You'll need version 3.0 (not yet released at the time of writing),
+or a snapshot version dated February 2001 or later.
+The gcc distribution is available from the <A HREF="http://gcc.gnu.org">
+GCC web site</A>. Or you can get it from the
+<A HREF="ftp://ftp.mercury.cs.mu.OZ.AU/pub/mercury/beta-releases/">
+Mercury ftp site</A>.
+One small <A HREF="http://gcc.gnu.org/ml/gcc-patches/2001-01/msg00577.html">
+patch</a> must be applied to the GCC sources
+to make them work with the Mercury compiler.
+
+<li>
+The third part is the <b>mercury-gcc</b> distribution, which provides
+some C code that interfaces between the Mercury compiler front-end
+and the GCC back-end. We hope to eventually make this part of
+the GCC distribution, but currently it is distributed separately,
+via the <A HREF="ftp://ftp.mercury.cs.mu.OZ.AU/pub/mercury/beta-releases/">
+Mercury ftp site</A>.
+</ul>
+
+Unfortunately the interface to the GCC back-end changes quite frequently,
+so you need to be careful that you get matching versions of all of the
+above.
+
+<H3>Binaries</H3>
+
+Some of our release-of-the-day binary distributions --
+specifically the ones named "*i686-pc-linux-gnu-O4*"
+(but NOT the ones named "*i686-pc-linux-gnu-O4-hlc")
+currently include the native-code compiler.
+
+We also hope to include the native-code compiler in the
+binary distributions for Mercury 0.10.
+
Index: w3/news/newsdb.inc
===================================================================
RCS file: /home/mercury1/repository/w3/news/newsdb.inc,v
retrieving revision 1.53
diff -u -d -r1.53 newsdb.inc
--- w3/news/newsdb.inc 2000/10/06 03:27:38 1.53
+++ w3/news/newsdb.inc 2001/02/19 13:53:31
@@ -22,6 +22,16 @@
$newsdb = array(
+"19 Feb 2001" => array("Native code back-end",
+
+"There's a <A HREF=\"download/gcc-backend.html\">new back-end</A>
+for the Mercury compiler that compiles directly to assembler,
+rather than than going via C.
+The new back-end is implemented by linking the Mercury compiler with the
+(relatively) language independent GNU Compiler Collection back-end.
+In other words, there is now a Mercury front-end for GCC!"
+),
+
"05 Oct 2000" => array("Events and Reports",
"Two new sections have been added to the web site. The events section
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
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