Improve portability.

At a high level, #ifdefs were added to the code to allow it to be
used on systems that were missing various libraries, function and
defines.

configure.ac was enhanced to test for more of these things and
set defines to indicate their presence or absence.  In addition,
it was slightly tweaked to match the output of autoscan.
autoheader and autoconf were ran to update the configure files.

The goal was that the resultant code should not be modified if
the libraries/functions/defines were all present.  The code for
the cases where something is missing is workable, but can
probably be improved.

ifdefs newly added to the code include:
    HAVE_LIBAIO_H
    HAVE_MMAP64
    HAVE_POSIX_MEMALIGN
    HAVE_RAND_R
    HAVE_SCHED_GETAFFINITY
    HAVE_SYS_SHM_H
    O_DSYNC
    _POSIX_BARRIERS
    STRERROR_R_CHAR_P

Signed-off-by: Scott Anderson <saa@android.com>
8 files changed