[m-rev.] for review: improve some faq entries
Julien Fischer
juliensf at csse.unimelb.edu.au
Sun Aug 23 01:54:16 AEST 2009
Improve some FAQ entries.
doc/faq.texi:
Describe how to configure Mercury so that it does not require
any GCC extensions.
Mention a perforamance problem with ``make install'' on
Mac OS X.
Julien.
Index: faq.texi
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/doc/faq.texi,v
retrieving revision 1.36
diff -u -r1.36 faq.texi
--- faq.texi 20 Jan 2009 06:35:13 -0000 1.36
+++ faq.texi 22 Aug 2009 15:36:02 -0000
@@ -91,23 +91,24 @@
@emph{The compiler crashes during the ``make install'' phase}
@sp 1
-An incompatibility between Mercury's low-level C backend and some GCC
-optimizations in GCC 4.2 seems to be causing problems. Try using a different
-version of GCC, otherwise the following instructions may help.
-
-After unpacking the tarball but before running @samp{configure}, create a file in
-the root directory of the unpacked source named @samp{Mmake.params} containing
-the line @samp{-EXTRA_CFLAGS=-O0}, and run @samp{configure} as
- at samp{./configure --with-llds-base-grade=none --with-default-grade=hlc.gc}.
-This disables GCC's optimizations and nearly all of Mercury's optimizations for
-the low-level C backend.
-
-Programs built using this Mercury installation will use the high-level C
-backend by default. To build a program in the low-level C grade the GCC
-optimizations should be disabled by creating a @samp{Mmake.params} file in the
-root directory of the program, as described above for the compiler.
+Mercury's use of GNU C extensions can cause problems with
+some versions of GCC, notably versions 4.2 and 4.3.
+Either use a different version of GCC, or configure Mercury
+so that it does require any GNU C extensions.
+The following describes how to do the latter.
+
+For versions of Mercury after 0.13.1, invoke the configure script with the
+option @samp{--with-llds-base-grade=none}.
+This will cause the compiler to be built in the @samp{none.gc} grade,
+which does not use any GNU C extensions.
+
+The configure script for Mercury version 0.13.1 (and before) does not support
+the above option.
+Instead create a file in the top-level directory of the unpacked source tree
+named @samp{Mmake.params} containing the line @samp{GRADE=none}.
-See bugs 66 and 77 in the bug database.
+After running the configure script, do ``make'' and ``make install''
+as normal.
@sp 1
@item
@@ -127,6 +128,9 @@
Alternatively, run @samp{make install LIBGRADES=<grades>} instead, where
``<grades>'' is a space-separated list of grades.
+Users of Mac OS X should note that there appear to be performance problems
+with the linker on some versions that operating system that can lead to
+excessive linking times with code generated by the Mercury compiler.
@end enumerate
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list