[m-rev.] diff: fix broken bindists on 64-bit machines

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Nov 13 01:39:49 AEDT 2008

Workaround a problem with the binary distributions on 64-bit machines.

XXX this will break if you do something odd like building Mercury
binary distributions that only use 2 tag bits on a 64-bit machine.

 	When reconfiguring don't modify the number of tag bits
 	or whether floats are boxed or unboxed from what the initial
 	test for those features decides.  Normally, if no bootstrap
 	compiler is available we change them so they are compatible
 	with the C code in the source distribution.  This may break
 	the 64-bit binary packages because they (probably) won't have
 	been compiled with such settings.


Index: configure.in
RCS file: /home/mercury/mercury1/repository/mercury/configure.in,v
retrieving revision 1.532
diff -u -r1.532 configure.in
--- configure.in	4 Nov 2008 03:42:29 -0000	1.532
+++ configure.in	12 Nov 2008 14:04:45 -0000
@@ -1812,8 +1812,10 @@
          exit 1
-if test "$mercury_cv_low_tag_bits" -gt 2; then
-    if test "$BOOTSTRAP_MC" = ""; then
+if test "$mercury_cv_low_tag_bits" -gt 2
+    if test "$BOOTSTRAP_MC" = "" -a "$reconfiguring" = "no"
+    then
          AC_MSG_WARN(bootstrapping using only 2 low tag bits)
@@ -1927,8 +1929,10 @@
-if test "$mercury_cv_unboxed_floats" = yes; then
-    if test "$BOOTSTRAP_MC" = ""; then
+if test "$mercury_cv_unboxed_floats" = yes
+    if test "$BOOTSTRAP_MC" = "" -a "$reconfiguring" = "no"
+    then
  [Mercury compiler not yet installed -
  ****    cannot use unboxed floats, bootstrapping using boxed floats

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