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

331 Коммитов

Автор SHA1 Сообщение Дата
kosaki 4d7e8b7305 * Makefile.in: run preprocessor when making probe.h
* probes.d: define probe insn and insn__operand only when
  VM_COLLECT_USAGE_DETAILS is 1. [Bug #7370]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 08:01:49 +00:00
naruse 1196b798d6 * Makefile.in (.d.h): replace char * to const char * because somehow
current dtrace removes const of function declaration in probes.d.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 13:48:04 +00:00
naruse a7e13d65f4 Remove probes.o before update
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 00:51:00 +00:00
nobu a824a6187d common.mk: no purelib
* common.mk (RUBYLIB): purelib option in runruby.rb is deprecated
  since r28841, so set to an empty list to get rid of a bogus path in
  child processes, which caused an insecure operation exception in
  test/ruby/test_encoding.rb:test_unsafe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 07:08:13 +00:00
usa 3918bbfac4 * Makefile.in, common.mk (probes.h): moved to common.mk and changed to
see $(srcdir).

* common.mk (probes.dmyh): now created it on $(srcdir) always.

* win32/Makefile.sub (.SUFFIXES): removed common suffix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-19 05:56:38 +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 1d9d1a8f56 Makefile.in: fix typo
* Makefile.in (yes-dtrace-probes.h): fix typo.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 12:32:48 +00:00
naruse 6e0375e3e2 * Makefile.in (no-dtrace-probes.h): dmyprobes.h is in srcdir.
* common.mk (dmyprobes.h): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 10:03:07 +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 e516438581 Makefile.in: move probes.h to all-incs
* Makefile.in (incs): probes.h is a platform dependent file, so it
  cannot be a part of prereq target.  move it to all-incs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 08:56:49 +00:00
nobu 620a2b6c65 Makefile.in: probes.h
* Makefile.in, win32/Makefile.sub (probes.h): fix copying dmyprobes.h
  path when outplace-build.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-16 06:42:38 +00:00
mrkn 3dd13a1c07 * Makefile.in (probes.h): create from probes.d
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 15:56:23 +00:00
naruse db31b3dad5 * common.mk (dmyprobes.h): always create for make dist.
* Makefile.in (probes.h): create or copy dmyprobes.h

* win32/Makefile.sub: only do copy dmyprobes.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 07:49:09 +00:00
naruse d8aaa43074 * Makefile.in (.SUFFIX): .SUFFIX is needed here for .d.h on bsd make.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:38:08 +00:00
usa aec93c2283 * common.mk Makefile.in win32/Makefile.sub (.d.h): it's not common.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:35:30 +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
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
nobu 7cc6bfa329 common.mk: gdb-ruby
* Makefile.in (RUNRUBY_COMMAND): split from RUNRUBY.

* common.mk (gdb-ruby): use runruby.rb to set up library path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-05 07:28:32 +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 9e1b74ff5b incs: timestamp file
* Makefile.in, common.mk (incs): replace real header with the
  timestamp file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-17 06:36:53 +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
naruse 06d483006c * Makefile.in: don't remove macros. now name2ctype uses macros.
* tool/enc-unicode.rb: add comment why it uses Hash#index.

* enc/unicode/{name2ctype.kwd,name2ctype.src,name2ctype.h.blt}:
  update to follow the current name2ctype.h.
  FYI current Unicode version is 6.1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 17:54:14 +00:00
nobu 0c7dab5df9 Makefile.in: warnflags
* Makefile.in (.c.i): add warnflags to make the result consistent with
  compilation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 08:50:42 +00:00
nobu a906a9d9be Bug #6462: EXTSOLIBS
* Makefile.in (LIBRUBY_SO): link EXTSOLIBS too.
* ext/extmk.rb (mf.macro): use EXTSOLIBS instead of SOLIBS to get rid
  of discard libraries needed by default.  [Bug #6462]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-20 03:25:14 +00:00
nobu 0e60b2c6a3 static-linked-ext: into libruby
* Makefile.in, common.mk (PROGRAM): no extension libraries.
* common.mk (build-ext): pass macros for libruby.so.
* ext/extmk.rb (command_output): link extension libraries and encoding
  libraries into libruby.so, not ruby executable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 02:37:21 +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 2278902a76 fix typo
* Makefile.in (LIBRUBY_A): fix typo.  re-applying r35242.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-19 02:34:37 +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
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 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 c327407bdc distclean verconf.h
* Makefile.in, win32/Makefile.sub (distclean-local): another generated
  header.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-03 16:57:51 +00:00
nobu 0a706449d1 * Makefile.in (reconfig, config.status): not depend on
$(srcdir)/version.h to get rid of daily reconfiguration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-17 04:55:14 +00:00
kazu 7b8bdf575b * Makefile.in ($(LIBRUBY_A)): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-06 05:28:10 +00:00
nobu ddc7bcd60e * win32/Makefile.sub (newline.c, miniprelude.c): search from source
directory, not depending on VPATH.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-26 05:08:55 +00:00
kazu 2cab78a9ff remove a trailing space [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 15:30:01 +00:00
nobu 8a8936cbd0 re-configure
* Makefile.in (reconfig, config.status): re-configure for version numbers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 01:59:50 +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
nobu afa7b27e8b clean-platform
* Makefile.in, win32/Makefile.sub (clean-platform): use macro instead
  hardcoded path names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-29 04:07:03 +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
usa 3fbc62445e * common.mk,Makefile.in,win32/Makefile.sub (ECHO1): move platform
specific hack from common.mk to Makefile.in (and win32/Makefile.sub).
  [Bug #5711]

* lib/mkmf.rb: we can generate Makefile as we like.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 11:02:00 +00:00
nobu 53df70d92b * Makefile.in (CFLAGS): append ARCH_FLAG.
* configure.in (ARCH_FLAG): exclude from CFLAGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-02 22:17:34 +00:00
nobu 41f756eaf3 * Makefile.in (DLDFLAGS): also needs -fstack-protector.
[Bug#5676]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-27 09:54:12 +00:00
kosaki 0996ae361a * Makefile.in (EXTLDFLAGS): export it.
* 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
2011-11-25 01:41:59 +00:00
nobu f6a635a919 * Makefile.in (enc/unicode/name2ctype.h): remove duplicated
ifdefs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-19 19:01:49 +00:00
nobu 1f86c08fdf * Makefile.in (LIBRUBY_A): check if generated linked library is
valid for extconf.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-16 09:13:56 +00:00
nagachika 1cd56023d3 * Makefile.in (INSNS): change command line option -Ks to -Ku for
generate *.inc. because insns.def encoding has been changed SJIS to
  UTF-8. if $BASERUBY is 1.9, -Ks cause an error. [Feature #5128]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-05 10:36:24 +00:00
yugui 05ec839244 Forward-ports r32776 from branches/ruby_1_9_3 to trunk.
--
* common.mk (node_name.inc): Use $(Q) for consistency.

* Makefile.in (INSNS): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-31 14:17:37 +00:00
yugui 53d3b13233 Forwardports r32772 and r32773 from branches/ruby_1_9_3 to trunk.
* 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
2011-07-31 11:31:55 +00:00
nobu dd2dfc71e7 * common.mk (RUN_OPT): disable gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-08 23:39:42 +00:00
nobu b43b6cf71f * common.mk (sudo-precheck): true command is not standard on
Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-08 02:39:15 +00:00
nobu 020dc4ba60 * configure.in (rubygems): add --disable-rubygems option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-11 03:03:26 +00:00
kazu 584a099fca * Makefile.in: remove unnecessary semicolons.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-30 18:03:13 +00:00
kosaki 78f6130528 * Makefile.in: Check V=1 argument if run "make clean" or similar.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-30 11:18:12 +00:00
kosaki 918a712cf8 * Makefile.in: Kill ugly line continuation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-30 11:06:18 +00:00
nobu 9be87b1eb6 * Makefile.in (reconfig): force reconfigure with previous options.
* common.mk (showconfig): show configure flags, like as
  `config.status --config' generated by recent autoconf.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 22:37:48 +00:00
nobu a7de375504 * Makefile.in (lex.c): show commands if Q is not set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 09:32:44 +00:00
nobu 223c0b48a1 * common.mk (showflags, help): emit messages at once.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-13 07:38:01 +00:00
nobu fe2295ea75 * common.mk (showflags, help): use caret to quote leading spaces on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-12 11:52:45 +00:00
nobu fd7c0279f8 * Makefile.in, common.mk, cygwin/GNUmakefile.in, enc/depend,
ext/ripper/depend, lib/mkmf.rb, win32/Makefile.sub: caddle up.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-12 11:51:42 +00:00
nobu 6c5115379d * cygwin/GNUmakefile.in: shorten messages.
* Makefile.in (install-cross, ext/extinit.o): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 13:03:42 +00:00
nobu f2f7a7740a * common.mk: hide long command lines by default. verbose-mode is
turned on by V=1 as before.
  http://jarp.does.notwork.org/diary/200605b.html#200605121

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:46:23 +00:00
nobu 18bd7f8c84 * configure.in (SYMBOL_PREFIX): separate from EXPORT_PREFIX.
* win32/mkexports.rb (Exports#each_export): use SYMBOL_PREFIX.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 11:45:32 +00:00
nobu 767d70841a * Makefile.in (ASFLAGS): needs INCFLAGS.
* 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
2010-10-26 09:09:45 +00:00
nobu 749ad16aa7 * common.mk (pkgconfig-data): moved from Makefile.in.
* tool/rbinstall.rb: install pc file only if non-empty.
  [ruby-core:32901] #3983

* win32/Makefile.sub (ruby_pc): create pc file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-26 03:47:15 +00:00
nobu 4d9a6ab181 * Makefile.in (pkgconfig-data): create pkg-config metadata file.
* tool/rbinstall.rb: install pkg-config metadata file.

* template/ruby.pc.in: template of pkg-config metadata file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-25 15:29:32 +00:00
nobu 835a5edf52 * Makefile.in (CPP): already used in .c.i rule.
* cygwin/GNUmakefile.in (DLLWRAP, WINDRES): add --driver-name and
  --preprocessor options explicitly.  [ruby-core:32776]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-16 01:55:01 +00:00
naruse c51e356c68 * Makefile.in (clean-rdoc): Don't use \ in variable expantion.
BSD make treats it as an escape character.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-03 21:42:23 +00:00
nobu feacd3c2e0 * Makefile.in (install-cross): target to install cross-compiling
stuff.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-24 16:34:56 +00:00
yugui 4a028d2c7e * common.mk (clean): removes all documents on cleaning.o
(CAPIOUT): new variable.
  (clean-capi, distclean-capi, realclean-capi): new targets

* Makefile.in (clean-capi, distclean-capi, realclean-capi): ditto.

* win32/Makefile.sub (clean-capi, distclean-capi, realclean-capi): 
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-19 13:10:25 +00:00
nobu 966532cc40 * Makefile.in, win32/Makefile.sub (test-rubyspec-precheck): split
from test-rubyspec.

* common.mk (test-rubyspec): moved from Makefile.in.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-16 03:29:08 +00:00
nobu b4ba3ba641 * Makefile.in (clean-ext): fixed directories to be removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-06 09:56:22 +00:00
naruse 2b071787d2 * Makefile.in: ignore error from RMDIRS.
* enc/depend: ditto.

* lib/mkmf.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-06 08:40:27 +00:00
nobu 53b6ab6a04 * Makefile.in (MINIRUBY): get rid of appending spaces for each
reconfigure.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-27 10:03:23 +00:00
nobu 6abe539cfc * configure.in (RMDIR): use --ignore-fail-on-non-empty if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-21 21:26:56 +00:00
nobu a3de9759e0 * Makefile.in ({,dist-,real-}clean-ext): should also omit
semicolon when omitting "in WORDS" of FOR-statement.

* tool/rmdirs: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-11 08:01:59 +00:00
nobu 9d3d606907 * Makefile.in ({,dist-,real-}clean-ext): omission of "in WORDS" of
FOR-statement is not allowed in /bin/sh on Solaris.  fore-ported
  r28609 from 1.9.2.

* tool/rmdirs: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-11 06:36:21 +00:00
nobu a1a529e603 * Makefile.in (clean-enc): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-15 00:09:26 +00:00
nobu 1d408c933a * Makefile.in, common.mk (clean-ext, clean-enc): clean up cleaning
targets.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-14 17:32:03 +00:00
nobu 0757fe1242 * Makefile.in (RUBY_PROGRAM_VERSION): added
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-24 07:27:50 +00:00
nobu 2ff26f2220 * template/fake.rb.in: hooks for extconf.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-06 02:21:40 +00:00
knu 4685b6d9c8 * Makefile.in (DOXYGEN): Define a missing variable DOXYGEN. Build
has been failing when doxygen(1) is found by configure but the
  variable is not defined by the system and make(1) does not allow
  an empty command. ("@$(DOXYGEN)" was the cause)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-26 11:19:22 +00:00
nobu cce8bbb794 * Makefile.in ({dist,real}clean-ext): fix for removing ext
directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-22 08:38:10 +00:00
nobu bd5e925cc4 * Makefile.in (miniruby): link $(NORMALMAINOBJ).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-18 12:24:28 +00:00
nobu 9a5b57f61f * Makefile.in (config.status): setup MINIRUBY environment for
cross-compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-11 22:09:25 +00:00
nobu a39e9e0745 * Makefile.in (config.status): ommit cached results.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-19 07:43:35 +00:00
nobu 1b26041724 * Makefile.in (clean-ext): allow glob patterns.
* ext/extmk.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-19 05:29:18 +00:00
yugui 295bc2fe25 removes the dtrace support. reverts r26239, r26238 and r26235.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-05 05:59:23 +00:00
yugui 72b199940d * trace.h: new file. wraps tracing mechanisms.
* defs/dtrace.d: new file. defined a dtrace provider "ruby".

* include/ruby/ruby.h (LIKELY): moved from vm.c.
  (UNLIKELY): ditto.
  (OBJSETUP): probe "object-create".
  (RUBY_EVENT_RESCUE): new event.

* vm_exec.c (DEBUG_ENTER_INSN): embeded a probe insn-entry into it.
  (DEBUG_END_INSN): insn-return.

* vm.c (LIKELY): moved into ruby.h.
  (UNLIKELY): ditto.
  (Init_BareVM): embeded a probe "raise" into it.

* variable.c (rb_class2name_without_alloc): new utility function.

* tool/rbinstall.rb (install?(:ext, :arch, :'ext-arch')): installs 
  dtrace.d if necessary.

* thread_pthread.c (add_signal_thread_list): probe "raise".
  (rb_thread_create_timer_thread): ditto.

* thread.c (rb_thread_schedule_rec): probes "thread-enter" and
  "thread-leave",
  (thread_start_func_2): ditto.
  (thread_cleanup_func): probe "thread-term"

* lib/mkmf.rb: supports dtrace postprocessor on making an extension.

* iseq.c (rb_vm_insn_name): new utility function.
  (rb_vm_insn_len): ditto.

* insns.def (hook): probes "method-etnry", "method-return", "line",
  and "rescue".

* compile.c (iseq_compile_each): adds a trace op for "rescue" probe.

* gc.c (garbage_collect): probes "gc-begin" and "gc-end".
  (obj_free): probe "object-free"
  (garbage_collect_with_gvl): probe "raise"
  (negative_size_allocation_error): ditto.
  (rb_memerror): ditto.

* eval.c (rb_rescue2): probe "rescue"
  (rb_longjmp): probe "raise"

* ext/probe/probe.c: new extension for application defined probes.

* ext/probe/extconf.rb: ditto.

* configure.in (--with-tracing-model): new option to choose a tracing
  mechanism.
  (DTRACE): new substitution. name of dtrace(1).
  (RUBY_TRACING_MODEL): new substitution.
  (DTRACE_OBJ): ditto.
  (MINIDTRACE_OBJ): ditto.
  (GOLFDTRACE_OBJ): ditto.
  (LIBRUBY_DTRACE_OBJ): ditto.
  (RUBY_DTRACE_POSTPROCESS): new macro. checks whether the dtrace on 
  the system needs postprocessing.
  (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether the dtrace
  supports USDT.

* Makefile.in: 
  (DTRACE): new variable. name of dtrace(1).
  (TRACING_MODEL): new variable. name of the chosen tracing mechanism.
  (DTRACE_OBJ): same as the one in configure.in.
  (MINIDTRACE_OBJ): ditto.
  (GOLFDTRACE_OBJ): ditto.
  (LIBRUBY_DTRACE_OBJ): ditto.
  (CPPOUTFILE): new substitution. necessary for generating dtrace.d
  (trace_none.h): new target for TRACING_MODEL=none
  (RUBY_H_INCLUDES): appended a header for tracing.
  (distclean-local): also removes preprocessed version of dtrace.d
  ($(LIBRUBY_A)): needs $(LIBRUBY_DTRACE_OBJ) if dtrace needs 
  postprocessing.
  ($(PROGRAM)): ditto.
  (golf): ditto.
  (miniruby): ditto.
  ($(arch_hdrdir)/ruby/dtrace.d): new target. preprocessed verson 
  of defs/dtrace.d. generated if necessary.
  ($(arch_hdrdir)/ruby/trace_dtrace.h): new target.
  definition of probes.
  ($(LIBRUBY_DTRACE_OBJ)): new target. generated if dtrace needs 
  postprocessing.
  ($(DTRACE_OBJ)): ditto.
  ($(MINIDTRACE_OBJ)): ditto.
  ($(GOLFDTRACE_OBJ)): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-03 15:36:17 +00:00
nobu e9af789d35 * configure.in, Makefile.in, win32/Makefile.sub (XRUBY): runnable
ruby without current libraries.

* common.mk (rdoc): use XRUBY.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-22 22:32:39 +00:00
akr 391e5df571 add comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-13 11:43:01 +00:00
nobu 66150a89a6 * configure.in, Makefile.in (LIBRUBY_SO), common.mk (ruby.imp),
win32/mkexports.rb (each_export): exclude _threadptr_ functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-10 09:19:05 +00:00
kanemoto ea229a855f * Makefile.in (miniruby): suppress duplication warning on AIX.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-27 16:32:53 +00:00
yugui 0ed8771a44 * Makefile.in(test-rubyspec): explicitly executes run subcommand of
mspec.

* spec/README: typo fix

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-26 13:42:56 +00:00
nobu 92fd1940fe * Makefile.in, win32/Makefile.sub (INSNS): depend on tools.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-21 19:43:43 +00:00
nobu 99b41f3858 * configure.in (CAPITARGET): enable iff doxygen is available.
* configure.in (INSTALLDOC): enable if rdoc or doxygen are enabled.

* common.mk (docs): target to make documents.

* Makefile.in, win32/Makefile.sub (install-{all,nodoc}): trigger
  by $(INSTALLDOC) from install.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-16 07:20:19 +00:00
ko1 cea5aeb795 * Makefile.in, common.mk: move a id.h generation rule.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-06 20:22:18 +00:00
naruse 6cd8f907cf * Makefile.in (enc/unicode/name2ctype.kwd):
remove rules to generate name2ctype.kwd from
  UnicodeData.txt and Scripts.txt.
  if you want to generate, use tool/enc-unicode.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-26 17:08:34 +00:00
naruse f1eff95745 Update Oniguruma's UnicodeData to 5.1.
* tool/enc-unicode.rb: added for generate name2ctype.kwd.
  contributed by Run Paint Run Run [ruby-core:24775]
  use like following:
    ruby19 tool/enc-unicode.rb enc/unicode/UnicodeData.txt \
      enc/unicode/Scripts.txt > enc/unicode/name2ctype.kwd

* enc/unicode.c (CodeRanges): move definitions to name2ctype.h.

* enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd,
  enc/unicode/name2ctype.src: updated to v5.1.

* enc/unicode/UnicodeData.txt, enc/unicode/Scripts.txt: added v5.1.

* Makefile.in: add rule to generate name2ctype.kwd from
  UnicodeData.txt and Scripts.txt.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-25 16:15:38 +00:00