[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