(root)/
gettext-0.22.4/
INSTALL.aix
Installation on AIX:

Here are some hints to get a successful build of GNU gettext on AIX.

* Set the recommended environment variables before running configure:
  https://gitlab.com/ghwiki/gnow-how/-/wikis/Platforms/Configuration

  Namely:
  * for a 32-bit build with gcc:
    CC=gcc
    CXX=g++
    CPPFLAGS="-I$PREFIX/include"
    LDFLAGS="-L$PREFIX/lib"
    unset AR NM
  * for a 32-bit build with xlc:
    CC="xlc -qthreaded -qtls"
    CXX="xlC -qthreaded -qtls"
    CPPFLAGS="-I$PREFIX/include"
    LDFLAGS="-L$PREFIX/lib"
    unset AR NM
  * for a 64-bit build with gcc:
    CC="gcc -maix64"
    CXX="g++ -maix64"
    CPPFLAGS="-I$PREFIX/include"
    LDFLAGS="-L$PREFIX/lib"
    AR="ar -X 64"
    NM="nm -X 64 -B"
  * for a 64-bit build with xlc:
    CC="xlc -q64 -qthreaded -qtls"
    CXX="xlC -q64 -qthreaded -qtls"
    CPPFLAGS="-I$PREFIX/include"
    LDFLAGS="-L$PREFIX/lib"
    AR="ar -X 64"
    NM="nm -X 64 -B"

  where $PREFIX is the value that you pass to the --prefix configure option.

* Avoid using a --prefix that contains earlier installations of the same
  package.

  Rationale: Because the AIX linker hardcodes directory names in shared
  libraries, GNU libtool has a peculiar configuration on AIX. It ends up
  mixing the in-build-tree libraries with the libraries in the install
  locations, leading to all sorts of errors.

  If you really need to use a --prefix that contains an earlier
  installation of the same package, proceed in two steps:
    1. Build GNU gettext with --disable-shared, and install it.
    2. Do a "make distclean".
    3. Build GNU gettext with --enable-shared. "make check" will likely
       fail with hundreds of test failures, because the AIX linker gets
       confused when it find a static libintl installed and expects a
       shared libintl in the same place. Do "make install" regardless.
       Then you can do "make check", and it will succeed.