Ticket 73, 67, 40 - Replace nunc-stans datastructures with libsds
Bug Description: For nunc-stans to be portable and adopted by Directory
Server more broadly, we need to be able to run it on a variety of platforms
and architectures.
Additionally, the lfds build integration we have is messy and generally
causes portability issues.
Fix Description: Libsds is written to address this. It contains an integrated
build of lfds710. It correctly detects if on x86_64 and will build the lock
free variants, and will correctly fall back to a lock based queue on
unsupported arches.
This resolves not only our portability and build complexitiy issues, but also
our architecture support problem.
Another signifigant benefit is the reduction in code to nunc-stans. Previously
we had to implement and wrap a number of datastructures in nunc-stans, but
now this removes that dependence out to SDS.
This commit is the first stage, ifdefing out the LFDS components, and integrating
SDS in their place.
The second commit will remove all LFDS components and code from the source tree.
https://pagure.io/nunc-stans/issue/73
https://pagure.io/nunc-stans/issue/67
https://pagure.io/nunc-stans/issue/40
See also: https://pagure.io/libsds
Author: wibrown
Review by: mreynolds (Thanks!)