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

1078 Коммитов

Автор SHA1 Сообщение Дата
akr cbacc5d501 * configure.in: enable rb_cv_page_size_log test for MirOS BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 14:26:01 +00:00
akr c586d820c8 * configure.in: use -pthread on mirbsd*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 11:07:32 +00:00
akr a378fa0d10 * configure.in: add SOLIBS and LIBRUBY_SO definition for mirbsd*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 07:08:41 +00:00
nobu 0d46721033 configure.in: sitearch
* configure.in (rubysitearchprefix): sitearchdir and vendorarchdir
  should use sitearch, not arch.  [ruby-dev:46964] [Bug #7823]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 04:17:22 +00:00
akr f882c4c5e0 * configure.in: move OS specific header/function knowledge before
automatic header tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 03:33:11 +00:00
akr 0a8fc937ca * configure.in: move the test for -march=i486 just after
RUBY_UNIVERSAL_ARCH/RUBY_DEFAULT_ARCH.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 02:06:47 +00:00
nobu 817dff033f configure.in: escape
* configure.in (configure_args): escape $ for Makefile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 14:50:03 +00:00
akr c38f3cd906 * configure.in: move header files check to the beginning of
"header and library section".
  test rlim_t with sys/types.h and sys/time.h for MirOS BSD.
  sys/types.h and sys/time.h is gurded by #ifdef and the above move
  is required for this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 13:13:01 +00:00
nobu c4544321cb configure.in: empty version
* configure.in, version.c: prevent duplicated load paths by empty
  version string, it does not work right now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 08:46:02 +00:00
nobu 8a91512692 configure.in: fix help message
* configure.in: fix arch parameters in help message.  [Bug #7804]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 08:38:46 +00:00
akr 01e7ec0137 fix the previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-08 14:30:10 +00:00
akr 513bfb29ea * configure.in: change CFLAGS temporally to test
ARCH_FLAG="-march=i486".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-08 14:26:13 +00:00
akr 89ae338e97 * configure.in: don't define ARCH_FLAG="-march=i486" if it causes
compilation problem.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-08 12:20:27 +00:00
akr 8f5f89452d * configure.in: define linker for shared library on MirOS BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 13:02:31 +00:00
nobu 834fd50ae2 configure.in: multiarch option
* configure.in (multiarch): add option to move architecture dependent
  directories.  [Feature #6111]
* template/ruby.pc.in: add arch dependent paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:33:03 +00:00
nobu 67db06ba97 configure.in: arch dependent header directory options
* configure.in (rubyarchhdrdir, sitearchhdrdir, vendorarchhdrdir): add
  options to customize architecture dependent header directories.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:58 +00:00
nobu 29c214e4a0 configure.in: arch dependent library directory options
* configure.in (rubyarchprefix, sitearchdir, vendorarchdir): add
  options to customize architecture dependent library directories.
* template/ruby.pc.in, tool/mkconfig.rb, tool/rbinstall.rb: use
  configured values.
* tool/mkconfig.rb: expand rubyarchdir to extract prefix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:53 +00:00
nobu d32b122996 configure.in: RUBY_VERSION_NAME
* configure.in (RUBY_VERSION_NAME), template/ruby.pc.in: add
  substitution and define.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:48 +00:00
nobu 85aae4c658 configure.in: architecture name
* configure.in, version.c: parametric architecture name for paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:43 +00:00
nobu a8795e3527 configure.in: shvar_to_cpp
* configure.in (shvar_to_cpp): convert sh variable references
  by replacing with string literal forms in cpp.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:38 +00:00
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
nobu 059f14a6c5 configure.in: unquote
* configure.in (LIBDIR_BASENAME): unquote shell variable.
  [ruby-core:47267] [Bug #6903]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-01 05:03:34 +00:00
nobu 22c81db9d8 configure.in: use configured libdir value
* configure.in (LIBDIR_BASENAME): use configured libdir value to fix
  --enable-load-relative on systems where libdir is not default value,
  overridden in config.site files.  [ruby-core:47267] [Bug #6903]
* ruby.c (ruby_init_loadpath_safe): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-29 06:03:09 +00:00
naruse 4358271106 * configure.in: Fixing Haiku R1/alpha3 build with gcc-4.4.4.
- omit ANSI standard flags to compile socket extension where
    anonymous union is required.
  - remove redundant -be flags.
  by Takashi Toyoshima <toyoshim@gmail.com>
  https://github.com/ruby/ruby/pull/168

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-28 11:05:23 +00:00
yugui a66b2c6df1 * nacl/GNUmakefile.in (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY)
Rewrites these variables instead of PATH.
  NaCl port uses a toolchain which is specified by NACL_SDK_ROOT
  environment variable. Originally, NaCl build added the toolchain
  under the NACL_SDK_ROOT to the PATH. But updating PATH doesn't work
  on Mac.
  (RBCONFIG): Replaces configs with the variable updates above.

* configure.in: Thus it is no longer necessary to check $PATH.

Based on a patch by Takashi Toyoshima <toyoshim AT gmail.com>.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-27 01:22:53 +00:00
luislavena 86df08dac6 Improve require/File.expand_path performance on Windows
* configure.in (mingw): add shlwapi to the list of dependency
  libs for Windows.
* win32/Makefile.sub (EXTSOLIBS): ditto.

* internal.h: declare internal functions rb_w32_init_file,
  rb_file_expand_path_internal and rb_file_expand_path_fast.

* file.c (Init_File): invoke Windows initialization rb_w32_init_file

* win32/file.c (rb_file_load_path_internal): new function.
  Windows-specific implementation that replaces file_expand_path.
  [Bug #6836][ruby-core:46996]

* win32/file.c (rb_w32_init_file): new function. Initialize codepage
  cache for faster conversion encodings lookup.

* file.c (file_expand_path): rename to rb_file_expand_path_internal.
  Conditionally exclude from Windows.

* file.c (rb_file_expand_path_fast): new function. delegates to
  rb_file_expand_path_internal without performing a hit to the
  filesystem.

* file.c (file_expand_path_1): use rb_file_expand_path_internal without
  path expansion (used by require).
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.

* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
* load.c (rb_feature_provided): ditto.

* file.c (rb_file_expand_path): use rb_file_expand_path_internal with
  path expansion.
* file.c (rb_file_absolute_path): ditto.

* test/ruby/test_file_exhaustive.rb: new tests to exercise
  rb_file_expand_path_internal implementation and compliance with
  existing behaviors.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-24 03:44:56 +00:00
naruse f896ad3b49 * configure.in: Fixing Haiku build.
- -lbe is not required for linking
  - stack protector doesn't work for now because of the default gcc's bug
  by Takashi Toyoshima <toyoshim@gmail.com>
  https://github.com/ruby/ruby/pull/167

* signal.c (ruby_signal): haiku doesn't have SIGBUS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 02:59:24 +00:00
naruse ea16237c61 * configure.in: use the value of --with-opt-dir on building ruby
itself. [ruby-dev:46064] [Bug #6900]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-23 01:50:12 +00:00
yugui 0d05a79bca * configure.in (ac_cv_func_shutdown): shutdown(2) has a dummy
implementation but has no declaration and does not work in
  NativeClient SDK pepper_20.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 01:12:52 +00:00
nobu 2ed9b46b4f configure.in: noral blocks
* configure.in: use noral blocks instead of dnl, so that matching
  parentheses would match.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 16:18:10 +00:00
nobu 5eb9453fc3 configure.in: escape #-marks
* configure.in: escape #-marks, so that matching parentheses would
  match.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 16:18:05 +00:00
nobu 404cc1ae3f configure.in: no bare case statement
* configure.in (RUBY_CHECK_SIZEOF): use single test instead of split
  bare case statement, so that matching parentheses would match.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 16:18:02 +00:00
nobu 50f3d3feb5 configure.in: use real path
* configure.in (MINIRUBY): use real path for include path.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 14:46:48 +00:00
naruse e57da6109c * configure.in: use gcc-4.2 prior to clang, gcc, and cc if exist for
the use of Snow Leopard's old clang. see also r36594, r36610, r36611.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-05 04:26:24 +00:00
nobu bea3f0df10 configure.in: use default compilers for non-darwin
* configure.in: use clang prior to gcc only when self-compiling on
  darwin.  search default compilers on other platforms.  [Bug #6816]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 10:21:22 +00:00
naruse a713b37640 * configure.in: move RUBY_MINGW32 after AC_PROG_CC.
RUBY_MINGW32 uses AC_TRY_CPP and it sets CC and CPP. [Bug #6816]

* configure.in: don't use AC_PROG_CC in AS_CASE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 08:27:04 +00:00
naruse e07bdafbf4 Revert "* configure.in: move RUBY_MINGW32 after AC_PROG_CC."
This reverts commit r36603.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 07:25:55 +00:00
naruse 77ef86feaa * configure.in: move RUBY_MINGW32 after AC_PROG_CC.
RUBY_MINGW32 uses AC_TRY_CPP and it sets CC and CPP. [Bug #6816]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-03 06:21:16 +00:00
naruse 14bf66f252 * configure.in (AC_PROG_CC): AC_PROG_CC tries clang at first on
darwin. [Bug #6816]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-02 04:24:13 +00:00
nobu 48d7aa4ae9 configure.in: deprecate -flat_namespace
* configure.in (DLDFLAGS): on Darwin, deprecate -flat_namespace to get
  rid of huge imported symbols table.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 04:11:56 +00:00
nobu a18558140a configure.in: runnable if disable-shared
* configure.in (LIBRUBY_RELATIVE): libruby_so is not made when
  disable-shared, so no absolute path is used for it and executable
  file is runnable anywhere.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 04:11:21 +00:00
nobu a8aa1e2127 configure.in: get rid of duplication in CPPFLAGS
* configure.in (RUBY_CPPOUTFILE): get rid of variable conflict so
  CPPFLAGS is not duplicated.  [ruby-core:43097] [Bug #6119]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-27 08:58:15 +00:00
nobu dafab791d5 configure.in: LIBPATH on AIX
* configure.in (LIBPATHENV): LIBPATH is used on AIX, but not
  SHLIB_PATH which was carelessly copied from HP/UX.  suggested by
  Perry Smith at [ruby-core:46397].  [Bug #6728]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-23 05:43:37 +00:00
nobu 6684ade9a3 configure.in: EXTDLDFLAGS
* configure.in (EXTDLDFLAGS): split options for each extension
  libraries, and unused in ruby.pc.  [Bug #6734]
* lib/mkmf.rb (MakeMakefile#configuration): add EXTDLDFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-18 05:53:23 +00:00
usa 8a02eed723 * configure.in: removed --enable/disable-win95 options. (see r36432)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-10 01:45:22 +00:00
nobu 37c8b68555 mkmf.rb: add TARGET_NAME
* configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point
  instead of TARGET which may contain non-identifer characters.
* lib/mkmf.rb (create_makefile): add TARGET_NAME which is the first
  part consists of only word characters.  [ruby-core:46248][Bug #6709]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-09 04:28:40 +00:00
nobu 3fceaf10ab make runnable
* common.mk (runnable): make symbolic links to run in build directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03 02:16:08 +00:00
kosaki 1ebe152ede * configure.in (for stack end address): remove human68k specific
check. It is no longer supported.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-24 15:42:21 +00:00
nobu d1351e98fd fix CPPOUTFILE
* configure.in (RUBY_CPPOUTFILE): check if output is really sent to
  specified file to tell if -o option works.  [ruby-dev:45742]
  [Bug#6591]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-14 14:00:02 +00:00
nobu b1644bfca9 fix CPPOUTFILE
* configure.in (RUBY_CPPOUTFILE): check if output file is actually
  created.  [ruby-dev:45742] [Bug#6591]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-14 13:49:51 +00:00
naruse e9e603145f * configure.in: revert r36071 and add NetBSD to blacklist of -ansi.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-14 01:16:33 +00:00
naruse 114ae69b45 * configure.in: use -fbuiltin with -ansi -std=iso9899:199409.
This prevents errors introduced by disabling bulitin functions,
  which is the sub-effect of -ansi/-std.
  Now NetBSD can use -ansi -std=iso9899:199409.
  Maybe mingw, cygwin and darwin can also.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 19:57:31 +00:00
nobu a9ff01cdae configure.in: option for darwin
* configure.in: remove -ansi and -std options for lgamma_r() and
  finite().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 13:18:05 +00:00
nobu e985a6841c configure.in: option for cygwin
* configure.in: cygwin does not provide some declarations in strict
  ANSI mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 12:46:36 +00:00
nobu 23838b93e8 configure.in: option for cygwin
* configure.in: cygwin needs C99 for some stuff, e.g.,
  pthread_attr_setstacksize, sched_yield.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 08:51:04 +00:00
shyouhei 43bc8f9beb * configure.in: On Windows platforms, system provided headers are
VC++ optimized.  That is, C++ habits are often contaminated into
	  various  headers.  Most  frequent  situation is  the  use of  //
	  comments.  We bypass ANSI  C mode for them.  Otherwise extension
	  libs cannot include those headers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 06:16:46 +00:00
nobu 6379978d45 configure.in: check iff nacl
* configure.in (RUBY_NACL_CHECK_PEPPER_TYPES): check only on nacl.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 04:09:37 +00:00
shyouhei 0dcc1f0dfe fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-12 12:09:16 +00:00
shyouhei 0284e64922 * configure.in: enable strict ANSI mode by default in case of GCC,
requested by _ko1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-12 09:41:07 +00:00
naruse f658207fe3 * configure.in: on checking libexecinfo, don't specify /use/local.
On FreeBSD people must specify --with-opt-dir or --with-execinfo-dir.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-11 11:27:08 +00:00
yugui c3f3d77225 Fixes threading on NativeClient.
* thread_pthread.c (timer_thread_sleep): Extracted out a function from
  thread_timer(). Added an alternative implementation for platforms
  that lacks select(2) or pipe(2).
  (rb_thread_create_timer_thread, native_cond_initialize,
  native_cond_destroy): Replaced wrong HAVE_XXX checks.

* configure.in (pthread_attr_init): New check.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 12:51:37 +00:00
yugui c541ff3223 * configure.in (RUBY_NACL): Warns if $PATH does not contain the path
to NativeClient SDK. PATH variable redefinition in GNUmakefile does
  not work for GNU make 3.81.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 09:39:17 +00:00
naruse 5c45a1373a * configure.in: NetBSD 6 adds libexecinfo but it only works on amd64.
http://www.mail-archive.com/source-changes-full@netbsd.org/msg38729.html

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 05:28:51 +00:00
nobu 1102fd2f3e * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 22:44:01 +00:00
nobu e990086711 static-linked-ext: no ext/libext.a
* configure.in: no ext/libext.a, an archive library cannot be made
  from other archive libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 06:02:43 +00:00
nobu 0a6700fec2 use LIBEXT
* Makefile.in (LIBEXT): add macro.
* configure.in (ENCOBJS, EXTOBJS): use LIBEXT, not hardcoded suffix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 02:35:37 +00:00
nobu 7788d102c9 fix NaCl support
* configure.in: fix function name to be checked, to initialize
  rb_thread_cond_t properly.
* thread_pthread.c (native_cond_initialize, native_cond_destroy):
  fix macro name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-17 14:04:02 +00:00
yugui 76bc2d1ed7 Imports Ruby's port to NativeClient (a.k.a NaCl).
Patch by Google Inc. [ruby-core:45073].

* configure.in (RUBY_NACL): New M4 func to configure variables for
  NaCl.
  (RUBY_NACL_CHECK_PEPPER_TYPES): New M4 func to check the old names
  of Pepper interface types.
  (BTESTRUBY): New variable to specify which ruby should be run on
  "make btest". NaCl can run the built binary by sel_ldr, but it need
  rbconfig.rb. So this variable is distinguished from $MINIRUBY.
  
* thread_pthread.c: Disabled some features on NaCl.

* io.c: ditto.

* process.c: ditto.

* signal.c: ditto.

* file.c: ditto.

* missing/flock.c: ditto.

* nacl/pepper_main.c: An example implementation of Pepper application
  that embeds Ruby.

* nacl/example.html: An example of web page that uses the Pepper
  application.

* nacl/nacl-config.rb: Detects variants of NaCl SDK.

* nacl/GNUmakefile.in: Makefile template for NaCl specific build
  process.

* nacl/package.rb: script for packaging a NaCl-Ruby embedding
  application. 

* nacl/reate_nmf.rb: Wrapper script of create_nmf.py

* dln.c (dln_load): Added a hack to call on NaCl.

* util.c (ruby_getcwd): Path to the current directort is not available
  on NaCl.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-17 02:48:59 +00:00
nobu b85e3e70ee * configure.in (PIE): fix operator.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-16 09:05:59 +00:00
yugui a2976afa0e configure.in: Fix an unbalanced quote.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-16 06:47:49 +00:00
nobu 4407beaef9 configure.in: use single quotes
* configure.in (LD): enclose with single qoutes but not double quotes
  not to expand command substitution.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-16 06:15:56 +00:00
yugui 3fa3f9abb9 Supports static linking of extensions and encodings again.
Fixes --with-static-linked-ext.

Patch by Google Inc. [ruby-core:45073].

* Makefile.in (ENCOBJS, EXTOBJS): New variables to specify static
  linked libraries. Also reintroduces extinit.o, introduces encinit.o
  introduces encinit.o

* common.mk: Builds static libraries rather than shared objects if
  specified.

* configure.in (LD): new substitution. 
  Avoids PIE if s

* enc/depend: Supports static linked libraries
  (libencs, libenc, libtrans): New target.

* enc/encinit.c.erb: new template to generate the initialization of
  statically linked encodings.

* enc/make_encmake.rb (--module): new flag to specify whether static
  or dynamic.

* transcode_data.h (TRANS_INIT): New macro to get rid of the name
  collision of encoding initializers and transcoder initializers.

* ext/extmk.rb: Fixes the behavior on $extstatic is true.

* lib/mkmf.rb (clean-static): new target to clean up static linked
  libraries.

* ruby.c (process_options): New initializes statically linked
  encodings here.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-16 05:39:06 +00:00
nobu f8599f92e7 configure.in: fix for BSD make
* configure.in (POSTLINK): default to : command to get rid of flag
  only command, since BSD make does not work with it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-08 04:36:04 +00:00
nobu 0be8f81921 codesign
* Makefile.in (PROGRAM), configure.in (POSTLINK): sign built program
  using RUBY_CODESIGN identity.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-07 04:41:02 +00:00
nobu 0f1181a539 Bug #6370
* configure.in (optflags): fixed typo. [ruby-core:44679][Bug #6370]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 20:14:26 +00:00
nobu 7d45d3f84d * configure.in (optflags): disable unsafe optimizations.
[ruby-core:44679][Bug #6370]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 20:02:34 +00:00
nobu 860cf7b812 * configure.in (optflags): disable unsafe optimizations.
[ruby-core:44679][Bug #6370]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 12:09:09 +00:00
nobu e2b54072b5 * configure.in: disable rubygems not to load rbconfig.rb before
fake.rb.  [ruby-core:44492][Bug #6329]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-23 01:43:35 +00:00
nobu 7cfc4be298 * configure.in (DOT, DOXYGEN): use AC_CHECK_PROGS instead of
AC_CHECK_PROG which needs the third argument.  [ruby-core:44433]
  [Bug #6316]
* configure.in (PKG_CONFIG): fix condition to skip older version
  of pkg-config.  continue in backticks does not affect outside.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-18 13:59:00 +00:00
nobu 561e61a430 * configure.in (RUBY_SO_NAME): expand version numbers in Makefile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-17 04:55:12 +00:00
nobu f2979f3101 * win32/win32.c (gmtime_r, localtime_r): POSIX compliant reentrant
versions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-16 07:22:43 +00:00
nobu 72fffe5cee * configure.in (RUBY_MSVCRT_VERSION): define on mingw too.
* win32/Makefile.sub (config.h): prefix RT_VER with RUBY and make
  more descriptive to get rid of potential conflict.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-16 07:08:27 +00:00
nobu 8b25f42046 * configure.in (NO_RUBY_VENDOR_LIB): fix missing comma.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-16 06:19:46 +00:00
nobu d2e2b309e8 * configure.in (UNREACHABLE): gcc 4.4 eliminates unreachable code
if -O3 is given.
* win32/win32.c (child_result): dropped colon.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-14 03:55:06 +00:00
nobu 9bf9b3ef95 * process.c (obj2uid, obj2gid): allow strings as input user/group id.
[ruby-core:40923][Feature #5610]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28 07:40:02 +00:00
nobu 61dc4a8dbc * configure.in (verconf.h): separate load path specific stuff from
config.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-27 13:44:25 +00:00
nobu 6d8580fe25 * configure.in (Makefile): get rid of confliction with -j.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-23 00:56:46 +00:00
naruse 4725c9880d Revert "* configure.in (Makefile): get rid of confliction with -j."
This reverts commit r35104 because it breaks build on FreeBSD.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 22:52:05 +00:00
nobu 9accaad5c4 * configure.in (Makefile): add missing test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 06:04:09 +00:00
nobu cd71db0ad6 * configure.in (Makefile): check with svn info, since svn 1.7 doesn't
have .svn under descendent directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 05:59:48 +00:00
nobu 11c57111f9 * configure.in (Makefile): get rid of confliction with -j.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 05:59:45 +00:00
nobu 5c9d7c54ab * configure.in (ruby_pc): make configurable. [Bug #6051]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 21:57:16 +00:00
nobu 23008fcc2e define PLATFORM_DIR if needed
* Makefile.in, configure.in (PLATFORM_DIR): define if needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-29 04:07:06 +00:00
shirosaki 4b1e9f0c47 * Makefile.in (PLATFORM_DIR): add a variable for `win32` directory.
* 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
2012-02-28 15:51:25 +00:00
nobu 1c85a648fe * configure.in (debugflags): check if -ggdb is accepted.
[ruby-core:42875][Bug #6080]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 02:44:52 +00:00
nobu d573446841 * configure.in (__builtin_unreachable): check for clang.
[ruby-core:42849]
* include/ruby/ruby.h (UNREACHABLE): fallback definition.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 06:49:09 +00:00
naruse a23f06358e * configure.in: allow llvm-gcc because it work fine with r34278.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 03:22:08 +00:00
nobu 032d0a4cf7 * configure.in: check if -fstack-protector is really available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-20 06:50:36 +00:00
nari a42cc41ba1 * configure.in (HEAP_ALIGN_LOG): HEAP_ALIGN_LOG should be page
size in OpenBSD. [ruby-core:42158][Bug #5901]

* gc.c : avoid to redefine.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 12:36:50 +00:00
nobu e58d77bdda * configure.in (SPT_TYPE): enable as SPT_REUSEARGV on Darwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-17 08:18:46 +00:00
nobu eec5d2014f * confiugre.in (setproctitle): removed dupcated checks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-17 08:10:00 +00:00