* Makefile.in (clean-platform): add new target.
It cleans `win32` directory.
* common.mk (clean): add a dependency for `win32` directory.
* common.mk (distclean): ditto.
* common.mk (distclean-platform): add new target.
It cleans `win32` directory.
* common.mk ($(PLATFORM_D)): add new target to make `win32` directory.
* common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32`
directory.
* common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c.
* configure.in: move win32.o into `win32` directory and add
win32/file.o to MISSING.
* file.c (file_load_ok, rb_file_load_ok): replace static
file_load_ok() with public rb_file_load_ok().
It's to link Windows implementation in win32/file.c.
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.
* win32/file.c (rb_file_load_ok): new file. Add Windows specific
optimized implementation of rb_file_load_ok(). We created a
separated file to avoid too many #ifdef macro which is unreadable.
* win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32`
directory.
* win32/Makefile.sub (MISSING): move win32.obj into `win32`
directory and add win32/file.obj to MISSING.
* win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY.
It's because miniruby doesn't exist when making `win32` directory.
* win32/Makefile.sub (clean-platform): add new target to clean `win32`
directory.
* win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match
win32/file.c to build properly.
* win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into
`win32` directory.
Patch created with Luis Lavena.
[ruby-core:42480] [Feature #5999]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (aligned_malloc): use configure's result instead of
_POSIX_C_SOURCE and _XOPEN_SOURCE because they can't be used
to check availability at least on FreeBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
functionality. Set 0x0501 as default. [ruby-core:35010]
[ruby-core:35035]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
are enabled to compile, so that printf format modifiers properly
fail. [ruby-core:41351] [Bug #5679]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Yuji Yamano <yyamano AT kt.rim.or.jp> in [ruby-list:48568].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This breaks build process of Linux and FreeBSD.
It may depend the version of gcc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
link static library created with it. [ruby-core:41387]
[Bug#5686]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c (thread_timer): call prctl(PR_SET_NAME) to change
thread name. It may help to debug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
with gcc 4.4 or later. Their environ is in /usr/libexec/ld-elf.so.1,
so it will be false negative.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
FreeBSD's environ is in /usr/libexec/ld-elf.so.1, so it will be
false negative.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: add --no-undefined if --enable-shared is specified.
Gentoo enabled this option long time. Also, export EXTLDFALGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rid of AS_ECHO which is not available in autoconf 2.61.
[ruby-dev:44702]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shell variable name. based on the patch by The Written Word Inc. at
[ruby-core:40421]. [Bug #5488]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
previously on OpenBSD. a patch by George Koehler <xkernigh AT
netscape.net> at [ruby-core:39752]. [Bug #5376]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
support. Last activity of their OSs are 7 years ago.
* configure.in: ditto.
* dir.c: ditto.
* ext/tk/extconf.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
spawned process.
* process.c (proc_spawn_v): fix missing argument, and try with
/bin/sh only if failed with ENOEXEC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
and vendor_ruby. Patch by Vit Ondruch. [Bug #5187][ruby-core:38921]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
C compiler specified by CC variable (e.g. use g++-4.2 for gcc-4.2).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (ECHO1): ":" in a make variable replacement cause a syntax
error with /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead.
* configure.in (NULLCMD): new check.
* Makefile.in (NULLCMD): Reflects checking in configure.
* win32/Makefile.sub (NULLCMD): new assignment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
explicit option. patched by Jeremy Evans. [ruby-core:38572]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
gc_mark(lev <= GC_LEVEL_MAX) in gc_mark().
In ruby_stack_check(), water_mark is a value that may call some
C function. Fixes Bug #3781
* configure.in: define GC_MARK_STACKFRAME_WORD that approximate
size of gc_mark() and gc_mark_children() stackframes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
The code have already depended on pthread_sigmask since r27464.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because x86_64-w64-mingw32-gcc on Debian GNU/Linux generates the
following symbol:
0000000068483390 D _GLOBAL__F__conftest_external
Approved by nobu.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
no longer an alias of pthread_cond_t.
* thread_pthread.c: adapt new rb_thread_cond_t type.
* thread.c (mutex_alloc): ditto.
* thread_win32.c (native_cond_initialize): ditto.
* configure.in: add check for pthread_cond_attr_setclock() and
clockid_t type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
if possible. based on a patch from Eric Wong. [ruby-core:36003].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Now only Linux uses it.
The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
versions on mingw are useless because they use int32_t. fixes#4564
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
failures and it turned out to be OK to revert. [ruby-dev:43203]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
created by Benoit Daloze. Thanks a lot. [Bug #4384][ruby-core:35148]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (rb_exec_arg_addopt): Use NUM2MODET() instead
NUM2LONG because clang makes compile error by this narrowing
conversion.
* process.c (rb_run_exec_options_err): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-Werror=implicit-function-declaration compile option. therefore
we need a function declaration explicitly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test becuase it's required for exit(3). The patch is
created by Tomoyuki Chikanaga. [Bug #4287] [ruby-dev:43060]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
also uses __syscall if available for *BSD on 64bit architecture.
[ruby-core:34062]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
warnings into errors only for bundled extensions.
[ruby-core:33815]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ruby runtime how it expects to use a file handle. This feature
can be improved a performance some situations.
Note: This feature is mainly developed by Run Paint Run Run.
Thank you! [ruby-core:33110] [Ruby 1.9-Feature#4038]
* io.c (do_io_advise): Helper function.
* io.c (io_advise_sym_to_const): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
warning flag. If you are using GCC, this flag is useful to
prevent breaking VC build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
warnings as errors.
* lib/mkmf.rb (Logging.postpone): yield log file object.
* lib/mkmf.rb (xsystem): add options, :werror only right now.
* lib/mkmf.rb (with_werror): check as if warnings are errors.
* lib/mkmf.rb (convertible_int): make declaration conflict
warnings errors not to pass wrong type. [ruby-dev:42684]
* lib/mkmf.rb (COMMON_MACROS): get rid of conflicts.
* win32/Makefile.sub (WARNFLAGS): make declaration conflict
warnings errors if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
functions in backtrace. [ruby-dev:42625]
a patch from shinichiro.h <shinichiro.hamaji AT gmail.com>
* addr2line.h: ditto.
* common.mk: add addr2line.$(OBJEXT).
* configure.in: check dl_iterate_phdr.
* vm_dump.c (rb_vm_bugreport): use rb_dump_backtrace_with_lines in
addr2line.c when the binary is ELF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
version.c (ruby_initial_load_paths): exclude directories that
are configured without them from $LOAD_PATH. [ruby-core:33267]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
When devel/libexecinfo is installed on FreeBSD, now ruby
can show C level backtrace information.
http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/libexecinfo/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
You can still explicitly disable this feature by specifying
--without-valgrind.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
check if generated pc file is valid.
* template/ruby.pc.in (DEFFILE): need for mingw.
* template/ruby.pc.in (LIBRUBY): fix the order.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_dynamic_alloca): check if extra source for
dynamic size alloca.
* missing/x86_64-chkstk.s (___chkstk): necessary for alloca of
amd64-mingw32msvc-gcc on Ubutu.
* thread_win32.c (ruby_alloca_chkstk): check stack overflow
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
environment even if POSIX defines dev_t as unsigned integer.
For example, OpenVMS, 64bit Solaris 9, and NetBSD 6 defines
dev_t as 64bit unsigned integer.
* file.c (rb_stat_dev): use DEVT2NUM.
* file.c (rb_stat_dev_major): dev_t is not long. major(3)'s return
value is int.
* file.c (rb_stat_dev_minor): dev_t is not long. minor(3)'s return
value is int.
* configure.in: check size of dev_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e