Commit graph

619 commits

Author SHA1 Message Date
nobu
35f78ac1f8 * lib/mkmf.rb (configuration): backref needs to capture.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-07 14:07:51 +00:00
usa
a6fac6a669 * lib/mkmf.rb (create_makefile): ignore rest from first dot from
TARGET to generate init function name.
  this is followup of r30464.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-06 11:58:44 +00:00
tenderlove
5d0fb7c155 * lib/mkmf.rb (configuration): fixing gsub when multiple error flags
are passed to GCC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-06 00:18:16 +00:00
nobu
484e94a89c * configure.in (warnflags), lib/mkmf.rb (configuration): turn
warnings into errors only for bundled extensions.
  [ruby-core:33815]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-31 02:46:50 +00:00
nobu
30e0f51a5d * lib/mkmf.rb (check_signedness): should use the prelude code.
[ruby-dev:42731]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-10 09:11:48 +00:00
nobu
b38cc52c13 * lib/mkmf.rb (Logging.log_close): separate from Logging.logfile.
* test/mkmf/base.rb (TestMkmf::MKMFLOG): show mkmf.log at failures.
* test/mkmf/base.rb (TestMkmf#teardown): close log file for each tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-10 09:11:10 +00:00
nobu
e806b0fed7 * configure.in, win32/Makefile.sub (WERRORFLAG): flag to treat
warnings as errors.
* lib/mkmf.rb (Logging.postpone): yield log file object.
* lib/mkmf.rb (xsystem): add options, :werror only right now.
* lib/mkmf.rb (with_werror): check as if warnings are errors.
* lib/mkmf.rb (convertible_int): make declaration conflict
  warnings errors not to pass wrong type.  [ruby-dev:42684]
* lib/mkmf.rb (COMMON_MACROS): get rid of conflicts.
* win32/Makefile.sub (WARNFLAGS): make declaration conflict
  warnings errors if possible.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-06 23:00:47 +00:00
naruse
02c0481f8e * lib/mkmf.rb (check_signedness): rename unused variable prelude.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-06 00:19:25 +00:00
nobu
eb8ccbad0a * lib/mkmf.rb (String#tr_cpp): substitute * with P like as
autconf.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-03 22:46:53 +00:00
nobu
9e3e0ca3fe * lib/mkmf.rb (convertible_int): define printf format prefix too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-03 11:23:48 +00:00
nobu
e33b7f3381 * lib/mkmf.rb (convertible_int): detect convertible integer type.
port RUBY_REPLACE_INT from configure.in.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-03 10:53:53 +00:00
nobu
7031b99bca * lib/mkmf.rb (check_sizeof): should return integer always.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-03 10:48:12 +00:00
nobu
42e17a0b3f * lib/mkmf.rb (create_makefile): should not duplicate rules.
bug fix of r29842.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 09:45:46 +00:00
tenderlove
c62c8f725d * lib/mkmf.rb: adding compilation support for ObjC/ObjC++ extensions.
Thanks Scott Gonyea! [ruby-core:33260]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-19 22:47:20 +00:00
nobu
4fc08fd17d * lib/mkmf.rb (create_makefile): use forward slashes in messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 14:17:26 +00:00
nobu
49959bfd62 * lib/mkmf.rb (create_makefile): make extension libraries messages
brief.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 10:13:25 +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
812fc57a9a * lib/mkmf.rb (create_makefile): missing newline.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 15:53:07 +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
59a666a25f * lib/mkmf.rb (try_func): accept variable address.
* ext/win32ole/extconf.rb: libuuid is needed on cygwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-11 12:32:15 +00:00
nobu
c2fdd98eb0 * lib/mkmf.rb: $extmk should be true for test/runner.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-23 05:40:11 +00:00
yugui
3038eae7f6 * lib/mkmf.rb (try_link): rdoc
(try_compile): ditto
  (try_cpp): ditto
  (try_func): ditto
  (try_var): ditto
  (try_run): ditto
  (egrep_cpp): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-19 13:10:31 +00:00
nobu
3e86bd8f3a * lib/mkmf.rb (try_do): fix typo. a patch from Peter Weldon
at [ruby-core:32327].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-13 09:11:58 +00:00
usa
5dde183d0a * lib/mkmf.rb (Logging.postpone): close @log only when it's available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-15 07:22:57 +00:00
nobu
a5e1a4b635 * lib/mkmf.rb ($ignore_error): initialize after $nmake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-08 15:18:46 +00:00
naruse
c260a0c70c * lib/mkmf.rb: change instance variable to global.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 05:19:29 +00:00
naruse
775188a0a2 * enc/depend: add space at the begginig of @ignore_error.
* lib/mkmf.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-06 08:44:33 +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
usa
c37b2ef8dc * lib/mkmf.rb (create_makefile): no need to create the directory
at each library file. this change makes making ext faster.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-04 06:52:18 +00:00
nobu
45992b4b25 * ext/purelib.rb: no longer used since the default load path of
miniruby is empty.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-02 22:52:25 +00:00
nobu
444b943e35 * lib/mkmf.rb (have_framework): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-27 09:59:29 +00:00
naruse
0de2d84af8 Clean warnings: unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-23 05:32:46 +00:00
nobu
fc130468c7 * lib/mkmf.rb (STRING_OR_FAILED_FORMAT.%): nodoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 00:43:09 +00:00
nobu
66c8f4680f * lib/mkmf.rb (checking_for): ignore toplevel.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-28 01:40:39 +00:00
nobu
12d39082c5 * lib/mkmf.rb (dir_config): should not modify argument arrays
themselves.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-01 22:38:45 +00:00
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