[collectd] [PATCH] configure.in: have_htonll should depend on linker check
Max Henkel
henkel at gmx.at
Tue May 4 23:40:53 CEST 2010
Hello Manuel and list!
On Tue, May 04, 2010 at 04:04:28PM +0200, Manuel Luis Sanmartín Rozada wrote:
> On Tue, May 4, 2010 at 10:17 AM, Max Henkel <henkel at gmx.at> wrote:
[...]
> > During cross-compiling I've observed, that commit 35602ac1 introduced
> > an unresolvable (regarding cross-compiling) configure error. According
> > to the AIX documentation htonll is located in the "ISODE Library"
> > and thus the linking should fail, if it is not available. Hence it
>
> IBM (http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.commtechref/doc/commtrf2/htonll.htm)
> says: The htonll subroutine is defined in the net/nh.h file as a null
> macro if the host byte order is the same as the network byte order.
>
> so... you don't need any library: AIX is big endian.
> If you see /usr/include/netinet/in.h
> 382 #if BYTE_ORDER == BIG_ENDIAN
> 383 #ifndef htonll
> 384 #define htonll(hostlong) (hostlong)
> 385 #endif
>
> or /usr/include/net/nh.h
> 47 #if BYTE_ORDER == BIG_ENDIAN
> 48 #ifndef ntohll
> 49 #define ntohll(x) (x)
> 50 #endif
Ooops, I've just read the synopsis and was happy with it ;-) and yes
AFAIK all AIX supported platforms are big endian. Thank you for the
explanation! :-)
> > might not be necessary to run a test program. Otherwise an option
> > like fp-layout would be desirable. Could someone check this on AIX?
>
> I test the patch in aix 6.1 and It works: detecting the htonll.
Thanks again for testing it!
Best regards,
Max
--
< henkel at gmx dot at >
More information about the collectd
mailing list