This command separates the linker options ``-L'' and ``-l'' by library
class. It's argument line can actually be an arbitrary command line where those
options are contained. slo parses these two options only and ignores the
remaining contents. The result is a trivial shell script on "stdout" which
defines six variables containing the ``-L'' and ``-l'' options sorted by
class:
``"SLO_DIRS_OBJ"'' and ``"SLO_LIBS_OBJ"'' contains the ``-L'' and
``-l'' options of static libraries, ``"SLO_DIRS_PIC"'' and
``"SLO_LIBS_PIC"'' contains the ``-L'' and ``-l'' options of static
libraries containing PIC (``Position Independent Code'') and
``"SLO_DIRS_DSO"'' and ``"SLO_LIBS_DSO"'' contains the ``-L'' and
``-l'' options of shared libraries. The -p option can be used to
change the default variable prefix from ""SLO_"" to str.
The intent of this separation is to provide a way between static and shared
libraries which is important if one wants to link custom DSOs against
libraries, because not all platforms all one to link these DSOs against shared
libraries. So one first has to separate out the shared libraries and link the
DSO only against the static libraries. One can use this command also to just
sort the options.
The GNU shtoolslo command was originally written by Ralf S.
Engelschall <rse@engelschall.com> in 1998 for Apache.
It was later taken over into GNU shtool.