shtool slo [-p|--prefix str] -- -Ldir -llib [-Ldir -llib ...]
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 following command line options are available.
- -p, --prefix str
Directory where libraries are searched in.
Library to search for.
# configure.in LINK_STD="$LDFLAGS $LIBS" eval `shtool slo $LINK_STD` LINK_DSO="$SLO_DIRS_OBJ $SLO_LIBS_OBJ $SLO_DIRS_PIC $SLO_LIBS_PIC" :
The GNU shtool slo command was originally written by Ralf S. Engelschall <email@example.com> in 1998 for Apache. It was later taken over into GNU shtool.