slibtool
Configure
Section titled “Configure”- Check if explicitly passing
--sysroot=$crossis required when cross-compiling (seeconfigure) - Check if we need to set
--toolchain=llvmand--with-preferred-host-*=llvm-*as these options only affectslibtool’s runtime tool choices for native builds and we already prefer the non-prefixed version of the tools as we only providellvm binary utilitiesas the default version for the toolsar,as,nmandranlib(seeproject/config/cfgdefs.sh)
Package
Section titled “Package”- Check if we can rely on less stuff from
gnu libtool - Check if it is better to symlink
/usr/bin/libtool -> rlibtoolglobally as/usr/bin/libtool -> /usr/share/slibtool/slibtool.shis not recommended globally and should only be reserved for some broken projects as./libtool -> /usr/share/slibtool/slibtool.shand when it is usedLIBTOOL=rlibtoolandSLIBTOOL=rlibtoolshould be set - Check if we need to set
LIBTOOL=rlibtool,SLIBTOOL=rlibtoolandLIBTOOLIZE=slibtoolizeglobally - Check if we need the
/usr/share/aclocal/libtool.m4 -> ../slibtool/slibtool.m4symlink in addition to/usr/share/aclocal/slibtool.m4
- Check if
libarchivebuilds withslibtoolizenow - Check if we can use
slibtool’sltmain.shnow
Configure
Section titled “Configure”appis an alias forfrontendwhich is enabled by defaultglaucus-configureworks as--sysconfdir=/etcis needed to override the/usr/etcdefault- No need to pass
--archand--cross-compileas we already exportARCHandCROSS_COMPILEin the environment - No need to set any custom environment variables like
COMPILER,PKGCONFandTOOLCHAINas the configure options are sufficient - If
--cchostand--targetare not explicitly specified, thenslibtoolautomatically sets them to--host’s value --debugis not enabled by default- Do not set
--strictas it adds-WerrortoCFLAGSand-Wl,--no-undefinedtoLDFLAGS --all-sharedalone buildsslibtoolagainstlibslibtoolwhich does not exist unless--enable-sharedis passedALL_SHAREDandALL_STATICare set tonoby defaultDISABLE_SHAREDandDISABLE_STATICare set toyesby default (passing--disable-staticis redundant)- We have no use for
libslibtoolboth static and shared versions as nothing depends on it (and it is disabled by default) - We have no use for
include/slibtoolwhich is disabled by default and gets installed when eithersharedorstaticare enabled - No need to set any
NATIVE_*variable PE_SUBSYSTEMandPE_IMAGE_BASEare windows specific variables
Package
Section titled “Package”- Do not create a
/usr/bin/glibtoolizesymlink - Do not create a
/usr/bin/libtoolize -> slibtoolsymlink sinceslibtooldoes not handlelibtoolizewith thestooliedriver (several packages complain) (useLIBTOOLIZE=slibtoolizeor create a/usr/bin/libtoolize -> slibtoolizesymlink instead) - Do not create a
/usr/share/libtoolizedirectory (use/usr/share/libtoolinstead) - Do not duplicate macros under
/usr/share/libtool/AC_CONFIG_MACRO_DIRS(aclocalonly searches/usr/share/aclocal)
LIBTOOL=slibtoolshould be added toMAKEFLAGS- Upstream migrated from
midipix.orgtofoss21.org ltdlis no longer needed (it serves to provide adlopen()functionality on systems which do not offer it, i.e. HP-UX and BeOS)slibtoolbuilds both shared and static without.lafiles or debug outputdlibtoolsame asslibtoolwith debug output (dstands fordebug)clibtoolsame asslibtoolwith.lafiles (cstands forcompatibility)rlibtoolautomagically operate in the exact same mode (static, shared or both) as the generated libtool script (rprobably stands forheuristics)dclibtool,rclibtool,rdlibtoolandrdclibtoolare combinations of the previous letters (cadds.lafiles anddadds debug output)slibtool-static: equivalent of-disable-shared(userlibtoolinstead)slibtool-shared: equivalent of-disable-static(userlibtoolinstead)autoreconfcopies files fromautoconfandautomakepackages after installation and not from/usr/share/libtool/build-aux
References
Section titled “References”- https://dev.midipix.org/cross/slibtool/issue/5
- https://dev.midipix.org/cross/slibtool/issue/50
- https://dev.midipix.org/cross/slibtool/issue/8
- https://flameeyes.blog/2010/10/05/libtool-archives-and-their-pointless-points/
- https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Handling_Libtool_Archives
- https://wiki.gentoo.org/wiki/Slibtool
- https://wiki.gentoo.org/wiki/Talk:Slibtool