"Richard W.M. Jones" <rjones(a)redhat.com> wrote:
With the attached patch you can get all the way through a compile of
libvirt using the MinGW cross-compiler.
...
Index: configure.in
===================================================================
...
-AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity])
+AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity ntohl htonl ntohs htons])
Hi Rich,
That looks fine.
Two suggestions and a question:
If you add those on a separate line, not only will these related
checks be all by themselves (less risk of eventual conflict, however small),
you'll also avoid going over the 80-col line-length limit ;-)
AC_CHECK_FUNCS([ntohl htonl ntohs htons])
...
Index: include/byteswap.h
===================================================================
...
+#ifndef _PORTABLEXDR_BYTESWAP_H
+#define _PORTABLEXDR_BYTESWAP_H 1
A different name file name might be nice, so this file is not
confused (by people) with the system-provided <byteswap.h>.
Maybe byteswap-pxdr.h or something similar.
...
+#if BYTE_ORDER == BIG_ENDIAN
+ return x;
+#elif BYTE_ORDER == LITTLE_ENDIAN
+ return __bswap_32 (x);
+#else
+# error "What kind of system is this?"
+#endif
Where is BYTE_ORDER defined? normally in endian.h.
More curiosity than anything, since I'm sure it works
everywhere you built it. I sort of expected to
see an "#include <endian.h>" somewhere.