curl-library
Building for AmigaOS
Date: 19 Jan 2015 18:56:48 +0000
Hi
There are some problems building curl/libcurl with more recent AmigaOS
releases, which I've been meaning to raise for a while. A more random
problem has prompted me to post this now.
There is an issue with conflicting "struct timeval" definitions with
certain OS releases and C libraries, depending on what gets included
when. It's a minor difference - the OS one is unsigned, whereas the
common structure has signed elements. If the OS one ends up getting
defined, this causes a timing calculation error in curl.
It's easy enough to resolve this at the curl end, by casting the
potentially errorneous calculation to a signed long (see attachment).
The second issue, which is the long-standing one, is that modern OS
releases and C libraries don't need bsdsocket.library opening
manually, as the C library can handle this. This means the #ifdef in
amigaos.c/h needs to be revised. As this is now the odd case, I
suggest adding a check to Configure for the amitcp/socketbasetags.h
header, and only enabling that code if it is present. Note there is a
select/WaitSelect definition in curl_setup.h, and an Amiga-specific in
tool_operate.c, which also need to be removed (see attachments) if
building using the C library functions.
Lastly, in curl 7.40.0 there is some IPv6 specific code which is
getting compiled in even with IPv6 disabled:
connect.c: In function `singleipconnect':
connect.c:1019: error: `AF_INET6' undeclared (first use in this function)
connect.c:1019: error: (Each undeclared identifier is reported only once
connect.c:1019: error: for each function it appears in.)
make[2]: *** [libcurl_la-connect.lo] Error 1
I don't have any fix for that.
Regards
Chris
('plain' encoding is not supported, stored as-is) ('plain' encoding is not supported, stored as-is) ('plain' encoding is not supported, stored as-is)
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
(end of MIME multipart message)
- text/plain attachment: lib.timeval.c.p
- text/plain attachment: lib.curl_setup.h.p
- text/plain attachment: src.tool_operate.c.p