The issue has been raised in the past that our build system links each
executable against the maximal set of libraries it might need. So for example, if one executable requires `libreadline', all executables are linked against it. The easiest fix is to make use of GNU ld's --as-needed flag, which ignores linker arguments that are not actually needed by the specified object files. The attached patch modifies configure to check for this flag (when using GNU ld), and if ld supports it, adds the flag to LDFLAGS (we need to do the check since only relatively recent versions of GNU ld support this capability). Currently only GNU ld is supported; I'm not aware of any other linkers that support this functionality.
Showing
Please register or sign in to comment