Граф коммитов

958 Коммитов

Автор SHA1 Сообщение Дата
nobu 6f9bbca2df configure.in: clang temporary files
* configure.in: clang leaves temporary files when interrupted by
  SIGPIPE if input is not stdin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-18 09:14:11 +00:00
yugui c9f5a8f3f2 * bootstraptest/test_io.c: add a test for [ruby-dev:46834].
* io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when
  fcntl(2) and/or F_DUPFD is unavailable.
  Suggested by akr.

* configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-06 09:48:00 +00:00
yugui ea9301bd2b * common.mk (yes-btest): btest depends on also $(arch)-fake.rb and
rbconfig.rb on building for NativeClient.

* Makefile.in (fake): Avoid generating $(arch)-fake.rb unless cross
  compiling.

* configure.in (CROSS_COMPILING): New substitution.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-04 09:04:58 +00:00
yugui 6efba755da Fix failures on btest for NativeClient.
* bootstraptest/runner.rb (nacl?): New method to distinguish NaCl
  corss build.

* bootstraptest/test_io.rb: Skip unsupported operations.

* bootstraptest/test_literal.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 15:39:15 +00:00
yugui 6837b808cd * configure.in (OBJCOPY): Fixes build error for NativeClient.
Avoid disabling OBJCOPY for NativeClient.

* thread_pthread.c (rb_reserved_fd_p): USE_SLEEPY_TIMER_THREAD is
  always defined.  Fixes compilation error for NativeClient.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 05:46:29 +00:00
charliesome c56eee05c6 * configure.in: use 4 argument form of AC_CHECK_HEADERS to force
autoconf to use compiler's result

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-30 03:11:17 +00:00
nobu 2eb92b143a configure.in: AC_CHECK_HEADERS
* configure.in (crt_externs.h): use standard macro AC_CHECK_HEADERS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-29 01:10:41 +00:00
charliesome af35f2a61d * configure.in: check for the whether crt_externs.h is present when compiling
for darwin (this header is missing in the iOS SDK)
* eval_intern.h: check HAVE_CRT_EXTERNS_H before including crt_externs.h, if
  not defined, include missing/crt_externs.h instead
