Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
The Mercury logic programming system.
Mercury C Shell HTML C++ Game Maker Language Other
tag: unstable-versi…

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bindist
boehm_gc
browser
bytecode
compiler
debian
doc
extras
library
profiler
robdd
runtime
samples
scripts
tests
tools
trace
util
.INSTALL.in
.README.in
.cvsignore
.mercury-compiler.spec.in
.nocopyright
BUGS
COPYING
COPYING.LIB
HISTORY
INSTALL_CVS
LIMITATIONS
Makefile
Makefile.DLLs
Mmake.common.in
Mmakefile
NEWS
README.AIX
README.BSDI
README.DotNet
README.FreeBSD
README.HPUX
README.IRIX-5
README.Linux
README.Linux-Alpha
README.Linux-PPC
README.Linux-m68k
README.MS-VisualC
README.MS-Windows
README.OSF1
README.Solaris
README.lcc
RELEASE_NOTES
VERSION
WORK_IN_PROGRESS
aclocal.m4
config.guess
config.sub
configure.in
install-sh
main.c

README.AIX

-----------------------------------------------------------------------------

This file documents what you need to do to get Mercury to work on an
RS/6000 running AIX using GNU C.

Previous versions of Mercury have worked successfully on AIX,
but Rodney Brown <rodneybrown@pmsc.com> reported some problems
with a recent version.  We believe that we have fixed these problems,
but we do not have a machine running AIX to test it on, so we do 
not know if the current version will build correctly out-of-the-box.

If there are any problems remaining, we would be happy to assist
in resolving them.

-----------------------------------------------------------------------------

1.  Put the following line in the file Mmake.params:

	EXTRA_CFLAGS=-mminimal-toc

    This works around a fixed limit on the size of the TOC (Table of Contents)
    in the RS/6000 object file format.

2.  Also add the following line to Mmake.params:

    	RM_C=:

    This prevents the intermediate C files from being removed,
    which will make it easier to debug things later.

3.  Follow the instructions in the INSTALL file.

The last version of Mercury which was known to work on AIX was
Mercury 0.6 -- actually a version just prior to 0.6, namely
the 30Apr1996 development snapshot (the sources for this version
are still available from our CVS repository).
That version was verified to work on AIX 4.1.3 using GNU C 2.7.2.
For that version, following the steps above would result in
an error message from the assembler, so the following additional
step was needed.

4. Change directory to the `compiler' directory, and run the command

	sh ../scripts/rs6000_hack

   Then continue following the instructions in the INSTALL file.

   This works around a fixed limit of 32k on the size of relative jumps
   in the RS/6000 object file format.

It is possible that something similar to this will still be needed,
but the rs6000_hack script no longer works as is, so a little more
hacking will be needed if that is the case. 
(We'd be happy to offer assistance with this task.  Indeed, we'd do it
ourselves, but we don't have an AIX machine -- donations happily accepted ;-)

-----------------------------------------------------------------------------
Something went wrong with that request. Please try again.