--- /dev/null
+#include "ruby/ruby.h"
+
+#define init(func, name) { \
+ extern void func(void); \
+ ruby_init_ext(name".so", func); \
+}
+
+void ruby_init_ext(const char *name, void (*init)(void));
+
+void Init_ext(void)
+{
+ init(Init_strscan, "strscan");
+ init(Init_syslog, "syslog");
+ init(Init_generator, "json/ext/generator");
+ init(Init_parser, "json/ext/parser");
+ init(Init_sizeof, "rbconfig/sizeof");
+ init(Init_bigdecimal, "bigdecimal");
+ init(Init_util, "bigdecimal/util");
+ init(Init_cparse, "racc/cparse");
+ init(Init_digest, "digest");
+ init(Init_bubblebabble, "digest/bubblebabble");
+ init(Init_md5, "digest/md5");
+ init(Init_rmd160, "digest/rmd160");
+ init(Init_sha1, "digest/sha1");
+ init(Init_sha2, "digest/sha2");
+ init(Init_psych, "psych");
+ init(Init_escape, "cgi/escape");
+ init(Init_fcntl, "fcntl");
+ init(Init_stringio, "stringio");
+ init(Init_socket, "socket");
+ init(Init_pathname, "pathname");
+ init(Init_date_core, "date_core");
+ init(Init_pty, "pty");
+ init(Init_openssl, "openssl");
+ init(Init_fiber, "fiber");
+ init(Init_fiddle, "fiddle");
+ init(Init_etc, "etc");
+ init(Init_continuation, "continuation");
+ init(Init_objspace, "objspace");
+ init(Init_coverage, "coverage");
+ init(Init_console, "io/console");
+ init(Init_nonblock, "io/nonblock");
+ init(Init_wait, "io/wait");
+ init(Init_ripper, "ripper");
+ init(Init_nkf, "nkf");
+ init(Init_zlib, "zlib");
+ init(Init_sdbm, "sdbm");
+}
--- /dev/null
+#ifndef EXTCONF_H
+#define EXTCONF_H
+#define HAVE_SYS_UIO_H 1
+#define HAVE_NETINET_IN_SYSTM_H 1
+#define HAVE_NETINET_TCP_H 1
+#define HAVE_NETINET_UDP_H 1
+#define HAVE_ARPA_INET_H 1
+#define HAVE_NETPACKET_PACKET_H 1
+#define HAVE_NET_ETHERNET_H 1
+#define HAVE_SYS_UN_H 1
+#define HAVE_IFADDRS_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_NET_IF_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_ARPA_NAMESER_H 1
+#define HAVE_RESOLV_H 1
+#define HAVE_TYPE_STRUCT_SOCKADDR_UN 1
+#define HAVE_TYPE_STRUCT_SOCKADDR_STORAGE 1
+#define HAVE_TYPE_STRUCT_ADDRINFO 1
+#define HAVE_TYPE_SOCKLEN_T 1
+#define HAVE_TYPE_STRUCT_IN_PKTINFO 1
+#define HAVE_STRUCT_IN_PKTINFO_IPI_SPEC_DST 1
+#define HAVE_ST_IPI_SPEC_DST 1
+#define HAVE_TYPE_STRUCT_IN6_PKTINFO 1
+#define HAVE_TYPE_STRUCT_IP_MREQ 1
+#define HAVE_TYPE_STRUCT_IP_MREQN 1
+#define HAVE_TYPE_STRUCT_IPV6_MREQ 1
+#define HAVE_STRUCT_MSGHDR_MSG_CONTROL 1
+#define HAVE_ST_MSG_CONTROL 1
+#define HAVE_TYPE_STRUCT_TCP_INFO 1
+#define HAVE_CONST_TCP_ESTABLISHED 1
+#define HAVE_CONST_TCP_SYN_SENT 1
+#define HAVE_CONST_TCP_SYN_RECV 1
+#define HAVE_CONST_TCP_FIN_WAIT1 1
+#define HAVE_CONST_TCP_FIN_WAIT2 1
+#define HAVE_CONST_TCP_TIME_WAIT 1
+#define HAVE_CONST_TCP_CLOSE 1
+#define HAVE_CONST_TCP_CLOSE_WAIT 1
+#define HAVE_CONST_TCP_LAST_ACK 1
+#define HAVE_CONST_TCP_LISTEN 1
+#define HAVE_CONST_TCP_CLOSING 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_STATE 1
+#define HAVE_ST_TCPI_STATE 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_CA_STATE 1
+#define HAVE_ST_TCPI_CA_STATE 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RETRANSMITS 1
+#define HAVE_ST_TCPI_RETRANSMITS 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_PROBES 1
+#define HAVE_ST_TCPI_PROBES 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_BACKOFF 1
+#define HAVE_ST_TCPI_BACKOFF 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_OPTIONS 1
+#define HAVE_ST_TCPI_OPTIONS 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RTO 1
+#define HAVE_ST_TCPI_RTO 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_ATO 1
+#define HAVE_ST_TCPI_ATO 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_SND_MSS 1
+#define HAVE_ST_TCPI_SND_MSS 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RCV_MSS 1
+#define HAVE_ST_TCPI_RCV_MSS 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_UNACKED 1
+#define HAVE_ST_TCPI_UNACKED 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_SACKED 1
+#define HAVE_ST_TCPI_SACKED 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_LOST 1
+#define HAVE_ST_TCPI_LOST 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RETRANS 1
+#define HAVE_ST_TCPI_RETRANS 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_FACKETS 1
+#define HAVE_ST_TCPI_FACKETS 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_LAST_DATA_SENT 1
+#define HAVE_ST_TCPI_LAST_DATA_SENT 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_LAST_ACK_SENT 1
+#define HAVE_ST_TCPI_LAST_ACK_SENT 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_LAST_DATA_RECV 1
+#define HAVE_ST_TCPI_LAST_DATA_RECV 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_LAST_ACK_RECV 1
+#define HAVE_ST_TCPI_LAST_ACK_RECV 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_PMTU 1
+#define HAVE_ST_TCPI_PMTU 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RCV_SSTHRESH 1
+#define HAVE_ST_TCPI_RCV_SSTHRESH 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RTT 1
+#define HAVE_ST_TCPI_RTT 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RTTVAR 1
+#define HAVE_ST_TCPI_RTTVAR 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_SND_SSTHRESH 1
+#define HAVE_ST_TCPI_SND_SSTHRESH 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_SND_CWND 1
+#define HAVE_ST_TCPI_SND_CWND 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_ADVMSS 1
+#define HAVE_ST_TCPI_ADVMSS 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_REORDERING 1
+#define HAVE_ST_TCPI_REORDERING 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RCV_RTT 1
+#define HAVE_ST_TCPI_RCV_RTT 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_RCV_SPACE 1
+#define HAVE_ST_TCPI_RCV_SPACE 1
+#define HAVE_STRUCT_TCP_INFO_TCPI_TOTAL_RETRANS 1
+#define HAVE_ST_TCPI_TOTAL_RETRANS 1
+#define HAVE_SOCKET 1
+#define HAVE_SENDMSG 1
+#define HAVE_RECVMSG 1
+#define HAVE_FREEADDRINFO 1
+#define HAVE_GAI_STRERROR 1
+#define GAI_STRERROR_CONST 1
+#define HAVE_ACCEPT4 1
+#define HAVE_INET_NTOP 1
+#define HAVE_INET_PTON 1
+#define HAVE_GETSERVBYPORT 1
+#define HAVE_GETIFADDRS 1
+#define HAVE_IF_INDEXTONAME 1
+#define NEED_IF_INDEXTONAME_DECL 1
+#define HAVE_IF_NAMETOINDEX 1
+#define NEED_IF_NAMETOINDEX_DECL 1
+#define HAVE_GETHOSTBYNAME2 1
+#define HAVE_SOCKETPAIR 1
+#define HAVE_GETHOSTNAME 1
+#define ENABLE_IPV6 1
+#define INET6 1
+#define HAVE_CONST_AF_UNIX 1
+#define HAVE_CONST_SCM_RIGHTS 1
+#define FD_PASSING_WORK_WITH_RECVMSG_MSG_PEEK 1
+#define HAVE_GETNAMEINFO 1
+#define HAVE_GETADDRINFO 1
+#define RUBY_EXPORT 1
+#endif