Commit graph

384 commits

Author SHA1 Message Date
nobu
3ef72aebef * lib/mkmf.rb (create_makefile, install_files): honor srcprefix
argument if given.  [ruby-dev:40449]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-21 12:20:21 +00:00
nobu
896d768290 * lib/mkmf.rb (create_makefile): use puts instead of print.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-29 03:22:55 +00:00
nobu
a0248a2ba1 * lib/mkmf.rb (try_do): log no source when no developement env.
* lib/mkmf.rb (create_makefile): srcprefix always needs $(srcdir).

* lib/mkmf.rb (create_makefile): yield configuration if a block is
  given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-29 02:09:51 +00:00
nobu
bb6e6903ca * ext/iconv/iconv.c (iconv_convert): suppress a warning.
* lib/mkmf.rb (check_signedness): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-17 05:23:25 +00:00
nobu
37db97c0e1 * lib/mkmf.rb (have_header, create_header): use String#tr_cpp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-17 05:18:03 +00:00
nobu
01629be729 * lib/mkmf.rb (configuration): needs ARCH_FLAG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-09 19:41:22 +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
7b5ea0ec2f * configure.in, win32/Makefile.sub (EXECUTABLE_EXTS): moved from
dln.c:dln_find_1().

* lib/mkmf.rb (def find_executable0): use EXECUTABLE_EXTS, not
  only EXEEXT.  [ruby-core:26821]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-30 07:54:26 +00:00
nobu
32acedd286 * lib/mkmf.rb (create_header): split the line by tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-06 08:13:47 +00:00
nobu
80464f8f2a * lib/mkmf.rb (rm_f, rm_rf): FileUtils.rm can take an array.
[ruby-dev:39345]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-17 21:36:53 +00:00
nobu
9312426c1e * lib/mkmf.rb (create_header): open in binmode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-17 21:34:24 +00:00
nobu
3a224dbf45 * lib/mkmf.rb (create_makefile): fix for parallel execution.
[ruby-core:25509]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-10 14:00:47 +00:00
nobu
7e97b9af80 * lib/mkmf.rb (rm_f, rm_rf): pass the last hash through if exists.
[ruby-dev:39153]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-21 16:29:33 +00:00
nobu
c6ada1e7e0 * lib/mkmf.rb (check_sizeof): added optional compiler option
argument.  [ruby-core:24785]

* lib/mkmf.rb (create_makefile): suppressed shadowing outer local
  variable warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-06 04:00:38 +00:00
