summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-31 09:22:06 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-31 09:22:06 +0000
commit57b2447d5204750a6994dabaf486fa08eb15bf54 (patch)
tree31aa1d985086898c9a2a4098b953054c87d34c6f /lib
parent75fc7cf2de0278f047fe4479cb0ac52678b5d4cf (diff)
* lib/mkmf.rb (have_devel?): checks if the compiler works.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@18995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/mkmf.rb25
1 files changed, 15 insertions, 10 deletions
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 0eb96a6b0d..4bf741d420 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -303,7 +303,21 @@ def create_tmpsrc(src)
src
end
+def have_devel?
+ unless defined? $have_devel
+ $have_devel = true
+ $have_devel = try_link(MAIN_DOES_NOTHING)
+ end
+ $have_devel
+end
+
def try_do(src, command, &b)
+ unless have_devel?
+ raise <<MSG
+The complier failed to generate an executable file.
+You have to install development tools first.
+MSG
+ end
src = create_tmpsrc(src, &b)
xsystem(command)
ensure
@@ -405,7 +419,6 @@ end
def try_static_assert(expr, headers = nil, opt = "", &b)
headers = cpp_include(headers)
try_compile(<<SRC, opt, &b)
-#{COMMON_HEADERS}
#{headers}
/*top*/
int conftest_const[(#{expr}) ? 1 : -1];
@@ -444,8 +457,7 @@ def try_constant(const, headers = nil, opt = "", &b)
upper = -upper if neg
return upper
else
- src = %{#{COMMON_HEADERS}
-#{includes}
+ src = %{#{includes}
#include <stdio.h>
/*top*/
int conftest_const = (int)(#{const});
@@ -463,7 +475,6 @@ end
def try_func(func, libs, headers = nil, &b)
headers = cpp_include(headers)
try_link(<<"SRC", libs, &b) or try_link(<<"SRC", libs, &b)
-#{COMMON_HEADERS}
#{headers}
/*top*/
#{MAIN_DOES_NOTHING}
@@ -479,7 +490,6 @@ end
def try_var(var, headers = nil, &b)
headers = cpp_include(headers)
try_compile(<<"SRC", &b)
-#{COMMON_HEADERS}
#{headers}
/*top*/
#{MAIN_DOES_NOTHING}
@@ -794,7 +804,6 @@ end
def have_struct_member(type, member, headers = nil, &b)
checking_for checking_message("#{type}.#{member}", headers) do
if try_compile(<<"SRC", &b)
-#{COMMON_HEADERS}
#{cpp_include(headers)}
/*top*/
#{MAIN_DOES_NOTHING}
@@ -810,7 +819,6 @@ end
def try_type(type, headers = nil, opt = "", &b)
if try_compile(<<"SRC", opt, &b)
-#{COMMON_HEADERS}
#{cpp_include(headers)}
/*top*/
typedef #{type} conftest_type;
@@ -865,7 +873,6 @@ end
def try_const(const, headers = nil, opt = "", &b)
const, type = *const
if try_compile(<<"SRC", opt, &b)
-#{COMMON_HEADERS}
#{cpp_include(headers)}
/*top*/
typedef #{type || 'int'} conftest_type;
@@ -930,7 +937,6 @@ end
# pointer.
def scalar_ptr_type?(type, member = nil, headers = nil, &b)
try_compile(<<"SRC", &b) # pointer
-#{COMMON_HEADERS}
#{cpp_include(headers)}
/*top*/
volatile #{type} conftestval;
@@ -943,7 +949,6 @@ end
# pointer.
def scalar_type?(type, member = nil, headers = nil, &b)
try_compile(<<"SRC", &b) # pointer
-#{COMMON_HEADERS}
#{cpp_include(headers)}
/*top*/
volatile #{type} conftestval;