Solaris 10 does not have dirfd, but the file descriptor of a
directory is stored in the d_fd or dd_fd member in the DIR struct.
Note that Solaris 11 has dirfd(3C).
* configure.in: checks for DIR.d_fd and DIR.dd_fd on Solaris 10.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
More specifically, the stack address and size returned are
not correct.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check INFINITY and NAN without an option for C99
so that rb_infinity and rb_nan are respectively available
regardless that option if they may be used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check for libunwind.h, which is not available in
very old OS X SDK. [ruby-core:71080] [Bug #11591]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (PREP): add ruby-runner only if needed to pass the
environment variable for library path as /bin/sh clears it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (enum_over_int): use ULLONG_MAX instead of
ULONG_LONG_MAX for portability.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (enum_over_int): check if enum over int is allowed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (BOOTSTRAPRUBY): avoid too old versions. current
fileutils.rb does not work with 1.8 or older, because of the
return values of Module#singleton_methods and so on.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (BOOTSTRAPRUBY): use BASERUBY if available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (rb_io_reopen): freopen(3) with OS encoding path.
[ruby-core:69780] [Bug #11320]
* win32/file.c (rb_freopen): wrapper of wchar version freopen(3).
use _wfreopen_s() if available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
occurred in vfork(2) with multi-threading and dynamic linker
on Solaris. [Bug #11265] [ruby-dev:49089]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for FreeBSD, and don't define it if both pthread_setname_np
and pthread_set_name_np don't exist.
* thread_pthread.c (SET_THREAD_NAME): don't define if they don't exist.
* thread_pthread.c (native_set_thread_name): run if SET_THREAD_NAME
is defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
darwin uses GNU cmp, and FreeBSD and Solaris are not.
Note that accidentally equals to expected result.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c (need_normalization): use getattrlist() if fgetattrlist()
is unavailable, on OSX 10.5. [ruby-core:68829] [Bug #11054]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk, tool/mkconfig.rb: check the running ruby version in
rbconfig.rb with the program version, as RUBY_VERSION has never
been affected by --with-ruby-version option.
[ruby-core:68639] [Bug #11002]
* configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be
valid version numbers, not an arbitrary string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (winnt_stat): stat with following symbolic links.
* win32/win32.c (winnt_lstat): rename old winnt_stat, which does
not follow symbolic links.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check also procstat_getvmmap, which is not
available on FreeBSD 9. [ruby-core:68468] [Bug #10954]
* vm_dump.c (procstat_vm): use kinfo_getvmmap instead if
procstat_getvmmap is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[Bug #10926] [ruby-dev:48888]
* configure.in: set LIBPATHENV for 32-bit compile in Solaris in addition
to 64-bit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: do not check _setjmp unless _longjmp is available,
so that configure results will not be changed by cache.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_REPLACE_TYPE): restore unsigned type from
cached variable only if the target type is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_REPLACE_TYPE): restore convertible type from
cached variable, so that configured results will be stable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_broken_memmem): check before adding the
result HAVE_MEMMEM macro to confdefs.h, so that configured
results will be stable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (PRELOADENV): platform specific environment to
pre-load the given shared libraries.
* tool/runruby.rb: use config['PRELOADENV'] instead of hardcoded
LD_PRELOAD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_DTRACE_AVAILABLE): try compile to see if
headers are available too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (LIBRUBY_SO): make symbols for static IDs which
begin with ruby_static_id_ local too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (LDFLAGS): exclude /usr/lib from appendant library
path list, which should be redundant.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (LDFLAGS): add -L options for library directories
corresponding to default include directories, as gcc does not
prepend duplicate directories.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (CPPFLAGS): use -iquote for both /usr/include and
/usr/local/include, so that the order can be overridden later
with -I options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (COMMONOBJS): include $(DTRACE_OBJ) which is necessary
for $(DTRACE_DEPENDENT_OBJS).
* configure.in (RUBY_DTRACE_POSTPROCESS): separate whether dtrace
is needed to genearate probes.o and whether it modifies input
object files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_DTRACE_POSTPROCESS): check if the object file
is really modified by `dtrace -G`, this command is very system
dependent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make
and use newline.c under enc/trans directory, not toplevel. no
longer search enc directory implicitly.
* configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES):
prefix respective directory names to builtin encodings and
transcoder source names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: get rid of pattern substitution, which is not
supported by ash, and ash on NetBSD parses whole source first
and fails to start. [ruby-dev:48823] [Bug #10750]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: move the default execluded extensions from
configure.in so that it works on win32 too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (with-out-ext): exclude never available libraries
by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (NET_LUID): include winsock2.h instead of windows.h.
patch by Jon Forums in [ruby-core:67125]. [Bug #10640]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c (replace_real_basename): get the real name and replace the
base name with it by getattrlist(2) if available.
suggested by Matthew Draper at [ruby-core:67116]. [Bug #10015]
* dir.c (glob_helper): get the real name of the whole path, not
only the last name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (NET_LUID): include also ifdef.h as a workaround of
a bug in mingw-w64 header. [ruby-core:67103] [Bug #10640]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (jemalloc): fix option argument, should use
`$withval` but not `yes` always. [ruby-core:66994] [Bug #10625]
* configure.in (jemalloc): defer adding the liner option to get
rid of linking contest against jemalloc, so that it works
without runtime dynamic load path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_binary_elf): get rid of -e option of cat
which is not available on BusyBox, use tr instead.
[ruby-core:64824] [Bug #10210]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Moreover its error "make[1]: *** No rule to make target
`lib/unicode_normalize/tables.rb', needed by `srcs-lib'. Stop." is not
a good error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (__builtin_setjmp): disable with gcc/clang earlier
than 4.3 on Mac OS X. [ruby-core:65174] [Bug #10272]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (nacl_cv_cpu_nick): fix typo in PNaCl.
(XCFLAGS) Add -isystem flag to pnacl and nacl-newlib
(CXX): added
* nacl/GNUmakefile.in (CXX): Added
(PPROGRAM): Use clang++ instead of clang because libnacl_io
depends on c++ std lib.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (XCFLAGS): Add include path for NaCl libraries.
(XLDFLAGS): ditto.
(NACL_LIB_PATH): new stubstitution
* nacl/nacl-config.rb: support NACL_LIB_PATH
* nacl/package.rb: ditto.
* nacl/pepper_main.c: replace old implementations with nacl_io.
* nacl/GNUmakefile.in: link nacl_io to pepper_ruby
* ruby.c (rb_load_file): remove __attribute__((weak)) because the old
override hack was replaced with nacl_io.
* file.c (rb_file_load_ok): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (UNICODE_FILES): revert the rule that Unicode data
files depend on downloader target, and add missing dependency of
lib/unicode_normalize/tables.rb
* common.mk (after-configure): removed as srcdir should be
read-only after update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: try downloader only if BASERUBY is working. use
tarballs to build without BASERUBY.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for getting precious number of available cpus.
* ext/etc/etc.c (etc_nprocessors): use etc_nprocessors_affinity if
possible.
[Feature #10267] etc-nprocessors-kosaki2.patch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Note: Some of the fixes are for newlib in general but not NaCl-specific.
* include/ruby/intern.h (rb_fd_select): declare struct timeval, or the
struct gets local to the function in C99.
* file.c (#include): add nacl/stat.h for PNaCl.
(utimes): added a declaration for PNaCl.
(stat_atimespec): stat::st_atimensec is long long but
timespec::tv_nsec is long in PNaCl.
(stat_mtimespec, stat_ctimespec): ditto.
(rb_group_member): disable getgroups unless HAVE_GETGROUPS.
(eaccess): unify the fallback to generic defined(USE_GETEUID).
* io.c: include sys/time.h for struct timeval.
(rb_close_before_exec): nothing we can do if F_GETFD is not
available.
(ioctl): pnacl newlib actually doesn't have ioctl.
* process.c (maxgroups): it is used iff
defined(_SC_NGROUPS_MAX) || defined(NGROUPS_MAX) but not
defined(HAVE_GETGROUPS) || defined(HAVE_SETGROUPS).
(obj2gid): fail unless the object is a Fixnum if getgrnam is not
available.
(disable_child_handler_fork_child): sigaction is not available in
PNaCl newlib.
* configure.in (warnflags, strict_warnflags): avoid -ansi for strlcpy.
(rb_cv_gcc_atomic_builtins): also check
__atomic_or_etch because it is used in ruby_atomic.h.
(rb_cv_gcc_sync_builtins): ditto.
(HAVE_GETGRNAM): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_NACL and others): Supports PNaCl.
* dln.c: replace the old hacky dynamic loading over HTTP with nacl_io.
* file.c: tenatively use access(2) instead of eaccess.
(rb_file_load_ok): weaken with attribute but not by postprocess.
* io.c (socket.h): now NaCl has socket.h
(flock): disable here instead of nacl/ioctl.h
* nacl/GNUmakefile.in (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY):
respect path to them if they are absolute.
This helps naclports to build ruby in their source tree.
(PROGRAM_NMF, .SUFFIXES): support .pnexe for PNaCl.
(ruby.o, file.o): move the hack to attributes in ruby.c and file.c
* nacl/ioctl.h: removed. move the hack to io.c.
* nacl/nacl-config.rb: support arm, pnacl and others.
* nacl/pepper_main.c: support build in a naclports tree.
* ruby.c (rb_load_file): weaken with attribute but not by postprocess.
The patch is by sbc@google.com and the Native Client Authors.
It is available at:
* 873ca4910a/ports/ruby/nacl.patch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (__builtin_choose_expr_constant_p): in gcc 4.8 or
earlier, __builtin_choose_expr() does not consider
__builtin_constant_p(variable) a constant expression.
* include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): fix for older gcc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_UNIVERSAL_ARCH): remove arch options from
CXXFLAGS, not only CFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (retry_fork_async_signal_safe): revert r47439 but
disable use of vfork on OS X instead, as it cause hang-up at
test_process.rb:test_deadlock_by_signal_at_forking with parallel
test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (retry_fork_async_signal_safe): vfork may not work
with pthread always even if fork works with it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (getresuid): Defined for AIX.
(getresgid): Ditto
AIX don't have getresuid/getresgid but getuidx/getgidx.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check if prefix is same as the cwd, not only same
path name. also use AC_MSG_ERROR to bail out.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (jemalloc): check with JEMALLOC_MANGLE if not found
without the mangling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (with_jemalloc): get rid of duplicated linker flags,
as AC_CHECK_LIB adds it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (--with-static-linked-ext): fix for extensions to
be linked statically.
* Makefile.in, common.mk: use ENCSTATIC for enc directory.
* ext/extmk.rb: supply dependencies of statically linked extension
libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in, configure.in (Makefile): extract RUBY_RELEASE_DATE from
version.h at each build time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_scalar_pthread_t): pthread_t is not required
to be a scalar type.
* thread.c (fill_thread_id_string, thread_id_str): dump pthread_t
in hexadecimal form if it is not a scalar type, assume it can be
represented in a pointer form otherwise. based on the patch by
Rei Odaira at [ruby-core:62867]. [ruby-core:62857] [Bug #9884]
* thread_pthread.c (Init_native_thread, thread_start_func_1),
(native_thread_create): set thread_id_str if needed.
* vm_core.h (rb_thread_t): add thread_id_string if needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (jemalloc): check for the header regardless drop-in
libjemalloc is found, for `malloc_conf` declaration.
* version.c (ruby_show_version): show `malloc_conf` if set.
[Feature #9113]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (with-jemalloc): also check for header, for ABIs
which JEMALLOC_MANGLE is needed, i.e., Mach-O and PE-COFF
platforms. [ruby-core:62939] [Feature #9113]
* include/ruby/missing.h: include alternative malloc header to
replace memory management functions.
* dln.c, io.c, parse.y, st.c: undef malloc family before
re-definition to suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_typeof): no longer needed because of
AC_C_TYPEOF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
about this variable being used before initialized. I looked at
the code and expanded the macro and turned out it was actually
USED for pointer arithmetic, not dereferenced. So this was
never a serious bug. But is annoying indeed to see warnings
every time. I added `=0` and all went healthy.
* configure.in: Also, I found that the problematic macro expansion
only happens when we lack __typeof__ C extension, which shall
not be the case of my compiler. I added AC_CTYPEOF to kick ass.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_FUNC_ATTRIBUTE): show the attribute name in
the message if the macro name is not given. fix up r45608.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (ac_cv_func_{getcontext,setcontext}): do not
disable ucontext.h entirely, but disable use of functions only.
`ucontext_t` is necessary in the signal handler now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: workaround for Info.plist to get rid of `dsymutil`
crash by wrong files in parent directories.
[ruby-core:62594] [Bug #9840]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_atan2_inf_c99): set `no` if atan2f and
atan2l are not available, and quote the result.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (install-capi): do not install C API documents by
default. [ruby-core:62557]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RUBY_SETJMP_TYPE): check for setjmp type after
CCDLFLAGS is appended to CFLAGS, since __builtin_setjmp can be
affected. [ruby-core:62469] [Bug #9818]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* math.c (math_atan2): return values like as expected by C99 if
both two arguments are infinity. based on the patch by cremno
phobia <cremno AT mail.ru> in [ruby-core:62310]. [Feature #9799]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
is supported on AIX, HP-UX, and Solaris, by using the value of
struct statvfs.f_basetype.
* configure.in (HAVE_STRUCT_STATVFS_F_BASETYPE): check struct
statvfs.f_basetype which is available on AIX, HP-UX, and Solaris.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to support OpenBSD.
* file.c (statfs_type): use above macro to switch.
* file.c (statfs_inspect): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: on NetBSD fstatfs is obsoleted.
* file.c: support NetBSD for File::Statfs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_func___builtin_unreachable): try with an
external variable not only by a warning, which might not be
shown due to the optimization. [ruby-core:61647] [Bug #9665]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check if fsid_t is defined.
* file.c (statfs_fsid): fsid_t may not be defined, assume long in
that case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_getcwd_malloc): check if getcwd allocates
buffer if NULL is given [ruby-core:62072] [Bug #9752]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: get rid of __builtin_setjmp/__builtin_longjmp on
x64-mingw, which causes SEGV with callcc.
[ruby-core:61887] [Bug #9710]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (ac_cv_func___builtin_setjmp): get rid of a bug in
clang 3.3 and 3.4, which __builtin_setjmp() causes fatal error
in backend, linker error, or segmentation fault.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (ac_cv_func___builtin_setjmp): should not skip
flags restoration in RUBY_WERROR_FLAG by `break`.
[ruby-dev:48086] [Bug #9698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (ac_cv_func___builtin_setjmp): use the first cast
which works with __builtin_longjmp(). [Bug #9692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a
variable as the second argument of __builtin_longjmp().
[ruby-core:61800] [Bug #9692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: Fix a build problem with clang and --with-opt-dir.
If ruby is configured with --with-opt-dir=dir when using clang
as compiler, a warning `clang: warning: argument unused during
compilation: '-I dir'` is emitted almost every time clang
compiles a file. Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes
any output from the compiler as fatal error, and the check thus
fails due to the warning. This is an attempt to fix the problem
by adding a flag -Qunused-arguments to CFLAGS locally in the
function to suppress the warning. [ruby-dev:48062] [Bug #9658]
[Fixes GH-571] https://github.com/ruby/ruby/pull/571
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (os_version_style): get default style from
`/usr/bin/ruby` if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (DLDFLAGS): insert a space between option and its
argument for non-GCC compilers. [ruby-core:61429] [Bug #9624]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (DLDFLAGS): check for each options to control
symbol resolution. [ruby-core:61429] [Bug #9624]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* addr2line.c (fill_lines): show the line number in C backtrace if
ruby is built without --enable-shared (PIE) on Linux.
patch is originally by Shinichiro Hamaji
https://twitter.com/shinh/status/441957774264504321
NOTE: ld doesn't insert __executable_start for PIE.
dladdr(3)'s argument must be a function pointer.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_architecture_available): check whether
__ARCHITECTURE__ is available before replacing CFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (PACKED_STRUCT_UNALIGNED): fix typo. Intel x86
cpus are called x86 or i386 etc, not x386.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (PACKED_STRUCT_UNALIGNED): use on x64-mingw too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
struct time_object shrinks from 88 to 46 bytes on my 64-bit system.
* configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+
use __attribute__((packed)) if available
* timev.h: shrink and pack struct vtm
* time.c: pack struct time_object and adjust/introduce helpers
[ruby-core:60794]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check if pthread_setname_np is available.
* thread_pthread.c: pthread_setname_np is not available on old
Darwins. [ruby-core:60524] [Bug #9492]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: add qouting brackets and append wildcard for the
rest after target_cpu, to properly detect platform for SSE2
instructions. [ruby-core:60576] [Bug #8358]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
BSD version has different prototype.
* util.h: use qsort_r() as ruby_qsort() if it is GNU version.
* util.c: define ruby_qsort() if needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: ISO9899:1999 is necessary for strtoll() on FreeBSD
10, (and may be possibly other platforms).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: use SSE2 instructions to drop unexpected precisions on
other than mingw. [ruby-core:59472] [Bug #8358]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (RPATHFLAG): use -rpath if -R is not available.
* configure.in (LIBRUBY_RPATHFLAGS): use RPATHFLAG instead of
hardcoded -R option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after
LIBPATHFLAG and RPATHFLAG are set. [ruby-dev:47868] [Bug #9317]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e