[#45341] 非同期割り込みに対する対処案(日本語版) — SASADA Koichi <ko1@...>

 ささだです.

28 messages 2012/03/11
[#45816] Re: 非同期割り込みに対する対処案(日本語版) — SASADA Koichi <ko1@...> 2012/06/25

 ささだです.

[#45817] Re: 非同期割り込みに対する対処案(日本語版) — Tanaka Akira <akr@...> 2012/06/25

2012年6月25日 18:26 SASADA Koichi <[email protected]>:

[#45819] Re: 非同期割り込みに対する対処案(日本語版) — SASADA Koichi <ko1@...> 2012/06/25

 ささだです.

[#45820] Re: 非同期割り込みに対する対処案(日本語版) — Tanaka Akira <akr@...> 2012/06/25

2012年6月25日 19:39 SASADA Koichi <[email protected]>:

[#45827] Re: 非同期割り込みに対する対処案(日本語版) — SASADA Koichi <ko1@...> 2012/06/25

(2012/06/25 20:32), Tanaka Akira wrote:

[#45841] Re: 非同期割り込みに対する対処案(日本語版) — Tanaka Akira <akr@...> 2012/06/25

2012年6月26日 3:40 SASADA Koichi <[email protected]>:

[#45844] Re: 非同期割り込みに対する対処案(日本語版) — SASADA Koichi <ko1@...> 2012/06/25

(2012/06/26 5:07), Tanaka Akira wrote:

[#45372] Marshal.dumpにおけるインスタンス変数の取り扱いについて — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

14 messages 2012/03/16
[#45376] Re: Marshal.dumpにおけるインスタンス変数の取り扱いについて — Yukihiro Matsumoto <matz@...> 2012/03/17

まつもと ゆきひろです

[#45377] Re: Marshal.dumpにおけるインスタンス変数の取り扱いについて — keiju@... (石塚圭樹) 2012/03/17

けいじゅ@いしつかです.

[#45381] Re: Marshal.dumpにおけるインスタンス変数の取り扱いについて — Yukihiro Matsumoto <matz@...> 2012/03/17

まつもと ゆきひろです

[#45399] Re: Marshal.dumpにおけるインスタンス変数の取り扱いについて — keiju@... (石塚圭樹) 2012/03/18

けいじゅ@いしつかです.

[#45412] [ruby-trunk - Feature #6177][Open] array.cのrb_ary_equal()の高速化 — "Glass_saga (Masaki Matsushita)" <glass.saga@...>

13 messages 2012/03/20

[#45471] [ruby-trunk - Bug #6230][Open] [WEBrick] WEBrick::HTTPResponse#body の IO オブジェクトの読み込みに read メソッドを使っているため必要以上にブロックされる — "nobuoka (yu nobuoka)" <nobuoka@...>

7 messages 2012/03/30

[ruby-dev:45388] [ruby-trunk - Feature #3333] mkmf (have|find)_cxx_header

From: nahi <nakahiro@...>
Date: 2012-03-18 06:56:36 UTC
List: ruby-dev #45388
Issue #3333 has been updated by nahi.

Description updated

Imported from #3330

うっかりruby-listに投げてしまったきしもとです

[ruby-list:47092] で振ってみた話題に関係して、なのですが(ツリーになりませんでしたが)、
mkmf に C++ のヘッダをチェックする機能を追加するパッチです。

Index: configure.in
===================================================================
--- configure.in	(revision 27940)
+++ configure.in	(working copy)
@@ -243,6 +243,7 @@
 fi
 AC_PROG_CC
 AC_PROG_CXX
+AC_PROG_CXXCPP
 AC_PROG_GCC_TRADITIONAL
 AC_SUBST(GCC)
 if test "$GCC" = yes; then
Index: lib/mkmf.rb
===================================================================
--- lib/mkmf.rb	(revision 27940)
+++ lib/mkmf.rb	(working copy)
@@ -408,6 +408,14 @@
 		   conf)
 end

+def cxxcpp_command(outfile, opt="")
+  conf = RbConfig::CONFIG.merge('hdrdir' => $hdrdir.quote, 'srcdir' => $srcdir.quote,
+                                'arch_hdrdir' => "#$arch_hdrdir",
+                                'top_srcdir' => $top_srcdir.quote)
+  RbConfig::expand("$(CXXCPP) #$INCFLAGS #$CPPFLAGS #$CXXFLAGS #{opt} #{CONFTEST_C} #{outfile}",
+		   conf)
+end
+
 def libpathflag(libpath=$DEFLIBPATH|$LIBPATH)
   libpath.map{|x|
     case x
@@ -454,8 +462,15 @@
   rm_f "conftest*"
 end

+def try_cxxcpp(src, opt="", &b)
+  try_do(src, cxxcpp_command(CPPOUTFILE, opt), &b)
+ensure
+  rm_f "conftest*"
+end
+
 class Object
   alias_method :try_header, (config_string('try_header') || :try_cpp)
+  alias_method :try_cxx_header, (config_string('try_cxx_header') || :try_cxxcpp)
 end

 def cpp_include(header)
@@ -840,6 +855,24 @@
   end
 end

+# Returns whether or not the given C plus plus +header+ file can be found on
+# your system. If found, a macro is passed as a preprocessor constant to the
+# compiler using the header file name, in uppercase, prepended with 'HAVE_'.
+#
+# For example, if have_header('foo.h') returned true, then the HAVE_FOO_H
+# preprocessor macro would be passed to the compiler.
+#
+def have_cxx_header(header, preheaders = nil, &b)
+  checking_for header do
+    if try_cxx_header(cpp_include(preheaders)+cpp_include(header), &b)
+      $defs.push(format("-DHAVE_%s", header.tr_cpp))
+      true
+    else
+      false
+    end
+  end
+end
+
 # Instructs mkmf to search for the given +header+ in any of the +paths+
 # provided, and returns whether or not it was found in those paths.
 #
@@ -867,6 +900,33 @@
   end
 end

+# Instructs mkmf to search for the given C plus plus +header+ in any of the
+# +paths+ provided, and returns whether or not it was found in those paths.
+#
+# If the header is found then the path it was found on is added to the list
+# of included directories that are sent to the compiler (via the -I switch).
+#
+def find_cxx_header(header, *paths)
+  message = checking_message(header, paths)
+  header = cpp_include(header)
+  checking_for message do
+    if try_cxx_header(header)
+      true
+    else
+      found = false
+      paths.each do |dir|
+        opt = "-I#{dir}".quote
+        if try_cxx_header(header, opt)
+          $INCFLAGS << " " << opt
+          found = true
+          break
+        end
+      end
+      found
+    end
+  end
+end
+
 # Returns whether or not the struct of type +type+ contains +member+.  If
 # it does not, or the struct type can't be found, then false is returned.  You
 # may optionally specify additional +headers+ in which to look for the struct
----------------------------------------
Feature #3333: mkmf (have|find)_cxx_header
https://bugs.ruby-lang.org/issues/3333#change-24715

Author: nobu
Status: Open
Priority: Low
Assignee: 
Category: 
Target version: 


=begin
 なかだです。
 
 ruby-devに移動します。
 
 At Fri, 21 May 2010 17:30:06 +0900,
 KISHIMOTO, Makoto wrote in [ruby-list:47096]:
 > [ruby-list:47092] で振ってみた話題に関係して、なのですが(ツリーになりませんでしたが)、
 
 redmine.ruby-lang.orgに登録されるのはruby-devかruby-coreだけです。
 
 > mkmf に C++ のヘッダをチェックする機能を追加するパッチです。
 
 チェックするのはヘッダだけでいいんでしょうか。have_libraryや
 find_library、have_func、have_typeなども全部have_cxx_…を追加す
 るんでしょうか。また、mkmf.rbではObjective-Cのソースも探すように
 なっていますが、こちらにも対応しようと思うとhave_objc_…などとど
 んどん数が増えてしまうので、どちらかというと、lang: "C++"のよう
 なオプション引数を追加するほうがいいのではないかという気がしてい
 ます。
 
 -- 
 --- 僕の前にBugはない。
 --- 僕の後ろにBugはできる。
     中田 伸悦
=end



-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next