libcrypt bundles the various hash functions it needs,
duplicating code that is also found in libmd.
Unbundle the hash functions and apply the same hack used
for libncursesw so static consumers link -lmd in addition
to -lcrypt.
Details
builds fine, passes test suite.
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 59909 Build 56794: arc lint + arc unit
Event Timeline
Add missing SUBDIR_DEPENDS for libcrypt, which now depends on libmd.
Doesn't seem to be doing the trick completely though?
Correctly register the build dependency of libcrypt on libmd.
Thanks to @bapt for how to do this. Not sure why there are
apparently three or more places in which library dependencies
are registered.
Add a dependency to the realinstall target of libcrypt.
Apparently that is needed for the ldscript shim to be installed.
LGTM, assuming it didn't break something linking against libcrypt... the double underscore aliasing stuff seems a little suspicious.
SUBDIR_DEPEND are used for tree walks, but can't be used in the earlier phases of buildworld as we have to more surgically construct the world objdir to avoid using/linking against things from the host system accidentally. It'd be nice if we could generate at least some of the Makefile.inc1 glue from lib/Makefile, but we simply don't today.
lib/libcrypt/Makefile | ||
---|---|---|
32 | Oh dear |