Once it is clear that a new port is necessary, you’ll generally need the following information:
You need the output of config.guess
for this system, so that you
can make changes to the libtool configuration process without affecting
other systems.
ld
and cc
These generally describe what flags are used to generate PIC, to create shared libraries, and to link against only static libraries. You may need to follow some cross references to find the information that is required.
ld.so
, rtld
, or equivalentThese are a valuable resource for understanding how shared libraries are loaded on the system.
ldconfig
, or equivalentThis page usually describes how to install shared libraries.
This shows the naming convention for shared libraries on the system, including what names should be symbolic links.
Some systems have special documentation on how to build and install shared libraries.
If you know how to program the Bourne shell, then you can complete the port yourself; otherwise, you’ll have to find somebody with the relevant skills who will do the work. People on the libtool mailing list are usually willing to volunteer to help you with new ports, so you can send the information to them.
To do the port yourself, you’ll definitely need to modify the
libtool.m4
macros to make platform-specific changes to
the configuration process. You should search that file for the
PORTME
keyword, which will give you some hints on what you’ll
need to change. In general, all that is involved is modifying the
appropriate configuration variables (see libtool
script contents).
Your best bet is to find an already-supported system that is similar to
yours, and make your changes based on that. In some cases, however,
your system will differ significantly from every other supported system,
and it may be necessary to add new configuration variables, and modify
the ltmain.in
script accordingly. Be sure to write to the
mailing list before you make changes to ltmain.in
, since they may
have advice on the most effective way of accomplishing what you want.