matz
fbd58422de * lib/mkmf.rb (#link_command): should dup CONFTEST_C which is
frozen.  ref  [ruby-core:23675].  [ruby-core:23702]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-04 22:15:03 +00:00
nobu
17d88c0333 * lib/mkmf.rb (create_makefile): checks for duplication of source
files.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-31 14:28:04 +00:00
takano32
120d1b493b Tue May 26 11:01:41 2009 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
* lib/mkmf.rb: use map! to replace strings in $objs array.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-26 02:10:36 +00:00
takano32
4bc66b71f3 Mon May 25 13:27:32 2009 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
* lib/mkmf.rb: dont use gsub! method for frozen string.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-25 04:32:00 +00:00
nobu
6575009929 * lib/mkmf.rb (SRC_EXT): should be flat.
http://twitter.com/_tad_/status/1825862632

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-17 14:23:17 +00:00
nobu
b6ed3dce38 * lib/mkmf.rb (try_link0): removes waste dSYM directories left
when debug and universal-binary are enabled.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-08 10:38:55 +00:00
nobu
9a99663fa9 * lib/mkmf.rb (check_sizeof): fixed wrong recuring result for
intrinsic types.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-08 10:17:04 +00:00
nobu
15fabcb2db * Makefile.in, configure.in, win32/Makefile.sub (RUBY_BASE_NAME):
program base name.  [ruby-dev:38241]

* configure.in (--with-soname): base name of shared library.
  [ruby-dev:38290]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-08 01:14:14 +00:00
nobu
94890f6a9e * lib/mkmf.rb (init_mkmf): needs default library path even if
cross compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-21 00:20:25 +00:00
nobu
a6fa5855a8 * lib/mkmf.rb (what_type?): fixed typo, and refined for member of
aggregation types.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-08 05:00:07 +00:00
nobu
64be577b53 * lib/mkmf.rb (Logging.postpone): copy postponed output always.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-08 04:57:59 +00:00
nobu
0b05fc5a85 * lib/mkmf.rb (what_type?): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-08 02:46:28 +00:00
nobu
72c161bb55 * lib/mkmf.rb (create_makefile): support for parallel make. a
patch from Takuto Matsuu at [ruby-dev:38220].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-01 10:46:48 +00:00
nobu
72122dd947 * lib/mkmf.rb (link_command, cc_command, cpp_command): should not
override extout defined in extmk.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-27 18:17:07 +00:00
nobu
a8eaf31630 * lib/mkmf.rb (what_type?): checks more restrictively, and
supports universal binary.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-27 03:56:46 +00:00
nobu
b7800329d3 * configure.in (RUBY_CHECK_SIZEOF): allows qualified name.
* configure.in (RUBY_REPLACE_TYPE): checks more strictly.

* configure.in (struct stat.st_size, struct stat.st_blocks),
  (struct stat.st_ino): check for size.

* lib/mkmf.rb (check_sizeof): allows qualified name.

* file.c (rb_stat_ino, rb_stat_blocks): check by size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-19 09:49:51 +00:00
nobu
2e498843b6 * lib/mkmf.rb (CXX_EXT): checks for case-sensitive filesystem with
FNM_SYSCASE rather than build_os.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-14 01:39:15 +00:00
nobu
287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
nobu
2b3a204832 * ext/extmk.rb (extmake), lib/mkmf.rb (create_makefile): $objs and
$srcs are always Array or nil now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-03 07:25:50 +00:00
usa
3540727af5 * win32/Makefile.sub (config.status): use un.rb as cp instead of
cmd.exe's copy command.

	* lib/mkmf.rb (create_makefile): no longer need to convert path
	  separator when copying file.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 06:07:10 +00:00
nobu
030eed8f39 * lib/mkmf.rb (create_makefile): added phony targets.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 05:22:04 +00:00
nobu
fb3fee22ca * lib/mkmf.rb (create_makefile): removes directories in the depth
order.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 05:18:27 +00:00
nobu
6784d8fda6 * lib/mkmf.rb (create_makefile): creates target directories before
copying.  [ruby-core:21958]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 05:14:30 +00:00
nobu
7c93e56560 * lib/mkmf.rb (have_header): needs dependent headers if trying to
compile.

* ext/socket/extconf.rb: net/if.h depends on other headers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-07 02:44:07 +00:00
nobu
d232a50435 * lib/mkmf.rb (try_header): checks the header depending on
platform.

* lib/mkmf.rb (have_header, find_header): use try_header.

* win32/Makefile.sub (try_header): uses try_compile to get rid of
  slow -E option of VC.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-27 02:09:47 +00:00
nobu
c938de20cd * common.mk (distclean-enc, realclean-enc): do not call clean of
enc.mk twice or more.

* enc/depend (cleanobjs): added deffile.

* lib/mkmf.rb (create_makefile): removes deffile at clean instead
  of distclean.

* win32/Makefile.sub (miniruby, LIBRUBY_SO): removes lib and exp
  files.

* win32/Makefile.sub (clean, distclean): have moved to common.mk.

* win32/rmdirs.bat: omits `not empty' message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-27 02:03:54 +00:00
matz
a0947ecd75 * lib/mkmf.rb (create_makefile): should point correct path to
ruby.h and defines.h.   [ruby-core:21570]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-26 18:27:58 +00:00
nobu
cdaadbd903 * lib/mkmf.rb (create_makefile):fixed the variables order because
converter proc refers the separator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 02:50:24 +00:00
nobu
97de7d1081 * Makefile.in, win32/Makefile.sub (RMDIRS): remove directory and
parents.

* Makefile.in, win32/Makefile.sub (distclean-rdoc): added to remove
  temprary rdoc.

* Makefile.in, win32/Makefile.sub (distclean): removes extout
  directory.

* Makefile.in, win32/Makefile.sub (clean-ext): skips non-existent
  directories.

* common.mk (clean, distclean): cleans rdoc.

* configure.in (RMDIRS, RMALL): added to clean extout.

* lib/fileutils.rb (FileUtils#rmdir): added :parents option.

* lib/mkmf.rb (create_makefile): cleans installed files at clean
  instead of distclean.

* lib/mkmf.rb (create_makefile): added clean-so and clean-rb.

* lib/mkmf.rb (def init_mkmf): added DISTCLEANDIRS.

* lib/un.rb (rmdir): added -p option.

* tool/rmdirs, win32/rmdirs.bat: removes directory and the parents.

* win32/rm.bat: added -r option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 02:06:29 +00:00
nobu
b9170351da * lib/mkmf.rb (configuration): tools under the top source
directory are not installed, so unusable outside extmk.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-23 23:21:16 +00:00
nobu
834e7488af * lib/mkmf.rb (configuration): leaves PATH_SEPARATOR unchanged.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-23 06:11:39 +00:00
nobu
389157d8cf * lib/mkmf.rb (mkintpath): new function which converts native path
to format acceptable in Makefile.

* lib/mkmf.rb (configuration): convers srcdir, topdir and hdrdir.
  a patch by Alexey Borzenkov <snaury AT gmail.com> at
  [ruby-core:21448].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-23 05:56:01 +00:00
nobu
1c374fef37 * lib/mkmf.rb (try_func): got rid of c-mode confusion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-23 05:34:49 +00:00
nobu
6708c103dc * lib/mkmf.rb (create_makefile): removes installed files under
extout at distclean.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-22 09:12:49 +00:00
nobu
a7999ab13c * ext/extmk.rb (extmake): does not use both of makefile.rb and
extconf.rb at the same time.

* lib/mkmf.rb (DLLIB): depends on Makefile.  [ruby-core:21096]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-04 02:11:33 +00:00