README.AIX:
As above.
Rename this file to README.AIX.md,
README.md:
Conform to the above change.
1.7 KiB
Mercury on AIX
This file documents the port of Mercury to AIX.
Mercury was tested on AIX in 2019 with the following configuration.
- AIX 7.1 on POWER9.
- GCC version 6.3.0.
- High-level C grades (
hlc.gc,hlc.par.gc).
Prerequisites
Install yum by running this
script.
Then install the necessary packages:
$ yum install gcc make flex bison
Building with GCC
GCC defaults to -maix32. To build for the 64-bit AIX ABI, it may be easiest to
create a shell script containing:
exec gcc -maix64 "$@"
Mark the script executable and then run configure like this:
$ CC=/path/to/gcc-maix64 ./configure [options]
If you are using /usr/bin/ar then you must also set an environment variable:
$ export OBJECT_MODE=64
If you try to use GNU ar instead (from binutils) you will run into problems
when /usr/bin/ranlib is invoked on archives created by GNU ar.
The mercury_compile executable will overflow the PowerPC TOC with gcc in its
default configuration. One solution is to add this to Mmake.params before
running make:
EXTRA_CFLAGS=-mminimal-toc
Your own programs may also overflow the TOC, depending on their size.
Building with IBM XL C
(Last tested in 2014.)
To use the IBM XL C compiler, pass --with-cc=xlc when configuring the Mercury
installation. Use high-level C grades for better performance.
Large programs will overflow the TOC. You can try passing the option
-qpic=large to the C compiler and the linker, or passing -bbigtoc to the
linker.