# ChangeLog for dev-lang/mercury
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.64 2006/11/23 09:16:40 keri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/ChangeLog,v 1.65 2006/12/04 08:43:45 keri Exp $
+
+*mercury-0.13.1 (04 Dec 2006)
+
+ 04 Dec 2006; keri <keri@gentoo.org> +files/mercury-0.13.1-CFLAGS.patch,
+ +files/mercury-0.13.1-LIBDIR.patch, +files/mercury-0.13.1-MAKEOPTS.patch,
+ +files/mercury-0.13.1-bootstrap.patch,
+ +files/mercury-0.13.1-deep_profiler.patch,
+ +files/mercury-0.13.1-docs.patch, +files/mercury-0.13.1-libgrades.patch,
+ +files/mercury-0.13.1-parallel-install_grades.patch,
+ +files/mercury-0.13.1-portage.patch, +files/mercury-0.13.1-tests.patch,
+ +mercury-0.13.1.ebuild:
+ Version bump.
23 Nov 2006; keri <keri@gentoo.org>
+files/mercury-0.12.2-pic_o-dependencies.patch,
MD5 7c1c6efd4d47e98f1bafcf15303b4f4d files/mercury-0.13.0-tests.patch 5614
RMD160 14d7e47cbdd33dfd982610578d161405f5947809 files/mercury-0.13.0-tests.patch 5614
SHA256 8e4f97836d09ca7f16f809de999d4f8e7649ff9ed19341dfb8443c35c7ea2baa files/mercury-0.13.0-tests.patch 5614
+AUX mercury-0.13.1-CFLAGS.patch 1323 RMD160 9a2dbc8c0e7bbd9b3848b5e04cf8119801891f91 SHA1 b632dd91ceabbd3a5de7605a1679848a48148fd8 SHA256 aa202b69450f4f122128f31c1976d45a7b05993629e5a7d3f60884c410a31ac6
+MD5 316d2f1c83b67dc73f38d192802c030d files/mercury-0.13.1-CFLAGS.patch 1323
+RMD160 9a2dbc8c0e7bbd9b3848b5e04cf8119801891f91 files/mercury-0.13.1-CFLAGS.patch 1323
+SHA256 aa202b69450f4f122128f31c1976d45a7b05993629e5a7d3f60884c410a31ac6 files/mercury-0.13.1-CFLAGS.patch 1323
+AUX mercury-0.13.1-LIBDIR.patch 2436 RMD160 820f1eb40c3f0c0a506c4c721cd5bf21666f18e2 SHA1 d68d760dcf01345f3e3e11644c5efdfd4c534b7d SHA256 f6782cb78e99a878dcd3852fd592202de11e6435e6ab2e763243c3b874177511
+MD5 f3db02e4713d357876f25156da35cb78 files/mercury-0.13.1-LIBDIR.patch 2436
+RMD160 820f1eb40c3f0c0a506c4c721cd5bf21666f18e2 files/mercury-0.13.1-LIBDIR.patch 2436
+SHA256 f6782cb78e99a878dcd3852fd592202de11e6435e6ab2e763243c3b874177511 files/mercury-0.13.1-LIBDIR.patch 2436
+AUX mercury-0.13.1-MAKEOPTS.patch 602 RMD160 505638677ca880c4384070adeb88ce72d5976aba SHA1 ea0325b640ba4e1f22ad90728a488e6d98313f3b SHA256 1e1f52b6037d69bac0f51c58e0a6f667a8e276fcbdacb3f317738d05471262de
+MD5 a3b273c80f9971fd2d335a6c457e62a0 files/mercury-0.13.1-MAKEOPTS.patch 602
+RMD160 505638677ca880c4384070adeb88ce72d5976aba files/mercury-0.13.1-MAKEOPTS.patch 602
+SHA256 1e1f52b6037d69bac0f51c58e0a6f667a8e276fcbdacb3f317738d05471262de files/mercury-0.13.1-MAKEOPTS.patch 602
+AUX mercury-0.13.1-bootstrap.patch 2277 RMD160 d82c7285c1c0c694527ecfd8ea8d4d328dbba4b0 SHA1 4229978bdec69b780d55160bf05e0c531d9ad524 SHA256 ad8e9e4b92a0d534b254e15b4f1d1ddc4e06398c29c63ad65471b8e2dbc5a634
+MD5 b61fbd37f1c0a9ea9320f3ffcf5e06d7 files/mercury-0.13.1-bootstrap.patch 2277
+RMD160 d82c7285c1c0c694527ecfd8ea8d4d328dbba4b0 files/mercury-0.13.1-bootstrap.patch 2277
+SHA256 ad8e9e4b92a0d534b254e15b4f1d1ddc4e06398c29c63ad65471b8e2dbc5a634 files/mercury-0.13.1-bootstrap.patch 2277
+AUX mercury-0.13.1-deep_profiler.patch 2807 RMD160 f7b3c9efb95a81b5f076fa6385c21dd3b63aacdb SHA1 0a8a267ba6d1f1fb64e1993866136e3f443efdfb SHA256 2871b0d82e8442019611cf2ed9b563f85b1067a68967c54e06e2131e6cf08430
+MD5 6e97f243c0169bad8ca196660b31811e files/mercury-0.13.1-deep_profiler.patch 2807
+RMD160 f7b3c9efb95a81b5f076fa6385c21dd3b63aacdb files/mercury-0.13.1-deep_profiler.patch 2807
+SHA256 2871b0d82e8442019611cf2ed9b563f85b1067a68967c54e06e2131e6cf08430 files/mercury-0.13.1-deep_profiler.patch 2807
+AUX mercury-0.13.1-docs.patch 796 RMD160 842e415a6c97d910e77e7179ab9b3f7d6447827c SHA1 4abd392a9f8030c87c3be7e7a183deaa61966e74 SHA256 c5e3ff95f34e8822bafc54d511a1f5f710ba485cffb661fccac163daf73ea6c2
+MD5 9118a4e821b43e8f0e88804b4bfca690 files/mercury-0.13.1-docs.patch 796
+RMD160 842e415a6c97d910e77e7179ab9b3f7d6447827c files/mercury-0.13.1-docs.patch 796
+SHA256 c5e3ff95f34e8822bafc54d511a1f5f710ba485cffb661fccac163daf73ea6c2 files/mercury-0.13.1-docs.patch 796
+AUX mercury-0.13.1-libgrades.patch 13854 RMD160 0f4dd4b97390962524944e3e57ce8d5b405967ed SHA1 8f5bdb0c367cb94aea0eae0dd15bddd164003cf1 SHA256 207d9af7c741845c1b0fcc098413952f8b002f4f71803fb38e474c63118d578f
+MD5 6422dc7c8f69ffe64823b94a5cd0ef35 files/mercury-0.13.1-libgrades.patch 13854
+RMD160 0f4dd4b97390962524944e3e57ce8d5b405967ed files/mercury-0.13.1-libgrades.patch 13854
+SHA256 207d9af7c741845c1b0fcc098413952f8b002f4f71803fb38e474c63118d578f files/mercury-0.13.1-libgrades.patch 13854
+AUX mercury-0.13.1-parallel-install_grades.patch 633 RMD160 5492e49f5ab7c8f16f52148a2678cc56c9398071 SHA1 fc90c6aebb4501178836d67ccc67a5b997f5314a SHA256 5630e0d82d4d76603817852601a6c0aeffe1f56e73b57f3c562ba29e5e5eeb1f
+MD5 d56589afef9155f41bb3a432d8c55c9e files/mercury-0.13.1-parallel-install_grades.patch 633
+RMD160 5492e49f5ab7c8f16f52148a2678cc56c9398071 files/mercury-0.13.1-parallel-install_grades.patch 633
+SHA256 5630e0d82d4d76603817852601a6c0aeffe1f56e73b57f3c562ba29e5e5eeb1f files/mercury-0.13.1-parallel-install_grades.patch 633
+AUX mercury-0.13.1-portage.patch 2891 RMD160 18690121ca57a11d9ad77a300eecb753c1eeed12 SHA1 f5cf54bcffe37764b96228e112e95da8b4cb93e5 SHA256 b03e021502c0440ae84587ccb3604f8c0315239c9307b1af87fcc57f81a45c30
+MD5 d1981fcad75e93320af875381190fb0c files/mercury-0.13.1-portage.patch 2891
+RMD160 18690121ca57a11d9ad77a300eecb753c1eeed12 files/mercury-0.13.1-portage.patch 2891
+SHA256 b03e021502c0440ae84587ccb3604f8c0315239c9307b1af87fcc57f81a45c30 files/mercury-0.13.1-portage.patch 2891
+AUX mercury-0.13.1-tests.patch 15074 RMD160 26594fb4404d3620ea454ec24ed3e6bb34ed501a SHA1 526488bac46ee66e0e446690054f20d44cd207af SHA256 64892634aad5abc0df4fb0be940b9956b8e85ce713818a75b9176b9e9feff647
+MD5 8f12e666c9f377c1af363f9af1d1a0c8 files/mercury-0.13.1-tests.patch 15074
+RMD160 26594fb4404d3620ea454ec24ed3e6bb34ed501a files/mercury-0.13.1-tests.patch 15074
+SHA256 64892634aad5abc0df4fb0be940b9956b8e85ce713818a75b9176b9e9feff647 files/mercury-0.13.1-tests.patch 15074
DIST mercury-compiler-0.12.2.tar.gz 15074997 RMD160 227a3e1796d96ad77324d9f1d39efd6be7fce80e SHA1 96b7a878370bb256da28c8ffa1c4b0a4bc3711d6 SHA256 7fa1df8030cdc3d4dc848d102ba64bf23c12004461c985290622b81753b89572
DIST mercury-compiler-0.13.0.tar.gz 15861463 RMD160 4fa5f45d6c7496679bc1e957bb45541020244d5b SHA1 7a9362225e1b51d7d1b342c39203ad0ef1b9f952 SHA256 0edf3855dab94f4562d972a3a401dff2f722a2b20b1617b6c4ce9ba68e576342
+DIST mercury-compiler-0.13.1.tar.gz 15938824 RMD160 a0a80cd2ac7393cf084b79d40230bd1efe795c5f SHA1 919eb45ba34c503fc2e7391225e52a5cfbb80616 SHA256 b1f4984e00ad917824d3340dcf2a41bede39fe02ef2e516351467f4761985196
DIST mercury-tests-0.12.2.tar.gz 897454 RMD160 e7cf515b0d56aff5432c5ec3e535faa907ce2955 SHA1 1f80ff38f141b975fe472c2aee48d44b8e187c08 SHA256 6d3fd92d11ce2a9ce99cfa35990027557d1c70f00a3417639523b6e27f746280
DIST mercury-tests-0.13.0.tar.gz 984910 RMD160 1b90b941488b9da57ff27ab1506b902b5fa5e170 SHA1 df5fa6725bb37fdba8085a441687bf056111e4e7 SHA256 227561407d63d177e6bfdf08d58481a9dcf6228d225ca2b67643c1af16cedc08
+DIST mercury-tests-0.13.1.tar.gz 986644 RMD160 779609ba5c985e562b0962434c9281c07ddaa5cb SHA1 7f08467e6642daa4fce9136e12b4e5ca2ac41b9d SHA256 f6c8250b9996584d3c7cd6cc0609716027b127e54b2aedf5ebfcab98a44159dc
EBUILD mercury-0.12.2-r3.ebuild 3450 RMD160 99593c2d1e4112caa5f880a3fa28931a7ec700d3 SHA1 01641c7d20d7900c7a9bac9b4141d5b6947988d5 SHA256 3ab81255629af07fd28f594e335ac868cab5cf0e1c5ec668048da405aa82b5ac
MD5 181fbbca5d6184eafcf27c498245e199 mercury-0.12.2-r3.ebuild 3450
RMD160 99593c2d1e4112caa5f880a3fa28931a7ec700d3 mercury-0.12.2-r3.ebuild 3450
MD5 b1c1a96d2f9339b78e135b1a8a06d5a3 mercury-0.13.0.ebuild 3399
RMD160 24b4653ef73193e0de4d95d85a0aa7f589510f47 mercury-0.13.0.ebuild 3399
SHA256 edf43ee4d3ca5cc66da22b7eac76f153017f8c1f453bdc8459067d7ab8b64f5a mercury-0.13.0.ebuild 3399
-MISC ChangeLog 11705 RMD160 a68771287ed8f7a8e8065d7a5032fbde027e96ef SHA1 f38e8efe3f5b3dee1b762304c6def21aac7ef9ef SHA256 fcfe3168a5bcfa34176e433345614dfb8fdb546bb970b1cdc6fd27e3a844c107
-MD5 698741fb4e23f98359cf4752760e58ec ChangeLog 11705
-RMD160 a68771287ed8f7a8e8065d7a5032fbde027e96ef ChangeLog 11705
-SHA256 fcfe3168a5bcfa34176e433345614dfb8fdb546bb970b1cdc6fd27e3a844c107 ChangeLog 11705
+EBUILD mercury-0.13.1.ebuild 3346 RMD160 dd731ac257203aca48294fa67b9bdee4c636e6ab SHA1 d8a9456db6ba4bfa5ece3334ffcda96c2dc4e5c5 SHA256 a27a34005f45e378df82bbad8409c9c8c30d253362982f9ebdcd5db883f66a7f
+MD5 f34187bbf12011057168c2a7583fff5c mercury-0.13.1.ebuild 3346
+RMD160 dd731ac257203aca48294fa67b9bdee4c636e6ab mercury-0.13.1.ebuild 3346
+SHA256 a27a34005f45e378df82bbad8409c9c8c30d253362982f9ebdcd5db883f66a7f mercury-0.13.1.ebuild 3346
+MISC ChangeLog 12219 RMD160 e27a817e6cc01e1ff9474668a76acee9aa45fbc7 SHA1 7c0e3209793596793d99a4ad6b3e0177e21730be SHA256 40138a1880aefa9b300af9c38f7fed84bdd698de67556bab139846d9bd7c13e9
+MD5 7e1d3a0cf2a8217450f3326f235e3766 ChangeLog 12219
+RMD160 e27a817e6cc01e1ff9474668a76acee9aa45fbc7 ChangeLog 12219
+SHA256 40138a1880aefa9b300af9c38f7fed84bdd698de67556bab139846d9bd7c13e9 ChangeLog 12219
MISC metadata.xml 247 RMD160 1b3df3c501d9a3b2e2651668be405677e8416397 SHA1 7b705a8a3368abab6ad31ea2fcb5e5db865d92b1 SHA256 2768d0688d443184194068497dcafb2e5d67521980cb46b7e8efc07d3900bcaa
MD5 6fca20d17d6d55a28537204aa9bb626f metadata.xml 247
RMD160 1b3df3c501d9a3b2e2651668be405677e8416397 metadata.xml 247
MD5 abd1c2293e5003b768dcb1eb1887b169 files/digest-mercury-0.13.0 539
RMD160 236f26377c7b9be80a71be194ffc81a5e17e951c files/digest-mercury-0.13.0 539
SHA256 d1aea703e42770341422638e334bea55c6ec6e502d4bd15ef3667d675a903a06 files/digest-mercury-0.13.0 539
+MD5 0f39d29a07bf6effc2c408dec8260607 files/digest-mercury-0.13.1 539
+RMD160 5e08dc52485dd743b512598f32091e3d32ed2baa files/digest-mercury-0.13.1 539
+SHA256 9848939c8bd8cbe954cf0eb5056cd843a0e5c4c53706fac6b44dd6d068bd8f9d files/digest-mercury-0.13.1 539
--- /dev/null
+MD5 f75f2241a974792d30c18c4325c763d0 mercury-compiler-0.13.1.tar.gz 15938824
+RMD160 a0a80cd2ac7393cf084b79d40230bd1efe795c5f mercury-compiler-0.13.1.tar.gz 15938824
+SHA256 b1f4984e00ad917824d3340dcf2a41bede39fe02ef2e516351467f4761985196 mercury-compiler-0.13.1.tar.gz 15938824
+MD5 1a238a79a6c8734775bb216c252806d9 mercury-tests-0.13.1.tar.gz 986644
+RMD160 779609ba5c985e562b0962434c9281c07ddaa5cb mercury-tests-0.13.1.tar.gz 986644
+SHA256 f6c8250b9996584d3c7cd6cc0609716027b127e54b2aedf5ebfcab98a44159dc mercury-tests-0.13.1.tar.gz 986644
--- /dev/null
+--- mercury-compiler-0.13.1.orig/scripts/mgnuc.in 2006-08-03 00:56:05.000000000 +1200
++++ mercury-compiler-0.13.1/scripts/mgnuc.in 2006-12-04 20:55:47.000000000 +1300
+@@ -53,7 +53,7 @@
+ # -Wenum-clash is for C++ only
+ # -Wunused causes various spurious warnings
+
+- OPT_OPTS="-O2 $CFLAGS_FOR_NO_STRICT_ALIASING -fomit-frame-pointer"
++ OPT_OPTS="@CFLAGS_FOR_OPT@"
+ DEBUG_OPT="-g"
+ COMPILER=gcc
+ ;;
+--- mercury-compiler-0.13.1.orig/configure 2006-12-01 22:37:01.000000000 +1300
++++ mercury-compiler-0.13.1/configure 2006-12-04 20:55:47.000000000 +1300
+@@ -3741,7 +3741,7 @@
+ # the `-lc' and `-lg' libraries have different contents; specifically,
+ # only the latter contains memalign(). We need to make sure that the
+ # test for memalign() doesn't use `-g', since `ml' doesn't use `-g'.
+-CFLAGS="-O"
++# CFLAGS="-O"
+
+ # we also need to add the appropriate `-I' options so that the test programs
+ # can #include various Mercury runtime headers.
+@@ -10050,7 +10050,7 @@
+ # enable, and why, see scripts/mgnuc.in.
+ CFLAGS_FOR_WARNINGS="-Wall -Wwrite-strings -Wshadow -Wmissing-prototypes -Wno-unused -Wno-uninitialized -Wstrict-prototypes"
+
+- CFLAGS_FOR_OPT="-O2 -fomit-frame-pointer"
++ CFLAGS_FOR_OPT="$CFLAGS"
+ CFLAGS_FOR_DEBUG="-g"
+ MCFLAGS_FOR_CC=
+ ;;
--- /dev/null
+--- mercury-compiler-0.13.1.orig/configure 2006-12-01 22:37:01.000000000 +1300
++++ mercury-compiler-0.13.1/configure 2006-12-04 21:11:49.000000000 +1300
+@@ -1609,7 +1609,7 @@
+
+
+ PREFIX="`$CYGPATH $PREFIX`"
+-LIBDIR="`$CYGPATH $PREFIX/lib/mercury`"
++LIBDIR="`$CYGPATH $PREFIX/lib/mercury-$PACKAGE_VERSION`"
+ NONSHARED_LIB_DIR=${MERCURY_NONSHARED_LIB_DIR=$PREFIX/lib/nonshared}
+
+
+--- mercury-compiler-0.13.1.orig/scripts/Mmake.vars.in 2006-11-03 18:42:28.000000000 +1300
++++ mercury-compiler-0.13.1/scripts/Mmake.vars.in 2006-12-04 21:11:49.000000000 +1300
+@@ -717,18 +717,18 @@
+ INSTALL_PREFIX = @prefix@
+ FINAL_INSTALL_PREFIX = @prefix@
+ INSTALL_BINDIR = $(INSTALL_PREFIX)/bin
+-INSTALL_LIBDIR = $(INSTALL_PREFIX)/lib/mercury
+-FINAL_INSTALL_LIBDIR = $(FINAL_INSTALL_PREFIX)/lib/mercury
+-INSTALL_JAVA_LIBRARY_DIR= $(INSTALL_PREFIX)/lib/mercury/lib/java
++INSTALL_LIBDIR = $(INSTALL_PREFIX)/lib/mercury-@PACKAGE_VERSION@
++FINAL_INSTALL_LIBDIR = $(FINAL_INSTALL_PREFIX)/lib/mercury-@PACKAGE_VERSION@
++INSTALL_JAVA_LIBRARY_DIR= $(INSTALL_LIBDIR)/lib/java
+ INSTALL_INFO_DIR = $(INSTALL_PREFIX)/info
+-INSTALL_DVI_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
+-INSTALL_TEXT_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
+-INSTALL_PS_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
+-INSTALL_PDF_DIR = $(INSTALL_PREFIX)/lib/mercury/doc
++INSTALL_DVI_DIR = $(INSTALL_LIBDIR)/doc
++INSTALL_TEXT_DIR = $(INSTALL_LIBDIR)/doc
++INSTALL_PS_DIR = $(INSTALL_LIBDIR)/doc
++INSTALL_PDF_DIR = $(INSTALL_LIBDIR)/doc
+ INSTALL_MAN_DIR = $(INSTALL_PREFIX)/man
+-INSTALL_HTML_DIR = $(INSTALL_PREFIX)/lib/mercury/html
+-INSTALL_MDB_DOC_DIR = $(INSTALL_PREFIX)/lib/mercury/mdb
+-INSTALL_ELISP_DIR = $(INSTALL_PREFIX)/lib/mercury/elisp
++INSTALL_HTML_DIR = $(INSTALL_LIBDIR)/html
++INSTALL_MDB_DOC_DIR = $(INSTALL_LIBDIR)/mdb
++INSTALL_ELISP_DIR = $(INSTALL_LIBDIR)/elisp
+ INSTALL_CGI_DIR = @CGIDIR@
+
+ # You should not need to override anything below here
+--- mercury-compiler-0.13.1.orig/scripts/mercury_config.in 2005-10-27 14:48:24.000000000 +1300
++++ mercury-compiler-0.13.1/scripts/mercury_config.in 2006-12-04 21:11:49.000000000 +1300
+@@ -90,8 +90,8 @@
+ shift
+ done
+
+-input_libdir="$input_prefix/lib/mercury"
+-output_libdir="$output_prefix/lib/mercury"
++input_libdir="$input_prefix/lib/mercury-@PACKAGE_VERSION@"
++output_libdir="$output_prefix/lib/mercury-@PACKAGE_VERSION@"
+
+ # mercury_config regenerates itself, so we can't just execute it in place.
+ case $recursive in
--- /dev/null
+--- mercury-compiler-0.13.1.orig/Makefile 2005-08-22 15:38:34.000000000 +1200
++++ mercury-compiler-0.13.1/Makefile 2006-12-04 21:26:37.000000000 +1300
+@@ -15,7 +15,7 @@
+ #
+ #-----------------------------------------------------------------------------#
+
+-
++PARALLEL= $(MAKEOPTS)
+ SHELL= /bin/sh
+ MMAKE= MMAKE_DIR=`pwd`/scripts scripts/mmake
+ MMAKE_SUBDIR= MMAKE_DIR=`pwd`/../scripts ../scripts/mmake $(PARALLEL)
+@@ -69,6 +69,6 @@
+ $(MMAKE) uninstall
+
+ .DEFAULT:
+- $(MMAKE) $@
++ $(MMAKE) MMAKEFLAGS=$(PARALLEL) $@
+
+ #-----------------------------------------------------------------------------#
--- /dev/null
+--- mercury-compiler-0.13.1.orig/configure 2006-12-01 22:37:01.000000000 +1300
++++ mercury-compiler-0.13.1/configure 2006-12-04 20:50:57.000000000 +1300
+@@ -8980,34 +8980,34 @@
+
+ if test "$BEST_GRADE_FOR_COMPILER" != "$BOOTSTRAP_GRADE"; then
+ if test "$BOOTSTRAP_MC" = ""; then
+- GRADE="$BOOTSTRAP_GRADE"
+- { echo "$as_me:$LINENO: WARNING: Mercury compiler not yet installed
+-**** cannot use grade \`$BEST_GRADE_FOR_COMPILER'
+-**** using grade \`$GRADE' to compile the compiler
+-**** after installation is complete you should reinstall
+-**** from scratch so you can use the more efficient
+-**** grade \`$BEST_GRADE_FOR_COMPILER'." >&5
+-echo "$as_me: WARNING: Mercury compiler not yet installed
+-**** cannot use grade \`$BEST_GRADE_FOR_COMPILER'
+-**** using grade \`$GRADE' to compile the compiler
+-**** after installation is complete you should reinstall
+-**** from scratch so you can use the more efficient
+-**** grade \`$BEST_GRADE_FOR_COMPILER'." >&2;}
+-
++ if test "$BOOTSTRAP_STAGE" = "1"; then
++ GRADE="$BOOTSTRAP_GRADE"
++ else
++ GRADE=$BEST_GRADE_FOR_COMPILER
++ find library compiler browser mdbcomp analysis \
++ profiler deep_profiler \
++ -name \*.c -o -name \*.c_date | \
++ xargs rm > /dev/null 2>&1
++ find -name \*.o -o -name \*.pic_o -o \
++ -name \*.a -o -name \*.so | \
++ xargs rm > /dev/null 2>&1
+++ rm -f compiler/mercury_compile profiler/mercury_profile
++ fi
+ else
+- GRADE=$BEST_GRADE_FOR_COMPILER
+- echo "using grade \`$GRADE' to compile the compiler
+- compiler and library will be rebuilt with new grade
+- installation may take a long time" 1>&6
+- find library compiler browser mdbcomp analysis \
+- profiler deep_profiler \
+- -name \*.c -o -name \*.c_date | \
+- xargs rm > /dev/null 2>&1
++ if test "$BOOTSTRAP_STAGE" = "1"; then
++ GRADE=$BEST_GRADE_FOR_COMPILER
++ find library compiler browser mdbcomp analysis \
++ profiler deep_profiler \
++ -name \*.c -o -name \*.c_date | \
++ xargs rm > /dev/null 2>&1
++ else
++ GRADE=$BEST_GRADE_FOR_COMPILER
++ fi
+ fi
+ else
+ GRADE=$BEST_GRADE_FOR_COMPILER
+- echo "using grade \`$GRADE' to compile the compiler" 1>&6
+ fi
++echo "using grade \`$GRADE' to compile the compiler" 1>&6
+
+
+ #-----------------------------------------------------------------------------#
--- /dev/null
+--- mercury-compiler-0.13.1.orig/configure 2006-12-01 22:37:01.000000000 +1300
++++ mercury-compiler-0.13.1/configure 2006-12-04 21:00:23.000000000 +1300
+@@ -8666,14 +8666,14 @@
+ esac
+
+ case $enable_deep_profiler in
+- default)
+- if test -d $mercury_cv_default_cgi_dir; then
+- mercury_cv_enable_deep_profiler=$mercury_cv_can_enable_deep_profiler
+- mercury_cv_cgi_dir=$mercury_cv_default_cgi_dir
+- else
+- mercury_cv_enable_deep_profiler=no
+- fi
+- ;;
++# default)
++# if test -d $mercury_cv_default_cgi_dir; then
++# mercury_cv_enable_deep_profiler=$mercury_cv_can_enable_deep_profiler
++# mercury_cv_cgi_dir=$mercury_cv_default_cgi_dir
++# else
++# mercury_cv_enable_deep_profiler=no
++# fi
++# ;;
+ no)
+ mercury_cv_enable_deep_profiler=no
+ ;;
+@@ -8698,17 +8698,17 @@
+ ;;
+ esac
+
+-if test $mercury_cv_enable_deep_profiler = yes; then
+- if test -d $mercury_cv_cgi_dir; then
+- true
+- else
+- echo "$as_me:$LINENO: result: $enable_deep_profiler" >&5
+-echo "${ECHO_T}$enable_deep_profiler" >&6
+- { { echo "$as_me:$LINENO: error: CGI script directory $mercury_cv_cgi_dir does not exist" >&5
+-echo "$as_me: error: CGI script directory $mercury_cv_cgi_dir does not exist" >&2;}
+- { (exit 1); exit 1; }; }
+- fi
+-fi
++#if test $mercury_cv_enable_deep_profiler = yes; then
++# if test -d $mercury_cv_cgi_dir; then
++# true
++# else
++# echo "$as_me:$LINENO: result: $enable_deep_profiler" >&5
++#echo "${ECHO_T}$enable_deep_profiler" >&6
++# { { echo "$as_me:$LINENO: error: CGI script directory $mercury_cv_cgi_dir does not exist" >&5
++#echo "$as_me: error: CGI script directory $mercury_cv_cgi_dir does not exist" >&2;}
++# { (exit 1); exit 1; }; }
++# fi
++#fi
+
+ echo "$as_me:$LINENO: result: $mercury_cv_enable_deep_profiler" >&5
+ echo "${ECHO_T}$mercury_cv_enable_deep_profiler" >&6
+--- mercury-compiler-0.13.1.orig/deep_profiler/Mmakefile 2005-12-16 18:49:39.000000000 +1300
++++ mercury-compiler-0.13.1/deep_profiler/Mmakefile 2006-12-04 21:00:35.000000000 +1300
+@@ -155,12 +155,12 @@
+ # executed when we do the install. The mv is of course expected to
+ # fail during a first-time installation. The rm is before the move
+ # in case this is the third or later installation.
+- -if test $(ENABLE_DEEP_PROFILER) = yes ; then \
+- rm $(INSTALL_CGI_DIR)/mdprof_cgi.was ; \
+- mv $(INSTALL_CGI_DIR)/mdprof_cgi \
+- $(INSTALL_CGI_DIR)/mdprof_cgi.was ; \
+- cp mdprof_cgi $(INSTALL_CGI_DIR) ; \
+- fi
++ #-if test $(ENABLE_DEEP_PROFILER) = yes ; then \
++ # rm $(INSTALL_CGI_DIR)/mdprof_cgi.was ; \
++ # mv $(INSTALL_CGI_DIR)/mdprof_cgi \
++ # $(INSTALL_CGI_DIR)/mdprof_cgi.was ; \
++ # cp mdprof_cgi $(INSTALL_CGI_DIR) ; \
++ #fi
+ # We also install mdprof_cgi in $(INSTALL_MERC_BIN_DIR).
+ # This is done just so that it can easily get put in the
+ # binary distribution (even if the step above failed).
--- /dev/null
+--- mercury-compiler-0.13.1.orig/doc/Mmakefile 2006-03-29 13:35:18.000000000 +1200
++++ mercury-compiler-0.13.1/doc/Mmakefile 2006-12-04 21:10:35.000000000 +1300
+@@ -120,7 +120,7 @@
+ # formatted versions of the man pages.
+ # But it might make sense to add them.
+ .PHONY: all
+-all: $(INFOPAGES) $(DVI) $(HTML) manpages $(MDB_DOC)
++all: $(INFOPAGES) $(HTML) manpages $(MDB_DOC)
+ #all: ps pdf text formatted_manpages
+
+ #-----------------------------------------------------------------------------#
+@@ -331,7 +331,7 @@
+ # versions of the documentation. If they are added they should
+ # be installed here.
+ .PHONY: install
+-install: install_info install_html install_dvi install_manpages \
++install: install_info install_html install_manpages \
+ install_mdb_doc
+ # install_text install_ps
+
--- /dev/null
+--- mercury-compiler-0.13.1.orig/Mmakefile 2005-08-12 03:56:57.000000000 +1200
++++ mercury-compiler-0.13.1/Mmakefile 2006-12-04 21:19:06.000000000 +1300
+@@ -281,6 +281,54 @@
+ mdbcomp browser trace
+ +cd deep_profiler && $(SUBDIR_MMAKE)
+
++libgrades:
++ +for grade in x $(LIBGRADES); do \
++ if [ "$$grade" != "x" -a "$$grade" != "$(GRADE)" ]; then \
++ gc_grade=`scripts/ml --grade $$grade --print-gc-grade`; \
++ TWS=`/bin/pwd`/libgrades/$$grade; \
++ /bin/rm -fr libgrades/$$grade; \
++ mkdir -p libgrades/$$grade; \
++ ( scripts/prepare_tmp_dir_fixed_part $$grade && \
++ scripts/prepare_tmp_dir_grade_part $$grade ) && \
++ ( cd libgrades/$$grade/boehm_gc && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade \
++ WORKSPACE=$$TWS GC_GRADE=$$gc_grade \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/runtime && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/library && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ depend && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/mdbcomp && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ depend && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/browser && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ depend && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ ( cd libgrades/$$grade/trace && \
++ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
++ MERCURY_COMPILER=$$TWS/compiler/mercury_compile \
++ libgrade ) && \
++ true || \
++ exit 1; \
++ fi; \
++ done
++
+ #-----------------------------------------------------------------------------#
+
+ .PHONY: tags
+@@ -483,28 +531,13 @@
+ @echo
+ @echo "-- Installation complete."
+ @echo
+- @echo "-- Don't forget to add $(INSTALL_BINDIR) to your PATH,"
+- @echo "-- $(INSTALL_MAN_DIR) to your MANPATH,"
+- @echo "-- and $(INSTALL_INFO_DIR) to your INFOPATH,"
+- @if test $(ENABLE_DEEP_PROFILER) != yes || \
+- cmp -s deep_profiler/mdprof_cgi \
+- $(INSTALL_CGI_DIR)/mdprof_cgi; \
+- then true ; else \
+- echo "-- to copy deep_profiler/mdprof_cgi" \
+- "to $(INSTALL_CGI_DIR),"; \
+- fi
+- @echo "-- and to add the following lines to the \`.emacs' file"
+- @echo "-- in your home directory:"
+- @echo " (setq load-path (cons (expand-file-name "
+- @echo " \"$(INSTALL_ELISP_DIR)\") load-path))"
+- @echo " (autoload 'mdb \"gud\" \"Invoke the Mercury debugger\" t)"
+
+ .PHONY: install_main
+ install_main: all \
+ install_scripts install_util install_runtime install_boehm_gc \
+ install_library install_mdbcomp install_browser install_trace \
+ install_compiler install_slice install_profiler \
+- install_deep_profiler install_doc install_config
++ install_deep_profiler install_doc
+
+ .PHONY: install_scripts
+ install_scripts: scripts
+@@ -569,7 +602,7 @@
+ # .trans_opt .trans_opt_date .d .mh .mih .c_date .c .o .pic_o
+
+ .PHONY: install_grades
+-install_grades: all
++install_grades: all libgrades
+ #
+ # Use the newly installed compiler to build the libraries
+ # in various different grades. We need to override MC=mmc
+@@ -577,44 +610,33 @@
+ # runs the newly installed compiler, rather than using the
+ # bootstrap compiler.
+ #
+- /bin/rm -fr tmp_dir
+- scripts/prepare_tmp_dir_fixed_part
+ +for grade in x $(LIBGRADES); do \
+ if [ "$$grade" != "x" -a "$$grade" != "$(GRADE)" ]; then \
+ gc_grade=`scripts/ml --grade $$grade --print-gc-grade`; \
+- TWS=`/bin/pwd`/tmp_dir; \
+- scripts/prepare_tmp_dir_grade_part; \
+- ( cd tmp_dir/boehm_gc && \
++ TWS=`/bin/pwd`/libgrades/$$grade; \
++ ( cd libgrades/$$grade/boehm_gc && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade \
+ WORKSPACE=$$TWS GC_GRADE=$$gc_grade \
+ install_lib ) && \
+- ( cd tmp_dir/runtime && \
++ ( cd libgrades/$$grade/runtime && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_lib ) && \
+- ( cd tmp_dir/library && \
+- $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+- depend && \
++ ( cd libgrades/$$grade/library && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_library ) && \
+- ( cd tmp_dir/mdbcomp && \
+- $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+- depend && \
++ ( cd libgrades/$$grade/mdbcomp && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_library ) && \
+- ( cd tmp_dir/browser && \
+- $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+- depend && \
++ ( cd libgrades/$$grade/browser && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_library ) && \
+- ( cd tmp_dir/trace && \
++ ( cd libgrades/$$grade/trace && \
+ $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade WORKSPACE=$$TWS \
+ install_lib ) && \
+ true || \
+- { echo "To clean up from failed install, remove tmp_dir"; \
+- exit 1; }; \
++ exit 1; \
+ fi; \
+ done
+- if test ! -f .leave_tmp_dir; then rm -fr tmp_dir; fi
+
+ .PHONY: install_split_library
+ install_split_library: scripts dep_library
+--- mercury-compiler-0.13.1.orig/boehm_gc/Mmakefile 2006-11-15 03:09:19.000000000 +1300
++++ mercury-compiler-0.13.1/boehm_gc/Mmakefile 2006-12-04 21:19:06.000000000 +1300
+@@ -90,6 +90,9 @@
+ .PHONY: force
+ force:
+
++.PHONY: libgrade
++libgrade: lib$(GC_GRADE).$A lib$(GC_GRADE).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ # installation rules
+--- mercury-compiler-0.13.1.orig/browser/Mmakefile 2005-12-16 18:49:31.000000000 +1300
++++ mercury-compiler-0.13.1/browser/Mmakefile 2006-12-04 21:19:06.000000000 +1300
+@@ -186,6 +186,11 @@
+ .PHONY: int3s
+ int3s: $(INT3S_TARGETS)
+
++.PHONY: libgrade
++libgrade: \
++ lib$(BROWSER_LIB_NAME).$A \
++ lib$(BROWSER_LIB_NAME).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ tags: $(MTAGS) $($(BROWSER_LIB_NAME).ms)
+--- mercury-compiler-0.13.1.orig/library/Mmakefile 2006-01-10 18:30:36.000000000 +1300
++++ mercury-compiler-0.13.1/library/Mmakefile 2006-12-04 21:19:06.000000000 +1300
+@@ -196,6 +196,9 @@
+ trans_opts: $(STD_LIB_NAME).trans_opts
+ $(STD_LIB_NAME).trans_opts: $($(STD_LIB_NAME).trans_opts)
+
++.PHONY: libgrade
++libgrade: lib$(STD_LIB_NAME)
++
+ #-----------------------------------------------------------------------------#
+
+ tags: $(MTAGS) $($(STD_LIB_NAME).ms)
+--- mercury-compiler-0.13.1.orig/mdbcomp/Mmakefile 2005-12-16 18:49:40.000000000 +1300
++++ mercury-compiler-0.13.1/mdbcomp/Mmakefile 2006-12-04 21:19:06.000000000 +1300
+@@ -150,6 +150,13 @@
+ .PHONY: int3s
+ int3s: $(INT3S_TARGETS)
+
++.PHONY: libgrade
++libgrade: \
++ $(mer_mdbcomp.int3s) $(mer_mdbcomp.ints) \
++ lib$(MDBCOMP_LIB_NAME).$A \
++ lib$(MDBCOMP_LIB_NAME).$(EXT_FOR_SHARED_LIB) \
++ all-ints
++
+ #-----------------------------------------------------------------------------#
+
+ tags: $(MTAGS) $($(MDBCOMP_LIB_NAME).ms)
+--- mercury-compiler-0.13.1.orig/runtime/Mmakefile 2006-11-15 03:09:20.000000000 +1300
++++ mercury-compiler-0.13.1/runtime/Mmakefile 2006-12-04 21:19:06.000000000 +1300
+@@ -420,6 +420,9 @@
+ @if test ! -f tags; then echo making tags; \
+ ctags $(CFILES) $(HDRS) $(BODY_HDRS) $(LIB_DLL_H); fi
+
++.PHONY: libgrade
++libgrade: lib$(RT_LIB_NAME).$A lib$(RT_LIB_NAME).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ # installation rules
+--- mercury-compiler-0.13.1.orig/scripts/prepare_tmp_dir_fixed_part.in 2005-01-28 20:11:59.000000000 +1300
++++ mercury-compiler-0.13.1/scripts/prepare_tmp_dir_fixed_part.in 2006-12-04 21:19:06.000000000 +1300
+@@ -12,18 +12,20 @@
+ fi
+ wd=`/bin/pwd`
+
+-mkdir tmp_dir
+-cp Mmake* tmp_dir
+-cp Mercury.* tmp_dir
+-cp VERSION tmp_dir
+-cp config* tmp_dir
+-cp aclocal.m4 tmp_dir
+-mkdir tmp_dir/scripts
+-cp scripts/* tmp_dir/scripts
+-mkdir tmp_dir/tools
+-cp tools/* tmp_dir/tools
+-$ln_s $wd/compiler tmp_dir
+-$ln_s $wd/analysis tmp_dir
+-$ln_s $wd/robdd tmp_dir
+-$ln_s $wd/util tmp_dir
++libgrade_dir=libgrades/$1
++
++mkdir -p $libgrade_dir
++cp Mmake* $libgrade_dir
++cp Mercury.* $libgrade_dir
++cp VERSION $libgrade_dir
++cp config* $libgrade_dir
++cp aclocal.m4 $libgrade_dir
++mkdir $libgrade_dir/scripts
++cp scripts/* $libgrade_dir/scripts
++mkdir $libgrade_dir/tools
++cp tools/* $libgrade_dir/tools
++$ln_s $wd/compiler $libgrade_dir
++$ln_s $wd/analysis $libgrade_dir
++$ln_s $wd/robdd $libgrade_dir
++$ln_s $wd/util $libgrade_dir
+ exit 0
+--- mercury-compiler-0.13.1.orig/scripts/prepare_tmp_dir_grade_part 2005-05-20 18:15:20.000000000 +1200
++++ mercury-compiler-0.13.1/scripts/prepare_tmp_dir_grade_part 2006-12-04 21:19:06.000000000 +1300
+@@ -5,55 +5,57 @@
+ # Public License - see the file COPYING in the Mercury distribution.
+ #---------------------------------------------------------------------------#
+
+-rm -fr tmp_dir/boehm_gc
+-rm -fr tmp_dir/runtime
+-rm -fr tmp_dir/trace
+-rm -fr tmp_dir/library
+-rm -fr tmp_dir/mdbcomp
+-rm -fr tmp_dir/browser
+-mkdir tmp_dir/boehm_gc
+-mkdir tmp_dir/boehm_gc/Mac_files
+-mkdir tmp_dir/boehm_gc/cord
+-mkdir tmp_dir/boehm_gc/include
+-mkdir tmp_dir/boehm_gc/include/private
+-cp boehm_gc/Makefile* tmp_dir/boehm_gc
+-cp boehm_gc/Mmake* tmp_dir/boehm_gc
+-cp boehm_gc/ac* tmp_dir/boehm_gc
+-cp boehm_gc/*.[chsS] tmp_dir/boehm_gc
+-cp boehm_gc/Mac_files/*.[ch] tmp_dir/boehm_gc/Mac_files
+-cp boehm_gc/cord/*.[ch] tmp_dir/boehm_gc/cord
+-cp boehm_gc/include/*.[ch] tmp_dir/boehm_gc/include
+-cp boehm_gc/include/private/*.[ch] tmp_dir/boehm_gc/include/private
+-mkdir tmp_dir/runtime
+-mkdir tmp_dir/runtime/machdeps
+-cp runtime/Mmake* tmp_dir/runtime
+-cp runtime/.mgnuc* tmp_dir/runtime
+-cp runtime/*.in tmp_dir/runtime
+-cp runtime/*.[ch] tmp_dir/runtime
+-cp runtime/*.il tmp_dir/runtime
+-cp runtime/machdeps/*.h tmp_dir/runtime/machdeps
+-mkdir tmp_dir/trace
+-cp trace/Mmake* tmp_dir/trace
+-cp trace/.mgnuc* tmp_dir/trace
+-cp trace/*.[ch] tmp_dir/trace
+-mkdir tmp_dir/library
+-cp library/Mmake* tmp_dir/library
+-cp library/Mercury.* tmp_dir/library
+-cp library/.mgnuc* tmp_dir/library
+-cp library/*FLAGS* tmp_dir/library
+-cp library/print_extra_inits tmp_dir/library
+-cp library/library_strong_name.sn tmp_dir/library
+-cp library/*.m tmp_dir/library
+-mkdir tmp_dir/mdbcomp
+-cp mdbcomp/Mmake* tmp_dir/mdbcomp
+-cp mdbcomp/Mercury.* tmp_dir/mdbcomp
+-cp mdbcomp/.mgnuc* tmp_dir/mdbcomp
+-cp mdbcomp/*FLAGS* tmp_dir/mdbcomp
+-cp mdbcomp/*.m tmp_dir/mdbcomp
+-mkdir tmp_dir/browser
+-cp browser/Mmake* tmp_dir/browser
+-cp browser/Mercury.* tmp_dir/browser
+-cp browser/.mgnuc* tmp_dir/browser
+-cp browser/*FLAGS* tmp_dir/browser
+-cp browser/*.m tmp_dir/browser
++libgrade_dir=libgrades/$1
++
++rm -fr $libgrade_dir/boehm_gc
++rm -fr $libgrade_dir/runtime
++rm -fr $libgrade_dir/trace
++rm -fr $libgrade_dir/library
++rm -fr $libgrade_dir/mdbcomp
++rm -fr $libgrade_dir/browser
++mkdir $libgrade_dir/boehm_gc
++mkdir $libgrade_dir/boehm_gc/Mac_files
++mkdir $libgrade_dir/boehm_gc/cord
++mkdir $libgrade_dir/boehm_gc/include
++mkdir $libgrade_dir/boehm_gc/include/private
++cp boehm_gc/Makefile* $libgrade_dir/boehm_gc
++cp boehm_gc/Mmake* $libgrade_dir/boehm_gc
++cp boehm_gc/ac* $libgrade_dir/boehm_gc
++cp boehm_gc/*.[chsS] $libgrade_dir/boehm_gc
++cp boehm_gc/Mac_files/*.[ch] $libgrade_dir/boehm_gc/Mac_files
++cp boehm_gc/cord/*.[ch] $libgrade_dir/boehm_gc/cord
++cp boehm_gc/include/*.[ch] $libgrade_dir/boehm_gc/include
++cp boehm_gc/include/private/*.[ch] $libgrade_dir/boehm_gc/include/private
++mkdir $libgrade_dir/runtime
++mkdir $libgrade_dir/runtime/machdeps
++cp runtime/Mmake* $libgrade_dir/runtime
++cp runtime/.mgnuc* $libgrade_dir/runtime
++cp runtime/*.in $libgrade_dir/runtime
++cp runtime/*.[ch] $libgrade_dir/runtime
++cp runtime/*.il $libgrade_dir/runtime
++cp runtime/machdeps/*.h $libgrade_dir/runtime/machdeps
++mkdir $libgrade_dir/trace
++cp trace/Mmake* $libgrade_dir/trace
++cp trace/.mgnuc* $libgrade_dir/trace
++cp trace/*.[ch] $libgrade_dir/trace
++mkdir $libgrade_dir/library
++cp library/Mmake* $libgrade_dir/library
++cp library/Mercury.* $libgrade_dir/library
++cp library/.mgnuc* $libgrade_dir/library
++cp library/*FLAGS* $libgrade_dir/library
++cp library/print_extra_inits $libgrade_dir/library
++cp library/library_strong_name.sn $libgrade_dir/library
++cp library/*.m $libgrade_dir/library
++mkdir $libgrade_dir/mdbcomp
++cp mdbcomp/Mmake* $libgrade_dir/mdbcomp
++cp mdbcomp/Mercury.* $libgrade_dir/mdbcomp
++cp mdbcomp/.mgnuc* $libgrade_dir/mdbcomp
++cp mdbcomp/*FLAGS* $libgrade_dir/mdbcomp
++cp mdbcomp/*.m $libgrade_dir/mdbcomp
++mkdir $libgrade_dir/browser
++cp browser/Mmake* $libgrade_dir/browser
++cp browser/Mercury.* $libgrade_dir/browser
++cp browser/.mgnuc* $libgrade_dir/browser
++cp browser/*FLAGS* $libgrade_dir/browser
++cp browser/*.m $libgrade_dir/browser
+ exit 0
+--- mercury-compiler-0.13.1.orig/trace/Mmakefile 2006-11-15 03:09:20.000000000 +1300
++++ mercury-compiler-0.13.1/trace/Mmakefile 2006-12-04 21:19:06.000000000 +1300
+@@ -204,6 +204,9 @@
+ @if test ! -f tags; then echo making tags; \
+ ctags $(CFILES) $(HDRS) $(RUNTIME_DIR)/*.c $(RUNTIME_DIR)/*.h ; fi
+
++.PHONY: libgrade
++libgrade: lib$(TRACE_LIB_NAME).$A lib$(TRACE_LIB_NAME).$(EXT_FOR_SHARED_LIB)
++
+ #-----------------------------------------------------------------------------#
+
+ # installation rules
--- /dev/null
+--- mercury-compiler-0.13.1.orig/scripts/Mmake.rules 2006-11-03 18:42:28.000000000 +1300
++++ mercury-compiler-0.13.1/scripts/Mmake.rules 2006-12-04 21:35:40.000000000 +1300
+@@ -505,9 +505,9 @@
+ *.a *.so tmp_dir || true; } && \
+ for grade in $(ALL_LIBGRADES); do \
+ if [ "$$grade" != "$(GRADE)" ]; then \
+- $(MMAKE) GRADE=$$grade $*.depend || \
++ $(MMAKE) $(MMAKEFLAGS) GRADE=$$grade $*.depend || \
+ exit 1; \
+- $(MMAKE) GRADE=$$grade lib$*.install_library || \
++ $(MMAKE) $(MMAKEFLAGS) GRADE=$$grade lib$*.install_library || \
+ exit 1; \
+ for file in x $$grade_files; do \
+ if [ "$$file" != "x" ]; then \
--- /dev/null
+--- mercury-compiler-0.13.1.orig/Makefile 2005-08-22 15:38:34.000000000 +1200
++++ mercury-compiler-0.13.1/Makefile 2006-12-04 21:37:11.000000000 +1300
+@@ -26,7 +26,7 @@
+
+ .PHONY: all
+ all:
+- $(MMAKE) MMAKEFLAGS=$(PARALLEL) all
++ $(MMAKE) MMAKEFLAGS=$(PARALLEL) all || exit 1
+
+ .PHONY: libmmc
+ libmmc:
+@@ -34,7 +34,7 @@
+
+ .PHONY: install
+ install:
+- $(MMAKE) MMAKEFLAGS=$(PARALLEL) install
++ $(MMAKE) MMAKEFLAGS=$(PARALLEL) install || exit 1
+
+ # `mmake clean' has a different meaning to the usual GNU standard `make clean':
+ # it removes the .c files, which makes bootstrapping impossible unless you
+--- mercury-compiler-0.13.1.orig/configure 2006-12-01 22:37:01.000000000 +1300
++++ mercury-compiler-0.13.1/configure 2006-12-04 21:37:11.000000000 +1300
+@@ -9151,11 +9151,11 @@
+ enable_mm_grades=no
+ enable_dmm_grades=no
+ enable_hlc_prof_grades=no
+- enable_par_grades=no
+ enable_dotnet_grades=no
+ enable_java_grade=no
+ fi
+
++
+ #-----------------------------------------------------------------------------#
+
+ #
+--- mercury-compiler-0.13.1.orig/runtime/Mmakefile 2006-11-15 03:09:20.000000000 +1300
++++ mercury-compiler-0.13.1/runtime/Mmakefile 2006-12-04 21:37:11.000000000 +1300
+@@ -434,8 +437,6 @@
+ -[ -d $(INSTALL_MODULE_DIR) ] || mkdir -p $(INSTALL_MODULE_DIR)
+ -[ -d $(INSTALL_MERC_LIB_DIR) ] || mkdir -p $(INSTALL_MERC_LIB_DIR)
+ -[ -d $(INSTALL_CONF_DIR) ] || mkdir -p $(INSTALL_CONF_DIR)
+- -[ -d $(INSTALL_RECONF_DIR)/runtime ] || \
+- mkdir -p $(INSTALL_RECONF_DIR)/runtime
+
+ ifeq ($(findstring java,$(GRADE)),java)
+
+@@ -481,7 +482,6 @@
+ rm -f $(INSTALL_INC_DIR)/mercury_conf.h
+ cp `vpath_find mercury_conf.h` $(INSTALL_CONF_DIR)
+ -chmod u+w $(INSTALL_CONF_DIR)/mercury_conf.h
+- cp `vpath_find mercury_conf.h.in` $(INSTALL_RECONF_DIR)/runtime
+ cp `vpath_find $(MACHHDRS)` $(INSTALL_INC_DIR)/machdeps
+
+ .PHONY: install_init
+--- mercury-compiler-0.13.1.orig/scripts/Mmakefile 2006-04-04 19:41:49.000000000 +1200
++++ mercury-compiler-0.13.1/scripts/Mmakefile 2006-12-04 21:37:11.000000000 +1300
+@@ -26,16 +26,12 @@
+ canonical_grade \
+ mdb \
+ mdprof \
+- mercury.bat \
+- mercury_config \
+ mercury_update_interface \
+ mgnuc \
+- mkfifo_using_mknod \
+ ml \
+ mmake \
+ mmc \
+- mprof \
+- prepare_tmp_dir_fixed_part
++ mprof
+
+ SCRIPTS = $(NONCONF_SCRIPTS) $(CONF_SCRIPTS)
+
+@@ -103,8 +99,6 @@
+ [ -d $(INSTALL_LIBDIR)/mdb ] || mkdir -p $(INSTALL_LIBDIR)/mdb
+ [ -d $(INSTALL_CONF_DIR) ] || mkdir -p $(INSTALL_CONF_DIR)
+ [ -d $(INSTALL_ELISP_DIR) ] || mkdir -p $(INSTALL_ELISP_DIR)
+- [ -d $(INSTALL_RECONF_DIR)/scripts ] || \
+- mkdir -p $(INSTALL_RECONF_DIR)/scripts
+
+ .PHONY: install_mmake
+ install_mmake: Mmake.vars Mmake.rules install_dirs
+@@ -122,7 +116,6 @@
+ -for file in $(SCRIPTS); do \
+ chmod u+w $(INSTALL_BINDIR)/$$file ;\
+ done
+- cp *.in *.sh-subr $(SCRIPTS) $(INSTALL_RECONF_DIR)/scripts
+ -rm -f $(INSTALL_BINDIR)/mmake.old
+
+ .PHONY: install_config
--- /dev/null
+diff -urN mercury-tests-0.13.1.orig/hard_coded/dir_test.exp mercury-tests-0.13.1/hard_coded/dir_test.exp
+--- mercury-tests-0.13.1.orig/hard_coded/dir_test.exp 2003-07-29 03:50:45.000000000 +1200
++++ mercury-tests-0.13.1/hard_coded/dir_test.exp 2006-12-04 21:44:54.000000000 +1300
+@@ -130,7 +130,6 @@
+ "foo"/"bar/baz" = "foo\bar\baz".\r
+ "foo/"/"bar/baz" = "foo\bar\baz".\r
+ checking whether `unwritable' is readable...ok\r
+-unwritable file found to be unwritable\r
+ make_directory succeeded\r
+ make_directory succeeded\r
+ dir.make_single_directory with non-existent parent failed as expected.\r
+diff -urN mercury-tests-0.13.1.orig/hard_coded/dir_test.exp2 mercury-tests-0.13.1/hard_coded/dir_test.exp2
+--- mercury-tests-0.13.1.orig/hard_coded/dir_test.exp2 2003-07-29 03:50:45.000000000 +1200
++++ mercury-tests-0.13.1/hard_coded/dir_test.exp2 2006-12-04 21:44:54.000000000 +1300
+@@ -127,7 +127,6 @@
+ "foo"/"bar/baz" = "foo/bar/baz".
+ "foo/"/"bar/baz" = "foo/bar/baz".
+ checking whether `unwritable' is readable...ok
+-unwritable file found to be unwritable
+ make_directory succeeded
+ make_directory succeeded
+ dir.make_single_directory with non-existent parent failed as expected.
+diff -urN mercury-tests-0.13.1.orig/hard_coded/dir_test.exp3 mercury-tests-0.13.1/hard_coded/dir_test.exp3
+--- mercury-tests-0.13.1.orig/hard_coded/dir_test.exp3 2003-07-29 03:50:45.000000000 +1200
++++ mercury-tests-0.13.1/hard_coded/dir_test.exp3 2006-12-04 21:44:54.000000000 +1300
+@@ -130,7 +130,6 @@
+ "foo"/"bar/baz" = "foo/bar/baz".
+ "foo/"/"bar/baz" = "foo/bar/baz".
+ checking whether `unwritable' is readable...ok
+-unwritable file found to be unwritable
+ make_directory succeeded
+ make_directory succeeded
+ dir.make_single_directory with non-existent parent failed as expected.
+diff -urN mercury-tests-0.13.1.orig/hard_coded/dir_test.m mercury-tests-0.13.1/hard_coded/dir_test.m
+--- mercury-tests-0.13.1.orig/hard_coded/dir_test.m 2006-03-29 20:08:00.000000000 +1200
++++ mercury-tests-0.13.1/hard_coded/dir_test.m 2006-12-04 21:44:54.000000000 +1300
+@@ -50,16 +50,6 @@
+ io__write(ReadResult),
+ io__nl,
+
+- io__check_file_accessibility("unwritable",
+- [read, write], WriteResult),
+- ( { WriteResult = ok } ->
+- io__write_string(
+- "Error: unwritable file found to be writable\n")
+- ;
+- io__write_string(
+- "unwritable file found to be unwritable\n")
+- ),
+-
+ { Dir1 = "test_dir"/"d1" },
+ test0("make_directory", dir__make_directory(Dir1)),
+ % Test making a directory that already exists.
+diff -urN mercury-tests-0.13.1.orig/mdbrc mercury-tests-0.13.1/mdbrc
+--- mercury-tests-0.13.1.orig/mdbrc 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.1/mdbrc 2006-12-04 21:44:54.000000000 +1300
+@@ -0,0 +1,19 @@
++source MDB_DOC
++alias s step
++alias g goto
++alias f finish
++alias r retry
++alias v vars
++alias p print
++alias P print *
++alias d stack
++alias c continue
++alias b break
++alias h help
++alias ? help
++alias excp exception
++alias e exception
++alias EMPTY step
++alias NUMBER step
++xml_browser_cmd ''
++xml_tmp_filename ''
+diff -urN mercury-tests-0.13.1.orig/tabling/loopcheck.exp5 mercury-tests-0.13.1/tabling/loopcheck.exp5
+--- mercury-tests-0.13.1.orig/tabling/loopcheck.exp5 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.1/tabling/loopcheck.exp5 2006-12-04 21:44:54.000000000 +1300
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred loopcheck.loop/1
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.1.orig/tabling/loopcheck_nondet.exp2 mercury-tests-0.13.1/tabling/loopcheck_nondet.exp2
+--- mercury-tests-0.13.1.orig/tabling/loopcheck_nondet.exp2 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.1/tabling/loopcheck_nondet.exp2 2006-12-04 21:44:54.000000000 +1300
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred loopcheck_nondet.loop/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.1.orig/tabling/tc_loop.exp3 mercury-tests-0.13.1/tabling/tc_loop.exp3
+--- mercury-tests-0.13.1.orig/tabling/tc_loop.exp3 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.1/tabling/tc_loop.exp3 2006-12-04 21:44:54.000000000 +1300
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred tc_loop.tc/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.1.orig/tabling/tc_memo.exp2 mercury-tests-0.13.1/tabling/tc_memo.exp2
+--- mercury-tests-0.13.1.orig/tabling/tc_memo.exp2 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.1/tabling/tc_memo.exp2 2006-12-04 21:44:54.000000000 +1300
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected infinite recursion in pred tc_memo.tc/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.1.orig/tabling/tc_memo2.exp2 mercury-tests-0.13.1/tabling/tc_memo2.exp2
+--- mercury-tests-0.13.1.orig/tabling/tc_memo2.exp2 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.1/tabling/tc_memo2.exp2 2006-12-04 21:44:54.000000000 +1300
+@@ -0,0 +1,3 @@
++Uncaught Mercury exception:
++Software Error: detected need for minimal model in pred tc_memo2.tc/2
++Stack dump not available in this grade.
+diff -urN mercury-tests-0.13.1.orig/valid/Mmakefile mercury-tests-0.13.1/valid/Mmakefile
+--- mercury-tests-0.13.1.orig/valid/Mmakefile 2006-11-08 14:36:30.000000000 +1300
++++ mercury-tests-0.13.1/valid/Mmakefile 2006-12-04 21:44:54.000000000 +1300
+@@ -400,3 +400,5 @@
+ rm -f *.err *.h
+
+ #-----------------------------------------------------------------------------#
++
++MCFLAGS-ho_and_type_spec_bug+=--no-optimize-higher-order
+diff -urN mercury-tests-0.13.1.orig/valid/Mmakefile.orig mercury-tests-0.13.1/valid/Mmakefile.orig
+--- mercury-tests-0.13.1.orig/valid/Mmakefile.orig 1970-01-01 12:00:00.000000000 +1200
++++ mercury-tests-0.13.1/valid/Mmakefile.orig 2006-11-08 14:36:30.000000000 +1300
+@@ -0,0 +1,402 @@
++#-----------------------------------------------------------------------------#
++
++THIS_DIR = valid
++
++#-----------------------------------------------------------------------------#
++
++# please keep these lists sorted
++AGC_PROGS= \
++ agc_graph \
++ agc_ho_pred \
++ agc_ite \
++ agc_unbound_typevars \
++ agc_unbound_typevars2 \
++ agc_unused_in
++
++TRAIL_PROGS= \
++ complex_failure \
++ semi_fail_in_non_ite
++
++TYPECLASS_PROGS= \
++ abstract_typeclass \
++ complex_constraint \
++ constraint_proof_bug \
++ exists_bug \
++ exists_fundeps \
++ exists_fundeps_2 \
++ exists_fundeps_3 \
++ flatten_conj_bug \
++ func_class \
++ func_method \
++ fundeps \
++ instance_superclass \
++ instance_unconstrained_tvar \
++ mpj2 \
++ mpj5 \
++ mpj6 \
++ mpj7 \
++ repeated_class_constraint \
++ superclass_bug \
++ superclass_improvement \
++ tc_map_lookup \
++ typeclass_constraint_no_var \
++ typeclass_constraint_nonvar_bug \
++ typeclass_det_warning
++
++ # This test is compiled with --no-special-preds,
++ # which doesn't work in jump.* and fast.* grades.
++NO_SPECIAL_PREDS_PROGS= \
++ unify_typeinfo_bug
++
++ # Tests for which we should only produce a `.il' file.
++IL_PROGS = \
++ csharp_hello \
++ foreign_type_spec
++
++OTHER_PROGS= \
++ any_inst_merge \
++ any_matches_bound \
++ big_foreign_type \
++ builtin_false \
++ common_struct_bug \
++ complicated_unify \
++ compl_unify_bug \
++ constrained_poly_bound_arg \
++ constrained_poly_insts \
++ constraint_prop_bug \
++ constructor_arg_names \
++ dcg_test \
++ deforest_bug \
++ deforest_loop \
++ deforest_rerun_det \
++ det_condition \
++ det_inference \
++ det_switch \
++ double_vn \
++ easy_nondet_test \
++ easy_nondet_test_2 \
++ empty_bound_inst_list \
++ empty_switch \
++ error \
++ eval \
++ existential_cons \
++ explicit_quant \
++ export_before_func \
++ exported_foreign_type \
++ fail_ite \
++ followcode_det_problem \
++ foreign_underscore_var \
++ func_default_modes \
++ func_in_head \
++ func_int_bug_main \
++ hawkins_switch_bug \
++ headvar_not_found \
++ higher_order \
++ higher_order2 \
++ higher_order3 \
++ higher_order4 \
++ higher_order5 \
++ higher_order_implied_mode \
++ ho_and_type_spec_bug \
++ ho_func_call \
++ ho_inst \
++ ho_unify \
++ id_type_bug \
++ implied_mode \
++ impure_lambda_bug \
++ indexing \
++ inhibit_warn_test \
++ inlining_bug \
++ inst_perf_bug_1 \
++ int64 \
++ intermod_bug_nested \
++ intermod_dcg_bug \
++ intermod_impure \
++ intermod_lambda \
++ intermod_nested \
++ intermod_nested_module \
++ intermod_nested_module_bug \
++ intermod_nested_uniq \
++ intermod_pragma_import \
++ intermod_quote \
++ intermod_record \
++ intermod_test \
++ intermod_typeclass \
++ intermod_type_spec \
++ intermod_user_equality \
++ intermod_user_equality_nested \
++ lambda_inference\
++ lambda_instmap_bug \
++ lambda_output \
++ lambda_quant \
++ lambda_quant_bug \
++ lambda_recompute \
++ lambda_struct_bug \
++ lambda_switch \
++ lambda_type \
++ lazy_list \
++ liveness_nonlocals \
++ livevals_seq \
++ loop \
++ loop_in_disj \
++ loop_inv_bug \
++ mc_bag \
++ mc_extra_nonlocals \
++ mc_graph \
++ mc_hhf_nonlocals_bug \
++ mc_implied_modes \
++ merge_ground_any \
++ middle_rec_labels \
++ modes_bug \
++ mode_syntax \
++ module_a \
++ module_b \
++ module_c \
++ module_d \
++ module_e \
++ mostly_uniq_bug \
++ mostly_uniq_mode_inf \
++ mostly_uniq_neg \
++ multidet_prune1 \
++ multidet_test \
++ nasty_func_test \
++ nested_mod_type_bug \
++ nested_module_bug \
++ no_warn_obsolete \
++ nondet_live \
++ overloading \
++ param_mode_bug \
++ parsing_bug_main \
++ pred_with_no_modes \
++ qualified_cons_id \
++ quantifier_warning \
++ record_syntax_bug \
++ record_syntax_bug_2 \
++ record_syntax_bug_3 \
++ record_syntax_bug_4 \
++ record_syntax_bug_5 \
++ recursive_no_tag_type \
++ reg_bug \
++ same_length_2 \
++ semidet_disj \
++ shape_type \
++ simplify_bug \
++ simplify_bug2 \
++ size_prof_ho_bug \
++ soln_context \
++ solv \
++ solver_type_bug \
++ solver_type_bug_2 \
++ solver_type_mutable_bug \
++ some_switch \
++ spurious_purity_warning \
++ stack_alloc \
++ stack_opt_simplify \
++ state_var_bug \
++ state_var_mode_bug \
++ state_var_mode_bug2 \
++ static \
++ subtype_switch \
++ switch_detection_bug \
++ switch_detection_bug2 \
++ switches \
++ tabled_for_io \
++ tabled_io \
++ transitive_instance \
++ tricky_assert2 \
++ tricky_ite \
++ tuple_eqv \
++ two_pragma_c_codes \
++ two_way_unif \
++ typeclass_inlining_bug \
++ type_inf_ambig_test \
++ unbound_inst_var \
++ unbound_tvar_in_lambda \
++ undead_proc \
++ uniq_mode_inf_bug \
++ uniq_unify \
++ unreachable_code \
++ unused_args_test2 \
++ vn_float \
++ zero_arity
++
++DEEP_PROF_CAPABLE_PROGS = \
++ impure_detism
++
++# These tests require debugging, which hasn't been implemented for
++# the MLDS backend.
++#
++LLDS_PROGS= \
++ exists_cast_bug \
++ untuple_bug
++
++# These tests only work in grades that support parallel conjunction.
++#
++PAR_CONJ_PROGS = \
++ par_dummy \
++ par_dupelim \
++ par_saved_const
++
++# The following programs require that num_tag_bits >= 1
++RESERVE_TAG_PROGS = \
++ reserve_tag
++
++# XXX The mode system can't handle the following test cases yet:
++# assoc_list_bug
++# determinism
++# inst_perf_bug_2
++# mode_merge_insts
++# unify_inst_bug
++#
++# XXX We also don't pass this one (see the comments in it for details):
++# mode_selection
++#
++# XXX The following test is not valid under the current Mercury
++# language rules:
++# field_detism
++
++# The agc.* tests don't work in --high-level-code grades,
++# except hl*.agc*, because they require grade-specific header
++# files to be installed.
++ifeq "$(findstring hl,$(GRADE))$(findstring .agc,$(GRADE))" "hl"
++ PROGS0 = $(TYPECLASS_PROGS) $(OTHER_PROGS)
++else
++ # The agc.* tests don't work in the il grades, as the CLR has
++ # its own builtin GC.
++ # The agc.* tests also don't work in minimal model grades,
++ # because the collector doesn't scan the copied areas of the stacks.
++ ifneq "$(findstring il,$(GRADE))$(findstring mm,$(GRADE))" ""
++ PROGS0 = $(TYPECLASS_PROGS) $(OTHER_PROGS)
++ else
++ PROGS0 = $(AGC_PROGS) $(TYPECLASS_PROGS) $(OTHER_PROGS)
++ endif
++endif
++
++# Base grades `jump' and `fast'
++# cannot be used with `--no-special-preds'
++
++ifneq "$(findstring asm_,$(GRADE))" ""
++ PROGS1=$(NO_SPECIAL_PREDS_PROGS) $(PROGS0)
++else
++ ifneq "$(findstring jump,$(GRADE))" ""
++ PROGS1=$(PROGS0)
++ else
++ ifneq "$(findstring fast,$(GRADE))" ""
++ PROGS1=$(PROGS0)
++ else
++ PROGS1=$(NO_SPECIAL_PREDS_PROGS) $(PROGS0)
++ endif
++ endif
++endif
++
++ifneq "$(findstring mm,$(GRADE))" ""
++ PROGS2=$(PROGS1)
++else
++ PROGS2=$(PROGS1) $(TRAIL_PROGS)
++endif
++
++ifneq "$(filter java% il%,$(GRADE))$(findstring profdeep,$(GRADE))" ""
++ # We currently don't do any testing in grade java on this directory.
++ ifneq "$(findstring java,$(GRADE))$" ""
++ PROGS3 =
++ else
++ PROGS3 = $(PROGS2)
++ endif
++else
++ PROGS3 = $(PROGS2)
++endif
++
++ifeq "$(filter hl% java% il%,$(GRADE))" ""
++ PROGS4 = $(PROGS3) $(DEEP_PROF_CAPABLE_PROGS) $(LLDS_PROGS)
++else
++ PROGS4 = $(PROGS3)
++endif
++
++ifneq "$(findstring decldebug,$(GRADE))" ""
++ PROGS5 = $(PROGS4)
++else
++ PROGS5 = $(PROGS4) $(PAR_CONJ_PROGS)
++endif
++
++ifeq "$(filter java% il%,$(GRADE))" ""
++ OBJ_PROGS = $(PROGS5) $(RESERVE_TAG_PROGS)
++else
++ OBJ_PROGS = $(PROGS5)
++endif
++
++ifneq "$(findstring tsw,$(GRADE))$(findstring tsc,$(GRADE))" ""
++ PROGS = $(OBJ_PROGS)
++else
++ PROGS = $(OBJ_PROGS) $(IL_PROGS)
++endif
++
++# `mmc --make' doesn't expect subdirectories to appear in targets.
++ifeq ($(MMAKE_USE_MMC_MAKE),yes)
++OS_SUBDIR=
++ILS_SUBDIR=
++DLLS_SUBDIR=
++else
++OS_SUBDIR=$(os_subdir)
++ILS_SUBDIR=$(ils_subdir)
++DLLS_SUBDIR=$(dlls_subdir)
++endif
++
++
++ifeq ($(findstring il,$(GRADE)),il)
++ TARGET_OBJ_EXT=dll
++ TARGET_OBJ_SUBDIR=$(DLLS_SUBDIR)
++else
++ TARGET_OBJ_EXT=$(O)
++ TARGET_OBJ_SUBDIR=$(OS_SUBDIR)
++endif
++OBJS = $(OBJ_PROGS:%=$(TARGET_OBJ_SUBDIR)%.$(TARGET_OBJ_EXT)) \
++ $(IL_PROGS:%=$(ILS_SUBDIR)%.il)
++
++#-----------------------------------------------------------------------------#
++
++TESTS = $(PROGS)
++SUBDIRS=
++TESTS_DIR=..
++include $(TESTS_DIR)/Mmake.common
++
++# When compiling using the installed libraries, setting GRADEFLAGS may
++# may cause mgnuc to look for the `.mih' files for a non-installed grade.
++# test_mercury runs the tests using the installed libraries, so GRADEFLAGS
++# won't be set, but test_mercury runs the tests in at least one `.tr' grade
++# on all machines, so it isn't a problem.
++ifneq ($(origin WORKSPACE),undefined)
++GRADEFLAGS_TRAIL = --use-trail
++else
++GRADEFLAGS_TRAIL =
++endif
++# Make sure GRADEFLAGS_TRAIL is passed to `mmc --make'.
++export GRADEFLAGS_TRAIL
++
++# Module-specific options should go in Mercury.options so they
++# can be found by `mmc --make'.
++include Mercury.options
++
++$(OBJ_PROGS:%=%.runtest): %.runtest: %.$(TARGET_OBJ_EXT) ;
++
++$(IL_PROGS:%=%.runtest): %.runtest: %.il ;
++
++#-----------------------------------------------------------------------------#
++
++# XXX mmake should automatically handle these two dependencies.
++$(dates_subdir)intermod_nested_module2.date: \
++ $(date0s_subdir)intermod_nested_module2.date0
++$(dates_subdir)intermod_user_equality_nested2.date: \
++ $(date0s_subdir)intermod_user_equality_nested2.date0
++
++objs: $(OBJS)
++
++printtests:
++ @echo $(PROGS)
++
++printobjs:
++ @echo $(OBJS)
++
++clean_local:
++ rm -f *.err *.h
++
++#-----------------------------------------------------------------------------#
--- /dev/null
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury/mercury-0.13.1.ebuild,v 1.1 2006/12/04 08:43:45 keri Exp $
+
+inherit eutils
+
+MY_P=${PN}-compiler-${PV}
+
+DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language"
+HOMEPAGE="http://www.cs.mu.oz.au/research/mercury/index.html"
+SRC_URI="ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/mercury-compiler-0.13.1.tar.gz
+ ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/mercury-tests-0.13.1.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~ppc ~sparc ~x86"
+
+IUSE="debug minimal readline threads"
+
+DEPEND="readline? ( sys-libs/readline )"
+
+S="${WORKDIR}"/${MY_P}
+TESTDIR="${WORKDIR}"/${PN}-tests-${PV}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-portage.patch
+ epatch "${FILESDIR}"/${P}-CFLAGS.patch
+ epatch "${FILESDIR}"/${P}-MAKEOPTS.patch
+ epatch "${FILESDIR}"/${P}-bootstrap.patch
+ epatch "${FILESDIR}"/${P}-LIBDIR.patch
+ epatch "${FILESDIR}"/${P}-libgrades.patch
+ epatch "${FILESDIR}"/${P}-parallel-install_grades.patch
+ epatch "${FILESDIR}"/${P}-deep_profiler.patch
+ epatch "${FILESDIR}"/${P}-docs.patch
+
+ cd "${TESTDIR}"
+ epatch "${FILESDIR}"/${P}-tests.patch
+ sed -i -e "s:MDB_DOC:${S}/doc/mdb_doc:" mdbrc
+}
+
+src_compile() {
+ local myconf
+ myconf="--disable-gcc-back-end \
+ --enable-aditi-back-end \
+ --disable-deep-profiler \
+ --disable-dotnet-grades \
+ --disable-java-grades \
+ $(use_enable debug debug-grades) \
+ $(use_enable threads par-grades) \
+ $(use_enable !minimal most-grades) \
+ $(use_with readline) \
+ PACKAGE_VERSION=${PV}"
+
+ einfo "Performing stage 1 bootstrap"
+ econf \
+ ${myconf} \
+ BOOTSTRAP_STAGE="1" \
+ || die "econf stage 1 failed"
+ emake \
+ EXTRA_MLFLAGS=--no-strip \
+ || die "emake stage 1 failed"
+
+ einfo "Performing stage 2 bootstrap"
+ cp "${S}"/compiler/mercury_compile "${S}"/mercury_compile
+ econf \
+ ${myconf} \
+ BOOTSTRAP_STAGE="2" \
+ || die "econf stage 2 failed"
+ emake \
+ MERCURY_COMPILER="${S}"/mercury_compile \
+ depend || die "emake stage 2 depend failed"
+ emake \
+ MERCURY_COMPILER="${S}"/mercury_compile \
+ EXTRA_MLFLAGS=--no-strip \
+ || die "emake stage 2 failed"
+
+ einfo "Compiling libgrades"
+ emake \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ libgrades || die "emake libgrades failed"
+}
+
+src_test() {
+ cd "${S}"
+ TEST_GRADE=`scripts/ml --print-grade`
+ if [ -d "${S}"/libgrades/${TEST_GRADE} ] ; then
+ TWS="${S}"/libgrades/${TEST_GRADE}
+ cp browser/mer_browser.init "${TWS}"/browser/
+ cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/
+ cp runtime/mer_rt.init "${TWS}"/runtime/
+ else
+ TWS="${S}"
+ fi
+
+ cd "${TESTDIR}"
+ PATH="${TWS}"/scripts:"${TWS}"/util:"${PATH}" \
+ WORKSPACE="${TWS}" \
+ MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \
+ MMAKE_DIR="${TWS}"/scripts \
+ MERCURY_DEBUGGER_INIT="${TESTDIR}"/mdbrc \
+ GRADE=${TEST_GRADE} \
+ mmake || die "mmake test failed"
+}
+
+src_install() {
+ make \
+ INSTALL_PREFIX="${D}"/usr \
+ INSTALL_MAN_DIR="${D}"/usr/share/man \
+ INSTALL_INFO_DIR="${D}"/usr/share/info \
+ INSTALL_HTML_DIR="${D}"/usr/share/doc/${PF}/html \
+ install || die "make install failed"
+
+ dodoc \
+ BUGS HISTORY LIMITATIONS NEWS README README.Linux \
+ README.Linux-Alpha README.Linux-m68k README.Linux-PPC \
+ RELEASE_NOTES TODO VERSION WORK_IN_PROGRESS
+}