1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/socket/extconf.rb: use all all tested available headers for

have_func.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2013-02-15 15:20:34 +00:00
parent aeac90e6c5
commit 41b2a6f01b
2 changed files with 50 additions and 49 deletions

View file

@ -1,3 +1,8 @@
Sat Feb 16 00:19:20 2013 Tanaka Akira <akr@fsij.org>
* ext/socket/extconf.rb: use all all tested available headers for
have_func.
Fri Feb 15 22:21:37 2013 Akinori MUSHA <knu@iDaemons.org> Fri Feb 15 22:21:37 2013 Akinori MUSHA <knu@iDaemons.org>
* configure.in: Fix a bug introduced in r38342 that the cflagspat * configure.in: Fix a bug introduced in r38342 that the cflagspat

View file

@ -23,36 +23,32 @@ else
have_library("socket", "socket") # SunOS have_library("socket", "socket") # SunOS
end end
headers = []
unless $mswin or $bccwin or $mingw unless $mswin or $bccwin or $mingw
headers = %w<sys/types.h netdb.h string.h sys/socket.h netinet/in.h> headers = %w<sys/types.h netdb.h string.h sys/socket.h netinet/in.h>
end end
if /solaris/ =~ RUBY_PLATFORM and !try_compile("")
# bug of gcc 3.0 on Solaris 8 ?
headers << "sys/feature_tests.h"
end
if have_header("arpa/inet.h")
headers << "arpa/inet.h"
end
have_header("netinet/tcp.h") if /cygwin/ !~ RUBY_PLATFORM # for cygwin 1.1.5 %w[
have_header("netinet/udp.h") sys/feature_tests.h
arpa/inet.h
have_header("arpa/nameser.h") netinet/tcp.h
have_header("resolv.h") netinet/udp.h
arpa/nameser.h
have_header("ifaddrs.h") resolv.h
ifaddrs.h
have_header("sys/ioctl.h") sys/ioctl.h
have_header("sys/sockio.h") sys/sockio.h
have_header("net/if.h", headers) net/if.h
sys/param.h
have_header("sys/param.h", headers) sys/ucred.h
have_header("sys/ucred.h", headers) sys/un.h
sys/uio.h
have_header("sys/un.h") ucred.h
have_header("sys/uio.h") ].each {|h|
if have_header(h, headers)
have_header("ucred.h", headers) headers << h
end
}
have_type("struct sockaddr_storage", headers) have_type("struct sockaddr_storage", headers)
@ -89,18 +85,18 @@ if (doug[] or
doug[] or with_cppflags($CPPFLAGS + " -Dss_len=__ss_len", &doug) doug[] or with_cppflags($CPPFLAGS + " -Dss_len=__ss_len", &doug)
end end
have_struct_member('struct msghdr', 'msg_control', ['sys/types.h', 'sys/socket.h']) have_struct_member('struct msghdr', 'msg_control', headers)
have_struct_member('struct msghdr', 'msg_accrights', ['sys/types.h', 'sys/socket.h']) have_struct_member('struct msghdr', 'msg_accrights', headers)
if have_func(test_func) if have_func(test_func, headers)
have_func("sendmsg") have_func("sendmsg", headers)
have_func("recvmsg") have_func("recvmsg", headers)
have_func("freehostent") have_func("freehostent", headers)
have_func("freeaddrinfo") have_func("freeaddrinfo", headers)
if /haiku/ !~ RUBY_PLATFORM and have_func("gai_strerror") if /haiku/ !~ RUBY_PLATFORM and have_func("gai_strerror", headers)
if checking_for("gai_strerror() returns const pointer") {!try_compile(<<EOF)} if checking_for("gai_strerror() returns const pointer") {!try_compile(<<EOF)}
#{cpp_include(headers)} #{cpp_include(headers)}
#include <stdlib.h> #include <stdlib.h>
@ -114,29 +110,29 @@ EOF
end end
end end
have_func("accept4") have_func("accept4", headers)
have_func('inet_ntop(0, (const void *)0, (char *)0, 0)') or have_func('inet_ntop(0, (const void *)0, (char *)0, 0)', headers) or
have_func("inet_ntoa(*(struct in_addr *)NULL)") have_func("inet_ntoa(*(struct in_addr *)NULL)", headers)
have_func('inet_pton(0, "", (void *)0)') or have_func('inet_aton("", (struct in_addr *)0)') have_func('inet_pton(0, "", (void *)0)', headers) or have_func('inet_aton("", (struct in_addr *)0)', headers)
have_func('getservbyport(0, "")') have_func('getservbyport(0, "")', headers)
have_func("getifaddrs") have_func("getifaddrs", headers)
have_func("getpeereid") have_func("getpeereid", headers)
have_func("getpeerucred") have_func("getpeerucred", headers)
have_func("if_indextoname") have_func("if_indextoname", headers)
have_func("hsterror") have_func("hsterror", headers)
have_func("getipnodebyname") have_func("getipnodebyname", headers)
have_func("gethostbyname2") have_func("gethostbyname2", headers)
if !have_func("socketpair(0, 0, 0, 0)") and have_func("rb_w32_socketpair(0, 0, 0, 0)") if !have_func("socketpair(0, 0, 0, 0)", headers) and have_func("rb_w32_socketpair(0, 0, 0, 0)", headers)
$defs << "-Dsocketpair(a,b,c,d)=rb_w32_socketpair((a),(b),(c),(d))" $defs << "-Dsocketpair(a,b,c,d)=rb_w32_socketpair((a),(b),(c),(d))"
$defs << "-DHAVE_SOCKETPAIR" $defs << "-DHAVE_SOCKETPAIR"
end end
unless have_func("gethostname((char *)0, 0)") unless have_func("gethostname((char *)0, 0)", headers)
have_func("uname") have_func("uname", headers)
end end
ipv6 = false ipv6 = false