зеркало из https://github.com/github/ruby.git
2a34bcaa10
The socket extensions rubysocket.h pulls in the "private" include/gc.h, which now depends on vm_core.h. vm_core.h pulls in id.h when tool/update-deps generates the dependencies for the makefiles, it generates the line for id.h to be based on VPATH, which is configured in the extconf.rb for each of the extensions. By default VPATH does not include the actual source directory of the current Ruby so the dependency fails to resolve and linking fails. We need to append the topdir and top_srcdir to VPATH to have the dependancy picked up correctly (and I believe we need both of these to cope with in-tree and out-of-tree builds). I copied this from the approach taken in https://github.com/ruby/ruby/blob/master/ext/objspace/extconf.rb#L3 |
||
---|---|---|
.. | ||
lib | ||
.document | ||
addrinfo.h | ||
ancdata.c | ||
basicsocket.c | ||
constants.c | ||
depend | ||
extconf.rb | ||
getaddrinfo.c | ||
getnameinfo.c | ||
ifaddr.c | ||
init.c | ||
ipsocket.c | ||
mkconstants.rb | ||
option.c | ||
raddrinfo.c | ||
rubysocket.h | ||
socket.c | ||
sockport.h | ||
sockssocket.c | ||
tcpserver.c | ||
tcpsocket.c | ||
udpsocket.c | ||
unixserver.c | ||
unixsocket.c |