* configure.in (rubylibprefix): replace exec_prefix as well as
bindir and libdir. a patch by kimuraw (Wataru Kimura) at
[ruby-dev:47852]. [Bug #9160]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check malloc_size() available on BSD.
* gc.c: use malloc_size() with malloc/malloc.h on BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_hash_keys): use st_keys() for performance improvement
if st_data_t and VALUE are compatible.
* st.h: define macro ST_DATA_COMPATIBLE_P() to predicate whether
st_data_t and passed type are compatible.
* configure.in: check existence of builtin function to use in
ST_DATA_COMPATIBLE_P().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
__sync family are legacy functions now and it is recommended
that new code use the __atomic functions.
http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
* configure.in: check existence of __atomic functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
malloc_usable_size() is defined by malloc_np.h on FreeBSD.
* configure.in: check malloc.h and malloc_np.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (vm_xrealloc, vm_xfree): use malloc_usable_size() to obtain old
size if available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (--with-os-version-style): option to transform target
OS version string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
compiling.
[ruby-core:58391] [Bug #9119] Reported by Luis Lavena.
Analyzed by Heesob Park.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check if the given CFLAGS and LDFLAGS are working, and
bail out early if not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (console_emulator_p): check by comparison between
module handle of WriteConsoleW and kernel32.dll.
* configure.in, win32/Makefile.sub, win32/setup.mak: no longer need
psapi.lib.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in, Makefile.in (RUNRUBY_COMMAND): separate from RUNRUBY,
to use options for runruby.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_CHECK_SIGNEDNESS): macro to check signedness of a
type.
* configure.in (size_t): must be unsigned.
[ruby-core:57149] [Feature #8890]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUNRUBY): append -- only after runruby.rb, not
cross-compiling baseruby, so that $(RUN_OPT) can be command line
options. [ruby-dev:47703] [Bug #8893]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (SOLIBS): LIBRUBY_SO also needs linking with gmp, to
run worker processes in test-all on non-ELF platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(bary_mul_gmp): New function.
(bary_mul): Use bary_mul_gmp.
(bigsq): Use different threshold with GMP.
* configure.in: Detect GMP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (clock_gettime): should not overwrite cache variable
with different condtion. otherwise -lrt is not linked and the link
fails, after reconfig.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (clock_gettime): need to check with -lrt prior to check
for the function only. otherwise -lrt is not linked and the link
fails, when ac_cv_func_clock_gettime is cached as yes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This is accepted in the meeting:
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130809
This method is accepted as a CRuby feature.
I.e. Other Ruby implementations don't need to implement it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: use the result of AC_CHECK_LIB(rt, clock_gettime) as
clock_gettime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c (rb_str_normalize_ospath): normalize to Normalization Form C
using CFString.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/ruby.h: use strcasecmp() as st_strcasecmp() if it
exists.
* st.c (st_strcasecmp): define the function only if strcasecmp()
doesn't exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(nlz32): Use __builtin_clz or __builtin_clzl if possible.
(nlz64): Use __builtin_clzl or __builtin_clzll if possible.
(nlz128): Use __builtin_clzll if possible.
* configure.in: Check __builtin_clz, __builtin_clzl and
__builtin_clzll.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
__builtin_bswap64.
* internal.h (swap32): Use the configure result for the condition to
use __builtin_bswap32.
(swap64): Use the configure result for the condition to use
__builtin_bswap64.
* bignum.c (ones): Use the configure result for the condition to use
__builtin_popcountl.
(bary_unpack_internal): Use appropriate types for swap argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_DTRACE_POSTPROCESS): dtrace version SUN D 1.11
introduces a check in the dtrace compiler to ensure that probes
actually exist. If there are no probes, then the -G step will
fail. As this test is only being used to determine whether -G is
necessary (for instance, on OSX it is not), adding a real probe to
the conftest allows it to succeed on newer versions of dtrace.
Patch by Eric Saxby <sax AT livinginthepast.org> at
[ruby-core:55826]. [Fix GH-351], [Bug #8606].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available.
(BDIGIT): Use uint64_t if uint128_t is available.
(SIZEOF_BDIGITS): Defined for above case.
(BDIGIT_DBL_SIGNED): Ditto.
(PRI_BDIGIT_PREFIX): Ditto.
* include/ruby/ruby.h (PRI_64_PREFIX): Defined.
* bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which
rb_big_pow returns Float or Bignum.
[ruby-dev:47413] [Feature #8509]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: revert r41106. size_t may not be unsigned
* bignum.c (rb_absint_size_in_word, rb_int_export, rb_int_import): use
NUM2SIZET() and SIZET2NUM() already defined in ruby/ruby.h.
* ext/-test-/bignum/export.c (rb_int_export_m): ditto.
* ext/-test-/bignum/import.c (rb_int_import_m): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
is only used from dir.c and it doesn't need readdir_r().
* configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): remvoed. It is
only used for readdir_r.
* dir.c: removes NAME_MAX_FOR_STRUCT_DIRENT. It is not right way
to detect maximum length of path len. POSIX require to use
fpathconf(). IOW, it might have lead to make a vulnerability
using stack smashing. Moreover, readdir() works enough for our
usage.
* dir.c (READDIR): removes an implementation which uses
readdir_r() and parenthesize in a macro body correctly.
* dir.c (dir_read): removes IF_HAVE_READDIR_R(DEFINE_STRUCT_DIRENT
entry), it is used only for readdir_r().
* dir.c (dir_each): ditto.
* dir.c (glob_helper): ditto.
* dir.c (READDIR): removes entry and dp argument.
* dir.c (dir_read): adjust for the above change.
* dir.c (dir_each): ditto.
* dir.c (glob_helper): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (HAVE_ATTRIBUTE_FUNCTION_ALIAS): define to tell if
alias attribute is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (LIBRUBY_RPATHFLAGS): do not append -L option with
runtime library directory if cross compiling, but only -R option.
runtime path makes no sense on the host system. [ruby-dev:47363]
[Bug #8443]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (setjmp-type): check if setjmpex() is really available.
workaround for i686-w64-mingw32 which declares it but lacks its
definition.
* include/ruby/defines.h: include setjmpex.h only if also setjmpex()
is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (setjmp-type): use setjmpex() on w64-mingw32 to get rid
of -Wclobbered warnings.
* include/ruby/defines.h: include setjmpex.h here becase setjmp.h is
included from win32.h via intrin.h, winnt.h, and so on.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
C compiler.
The C compiler of Sun Studio C emits "Warning: Option -qversion
passed to ld, if ld is invoked, ignored otherwise" and exit
successfully.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* template/verconf.h.in: generate verconf.h from the template and
rbconfig.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_PLATFORM): move to config.h as needed by
version.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: save configured load path values into verconf.in.
* common.mk (verconf.h): create from verconf.in with shvar_to_cpp.rb.
* tool/shvar_to_cpp.rb: turn shell variables into C macros.
[Bug #7959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
emulate getipaddrs(3) on Unix.
* win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above
function.
* include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't
substitute for any function, so use non-prefixed name.
* ext/socket/extconf.rb (socketpair); follow above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: adds RUBY_REPLACE_TYPE(off_t) for creating
NUM2OFFT.
* file.c (rb_file_truncate): use correct type. chsize() take
a long.
* include/ruby/ruby.h (NUM2OFFT): use a definition created by
a configure script by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ftello64). They are not used from anywhere.
* win32/win32.c (fseeko): removes.
* win32/win32.c (rb_w32_ftello): removes.
* include/ruby/win32.h: removes declarations of rb_w32_ftello and
rb_w32_fseeko.
* win32/Makefile.sub: removes '#define HAVE_FTELLO 1'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
the main C library.
glibc 2.17 moves clock_* from librt to the main C library.
http://sourceware.org/ml/libc-announce/2012/msg00001.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: should not strip newline at the beginning for the
default link command.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_RM_RECURSIVE): this hack is needed by only
autoconf 2.69 or earlier on darwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval_intern.h (CharNext): Don't use mblen() is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
handlers properly restores the signal mask and SS_ONSTACK flag.
[ruby-core:54175] [Bug #8254]
* configure.in: Manually check for presence of sigsetjmp. It is not a
function on some systems, so AC_CHECK_FUNCS cannot be used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
together on SmartOS
* configure.in (stack_protector): control use of -fstack-protector.
* configure.in (debugflags): let -fstack-protector precede and disable
debugflags, because they can't work together on SmartOS. [Bug #8268]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This fixes a compilation error on Haiku (gcc2 and gcc4).
* configure.in: Use shared linker as $(CC) for Haiku.
This fixes a build error on Haiku (gcc2).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby_atomic.h: Skip using Solaris10 atomic_ops on Solaris 9 or earlier if atomic.h is not available. [ruby-dev:47229] [Bug #8228]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (warnflags): -Wextra-tokens is same as -Wextra and
let -Wno- options ignored on gcc 3.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (warnflags): bail out at extra tokens, instead
continuing with lots of warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (XCFLAGS): stop including missing.h by command line
option, as the header seems included necessary places already.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: skip autoconf 2.64 and 2.66, 2.67 seems short-lived
but stick on it for Debian Squeeze.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: should not use AC_COMPILE_IFELSE before
AC_USE_SYSTEM_EXTENSIONS. [Bug #8192]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (TYPEOF_TIMEVAL_TV_SEC): check for x64-mingw, where
timeval.tv_sec is not time_t.
* thread.c (double2timeval): use TYPEOF_TIMEVAL_TV_SEC to get rid of
overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_REPLACE_TYPE): define SIGNEDNESS_OF_type same as
check_signedness of mkmf.rb.
* internal.h (TIMET_MAX, TIMET_MIN, TIMET_MAX_PLUS_ONE): use
SIGNEDNESS_OF_TIME_T.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (showflags): show the compiler version.
* configure.in (CC_VERSION): compiler with version option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: struct timeval is defined in winsock2.h on mingw.
* include/ruby/missing.h: include time.h for time_t, and sys/time.h
for timeval and timespec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_function_name_string): macro for function name
string predefined identifier, __func__ in C99, or __FUNCTION__ in
gcc.
* file.c (rb_sys_fail_path): use RUBY_FUNCTION_NAME_STRING.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rm, shvar_to_cpp, unexpand_shvar): local is not
available on old shells.
* configure.in (shvar_to_cpp): escape quotes for old shells.
[Bug #7959] [Bug #8071]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rm): note to remove this hack when AC_PREREQ(2.70) or
later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): escape double-quotes in backquotes in
double-quotes for some shells. [Bug #7959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): remove variable which is no longer
used since r39506. [Bug #7959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): get rid of non-portable shell
behavior on OpenBSD, so no extra quotes. [Bug #7959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (setup): find Setup file from target_os 1. by
suffix (e.g. Setup.nacl, Setup.atheos), 2. by "platform"
option (e.g. Setup.nt, Setup.emx), and 3. default Setup. And
Setup.dj had been removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): Use the numeric comparison
operator instead of '==' which is a ksh extention. [Bug #7941]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (libdir_basename): expand with multiarch in configure,
not to defer the expansion till ruby.pc.in and mkmf.rb. [Bug #7874]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (libdir_basename): also -rpath and -install_name flags
are affected when libruby directory changes. [Bug #7874]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (target_os): do not strip -gnu suffix on Linux if
--target is given explicitly. [Bug #7874]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
beyond signal trampoline, and as described in r38342 it can't
trace on -O because it see stack frame pointers.
libunwind unw_backtrace see dwarf information in the binary
and it works with -O (without frame pointers).
* configure.in: remove r38342's hack and check libunwind.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): regularize a shell variable by
unexpanding shell variables in it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): regularize a shell variable by
unexpanding shell variables in it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (LIBRUBY_DLDFLAGS): Fix a bug where --with-opt-dir
options given were not reflected to LIBRUBY_DLDFLAGS on many
platforms including Linux and other GNU-based systems, NetBSD,
AIX and BeOS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (shvar_to_cpp): do not substitute exec_prefix itself
with RUBY_EXEC_PREFIX, which cause recursive definition.
[ruby-core:52296] [Bug #7860]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ext/socket/extconf.rb instead of configure.in.
Originally, netinet/in_systm.h is included for NextStep, OpenStep,
and Rhapsody. [ruby-core:1596]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e