diff options
-rw-r--r-- | bswap.h | 8 | ||||
-rwxr-xr-x | configure | 9 |
2 files changed, 17 insertions, 0 deletions
@@ -5,6 +5,12 @@ #include <inttypes.h> +#ifdef HAVE_MACHINE_BSWAP_H +#include <sys/endian.h> +#include <sys/types.h> +#include <machine/bswap.h> +#else + #ifdef HAVE_BYTESWAP_H #include <byteswap.h> #else @@ -58,6 +64,8 @@ static inline uint64_t bswap64(uint64_t x) return bswap_64(x); } +#endif /* ! HAVE_MACHINE_BSWAP_H */ + static inline void bswap16s(uint16_t *s) { *s = bswap16(*s); @@ -1229,6 +1229,15 @@ EOF if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then echo "#define HAVE_BYTESWAP_H 1" >> $config_h fi + cat > $TMPC << EOF +#include <sys/endian.h> +#include <sys/types.h> +#include <machine/bswap.h> +int main(void) { return bswap32(0); } +EOF + if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then + echo "#define HAVE_MACHINE_BSWAP_H 1" >> $config_h + fi fi if [ "$openbsd" = "yes" ] ; then |