* hash.c: ditto
* missing/setproctitle.c: ditto
* missing/crt_externs.h: declare _NSGetEnviron() function and define environ
  for iOS

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-28 14:23:25 +00:00
kosaki 495f72ed38 * configure.in: enable -fPIE when checking -pie for fixing
OpenBSD build error. Patch by George Koehler. Thank you!
  [Bug #7606] [ruby-core:51082]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-26 03:00:13 +00:00
nobu 2ed40d3b57 * configure.in (NULLCMD): check in loop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:39:49 +00:00
nobu 67c599a5d2 * configure.in (GNUmakefile): remove -jN option from submake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:39:47 +00:00
drbrain 40f89c17e6 * configure.in (HAVE_GCC_ATOMIC_BUILTINS): Set -march=i486 to enable
__sync_val_compare_and_swap.  Patch by KOSAKI Motohiro.
  [ruby-trunk - Bug #7485]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 21:18:00 +00:00
naruse 486795d951 * configure.in: add -fno-omit-frame-pointer if libexecinfo is used.
At least on FreeBSD ruby will crash on getting C backtrace
  when it is compiled with other than -O0.

* vm_dump.c: enable backtrace on FreeBSD even if with optimizations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 07:36:32 +00:00
nobu 2b8485bc89 configure.in, mkmf.rb: sign extensions
* configure.in (codesign): check identifier at link time, not
  configure time.

* lib/mkmf.rb (LINK_SO): sign extensions too.  replace empty line with
  default command.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 04:18:13 +00:00
naruse 013521e557 * configure.in: fix r37294: run only on i[3-6]86-linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 06:45:25 +00:00
ngoto 58b8573081 * configure.in: revert r37911, r37906 and r37904 which break build
with non-gcc and/or non-IA32 compilers, e.g. Solaris Studio,
  Fujitsu C Compiler. [ruby-dev:46646] [Bug #7451]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 06:29:05 +00:00
naruse 13dc0e14fe Refix of r37904
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 23:30:33 +00:00
naruse c8d3536852 fix r37904: it forced i486 though -marh was usually i686
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 18:12:53 +00:00
naruse bb2e9e9e98 * configure.in (opt-dir): don't use non portable flag -E of sed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 18:04:55 +00:00
naruse c41e749c4d * configure.in (ARCH_FLAG): __sync_val_compare_and_swap_4 needs
-march=i486 on at least linux gcc 4.1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-27 18:02:31 +00:00
kosaki 5611df706e * process.c (proc_getsid): adds new method for getting session id.
Contributed from fumiyas (Fumiyasu SATOH). Thank you!
  [Feature #6757] [ruby-dev:45977]
* configure.in: adds getsid check.
* test/ruby/test_process.rb (TestProcess#test_setsid): new test
  for the above.
* NEWS: news for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-24 02:51:24 +00:00
nobu f6761088a4 configure.in: --disable-dln
* configure.in (--disable-dln): option to disable dynamic linking
  feature.  [ruby-core:37676] [Feature #4946]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-23 15:00:12 +00:00
naruse f495c968c9 * configure.in (RUBY_DTRACE_AVAILABLE): only check dtrace availability.
* configure.in (RUBY_DTRACE_POSTPROCESS): restore.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 12:49:36 +00:00
naruse b1fa559039 Add extra line to prevent syntax error
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 08:47:43 +00:00
naruse da56cb6bf2 * configure.in: fix dtrace didn't work on darwin.
* configure.in (RUBY_DTRACE_AVAILABLE): unify RUBY_DTRACE_POSTPROCESS
  and RUBY_DTRACE_BSD_BROKEN.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 08:35:57 +00:00
naruse bd0931f7b9 * configure.in (--enable-dtrace): always call RUBY_DTRACE_BSD_BROKEN
for portability.
  As the note, FreeBSD 8 has DTrace as the optional
  feature (it is enabled by the build option), but doesn't have USDT.
  FreeBSD 9 has USDT but they are still optional. FreeBSD 10 will
  enable them by default.
  The variable $rb_cv_prog_dtrace_g is "yes" only on FreeBSD 9 with
  optional DTrace or FreeBSD 10. If it is "no", you cannnot know
  whether it doesn't need -G or DTrace is disabled. (by cheking
  error code, you can know)

* configure.in (--enable-dtrace): change help message

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 02:21:17 +00:00
naruse 49c0c51056 Revert "* configure.in (--enable-dtrace): change help message"
This reverts commit 029b59ba53.
When $rb_cv_prog_dtrace_g is yes on FreeBSD even if /usr/bin/dtrace
exists, it means dtrace is disabled on the system.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 01:18:18 +00:00
ngoto 029b59ba53 * configure.in (--enable-dtrace): change help message
* configure.in (--enable-dtrace): remove ineffective "else AS_CASE ..."
  because the variable $rb_cv_prog_dtrace_g is normally "yes" on
  FreeBSD and the AS_CASE is not evaluated on FreeBSD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 14:12:48 +00:00
nobu 2370556d3d configure.in: no -lelf
* configure.in (LIBS): libelf is need on only FreeBSD.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 07:17:56 +00:00
naruse 24512ba1b4 * configure.in: fix didn't enable_dtrace=yes on auto.
* configure.in: see enable_dtrace for adding libelf on FreeBSD.

* common.mk: VPATH is not needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 06:11:36 +00:00
naruse f567a1a4d9 * Makefile.in (.SUFFIX): bsdmake needs .SUFFIX is defined before use.
* common.mk: fix path of probes.dmyh.

* configure.in: FreeBSD's USDT requires libelf.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 01:04:53 +00:00
ngoto 1f225be2e5 * configure.in, Makefile.in, common.mk: support DTrace on Solaris 10,
based on r26235 by Yugui. On Solaris 10, low optimization level
  may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
  SolarisStudio 12.3 cc.

* configure.in (--enable-dtrace): new option to enable/disable
  DTrace support. By default, trying to enable if dtrace command
  is found on the system. It is disabled when cross compiling.

* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
  the dtrace on the system needs postprocessing with "dtrace -G".
  The postprocessing is needed on Solaris 10 and other platforms.

* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
  the dtrace supports USDT.

* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.

* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.

* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
  DTrace probe object generated by postprocessing with "dtrace -G".

* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
  generated by the postprocessing. New file probes.stamp is for
  rebuilding related objects that may be modified by "dtrace -G".

* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
  macro for DTrace static library hacks.

* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.

* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
  rule for DTrace static library hacks.

* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 08:24:24 +00:00
nobu eb40d20e30 probes.h: select by suffix rules
* Makefile.in, common.mk, configure.in, win32/Makefile.sub (probes.h):
  select generating with dtrace or copying dummy file by suffix rules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 15:22:37 +00:00
nobu df4e0dd52d Makefile.in: split probes.h commands
* Makefile.in (probes.h): split build commands for dtrace-available
  and unavailable platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 08:57:17 +00:00
nobu 1c7f72dac2 configure.in: move after AC_PROG_CC
* configure.in (DTRACE): move after AC_PROG_CC since cross_compiling
  is set in it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 08:30:56 +00:00
nobu 288da355e3 configure.in: cross-compiling fix
* configure.in (DTRACE): ignore non-prefixed version if
  cross-compiling.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 07:24:45 +00:00
naruse f82d652f35 Fix dtrace commit r37631, it is [Feature #2565]
* configure.in: disable dtrace because it doesn't work on FreeBSD.

* common.mk (clean-local): rm probes.h.

* common.mk (parse.o): depend $(PROBES_H_INCLUDES).

* common.mk (.d.h): moved from Makefile.in and use BASERUBY.

* tool/gen_dummy_probes.rb: reimplemented with ruby because sed is not
  available on Windows Microsoft VC++ environment.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:13:39 +00:00
glass c5b19cf01c * re.c (rb_memsearch_ss): performance improvement by using memmem(3) if
possible. [ruby-dev:45530] [Feature #6311]

* configure.in: check existence of memmem(3) and that it is not broken.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 02:12:40 +00:00
tenderlove 4c740bae97 * probes.d: add DTrace probe declarations. [ruby-core:27448]
* array.c (empty_ary_alloc, ary_new): added array create DTrace probe.

* compile.c (rb_insns_name): allowing DTrace probes to access
  instruction sequence name.

* Makefile.in: translate probes.d file to appropriate header file.

* common.mk: declare dependencies on the DTrace header.

* configure.in: add a test for existence of DTrace.

* eval.c (setup_exception): add a probe for when an exception is
  raised.

* gc.c: Add DTrace probes for mark begin and end, and sweep begin and
  end.

* hash.c (empty_hash_alloc): Add a probe for hash allocation.

* insns.def: Add probes for function entry and return.

* internal.h: function declaration for compile.c change.

* load.c (rb_f_load): add probes for `load` entry and exit, require
  entry and exit, and wrapping search_required for load path search.

* object.c (rb_obj_alloc): added a probe for general object creation.

* parse.y (yycompile0): added a probe around parse and compile phase.

* string.c (empty_str_alloc, str_new): DTrace probes for string
  allocation.

* test/dtrace/*: tests for DTrace probes.

* vm.c (vm_invoke_proc): add probes for function return on exception
  raise, hash create, and instruction sequence execution.

* vm_core.h: add probe declarations for function entry and exit.

* vm_dump.c: add probes header file.

* vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on
  function entry and return.

* vm_exec.c: expose instruction number to instruction name function.

* vm_insnshelper.c: add function entry and exit probes for cfunc
  methods.

* vm_insnhelper.h: vm usage information is always collected, so
  uncomment the functions.

12 19:14:50 2012  Akinori MUSHA  <knu@iDaemons.org>

* configure.in (isinf, isnan): isinf() and isnan() are macros on
  DragonFly which cannot be found by AC_REPLACE_FUNCS().  This
  workaround enforces the fact that they exist on DragonFly.

12 15:59:38 2012  Shugo Maeda  <shugo@ruby-lang.org>

* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo),
  vm_insnhelper.c (vm_search_method): revert r37616 because it's too
  slow.  [ruby-dev:46477]

* test/ruby/test_refinement.rb (test_inline_method_cache): skip
  the test until the bug is fixed efficiently.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 21:52:12 +00:00
knu e34f508775 Fix build on DragonFly where configure fails to detect isinf()/isnan().
* configure.in (isinf, isnan): isinf() and isnan() are macros on
  DragonFly which cannot be found by AC_REPLACE_FUNCS().  This
  workaround enforces the fact that they exist on DragonFly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 10:26:28 +00:00
knu 0a741075a3 * configure.in (--with-opt-dir): Avoid nesting of double quotes
inside backquotes, since some traditional shells like PD KSH
  (which OpenBSD's /bin/sh bases on) fails to parse them.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-08 03:09:18 +00:00
nobu 0249395582 configure.in: no visibility option for older GCC
* configure.in (visibility_option): visibility attribute is not
  available before GCC 4, so do not use -fvisibility option in that
  case.  [ruby-core:48147] [Bug #7205]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23 05:06:50 +00:00
nobu 7254573c55 configure.in: multiple opt-dir
* configure.in (opt-dir): allow multiple directories separated by
  $PATH_SEPARATOR as well as dir_config in mkmf.rb. [ruby-core:47868]
  [Bug #7120]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-17 06:33:14 +00:00
nari 8d53a08ed8 * gc.c: Use the non-recursive marking instead of recursion. The
recursion marking of CRuby needs checking stack overflow and the
  fail-safe system, but these systems not good at partial points,
  for example, marking deep tree structures. [ruby-dev:46184]
  [Feature #7095]

* configure.in (GC_MARK_STACKFRAME_WORD): removed. It's used by
  checking stack overflow of marking.

* win32/Makefile.sub (GC_MARK_STACKFRAME_WORD): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-03 12:30:21 +00:00
knu 1d695c36b9 * configure.in (--with-opt-dir): Make this also work on DLDFLAGS
so LIBRUBY_SO links fine with libexecinfo installed in a
  non-system directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-30 17:36:09 +00:00
nobu c278c84692 configure.in: warnflags
* configure.in (warnflags): needs to check configuration with strict
  options.  [ruby-dev:46105]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-16 08:41:37 +00:00
nobu 4a906510a2 configure.in: strict warnflags
* configure.in (strict_warnflags): separate strict flags from
  warnflags only for core.  [ruby-dev:46105]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-15 23:58:04 +00:00
nobu 057b1986a4 configure.in: aix warnflags
* configure.in: append -qinfo option not overriding.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-15 23:52:34 +00:00
eregon 429c856e9c * configure.in: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-14 17:29:40 +00:00
nobu d11ef850b2 configure.in: no PIE on Haiku
* configure.in: Don't use PIE on Haiku because loader support is not
  enough.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-13 01:22:13 +00:00