Not all online CPUs may be available for the current process,
especially when CPU affinity is involved. In such cases too many
threads will be created, which will unnecessarily compete for CPU
time.
Use sched_getaffinity() (if available) to determine the correct
number of threads to create.
Current logic does not work when system does not have
sys/endian.h, since it tried to reuse the cached results
from first try of detecting htole64 in sys/endian.h which is
'no' and hence the second try to look into endian.h also
comes out negative.
So we check for header and then run the test for symbols
and these symbols are not standard and we need to define _GNU_SOURCE
for it to work, this issue is exposed by systems using musl e.g.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
- adds man page to `EXTRA_DIST`
- `configure` checks for `a2x` only if the man page does not exist (poor
mans way of checking if we build from git or release tarball)
- fixes#50
- `__APPLE__` vs `__OS2__` - does this actually work? Would some please test on apple and give feedback?
- pthread via `AX_PTHREAD`
- version via `PACKAGE_VERSION` in `config.h`
- large file support via `AC_SYS_LARGEFILE`