diff -ur usbutils-0.73.old/configure.in usbutils-0.73.new/configure.in --- usbutils-0.73.old/configure.in 2007-11-13 10:19:41 -0500 +++ usbutils-0.73.new/configure.in 2007-11-13 10:23:12 -0500 @@ -20,10 +20,11 @@ AC_FUNC_ALLOCA AC_HEADER_DIRENT AC_HEADER_STDC -AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h getopt.h errno.h ]) +AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h getopt.h errno.h asm/byteorder.h machine/endian.h]) -# Checks for typedefs, structures, and compiler characteristics. +# Checks for typedefs, structures, byte order, and compiler characteristics. AC_C_CONST +AC_C_BIGENDIAN AC_TYPE_OFF_T AC_TYPE_SIZE_T diff -ur usbutils-0.73.old/lsusb.c usbutils-0.73.new/lsusb.c --- usbutils-0.73.old/lsusb.c 2007-11-13 10:19:41 -0500 +++ usbutils-0.73.new/lsusb.c 2007-11-13 10:23:12 -0500 @@ -35,8 +35,17 @@ #include #include #include -#include -#define le16_to_cpu __le16_to_cpu +#if defined(HAVE_ASM_BYTEORDER_H) +# include +# define le16_to_cpu __le16_to_cpu +#elif defined(HAVE_MACHINE_ENDIAN_H) +# include +# ifdef WORDS_BIGENDIAN +# define le16_to_cpu __bswap16 +# else +# define le16_to_cpu(x) (x) +# endif +#endif #include /* NOTE: that should be and it should include