From 44cf56d6e70dbe06a160b004494ba40dd4cfb426 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 22 Jun 2000 08:29:58 +0000 Subject: 2000-06-22 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/mkmf.rb | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'lib') diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 1ee1d680bc..d14f9bd55a 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -210,31 +210,33 @@ SRC return true end -def have_func(func) +def have_func(func, header=nil) printf "checking for %s()... ", func STDOUT.flush libs = $libs - - if /mswin32|mingw/ =~ RUBY_PLATFORM - r = try_link(<<"SRC", libs) + src = + if /mswin32|mingw/ =~ RUBY_PLATFORM + r = <<"SRC" #include #include +SRC + else + "" + end + unless header.nil? + src << <<"SRC" +#include <#{header}> +SRC + end + r = try_link(src + <<"SRC", libs) int main() { return 0; } int t() { #{func}(); return 0; } SRC - unless r - r = try_link(<<"SRC", libs) -#include -#include + unless r + r = try_link(src + <<"SRC", libs) int main() { return 0; } int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; } -SRC - end - else - r = try_link(<<"SRC", libs) -int main() { return 0; } -int t() { #{func}(); return 0; } SRC end unless r -- cgit v1.2.3