Index: lib/mkmf.rb
===================================================================
RCS file: /cvs/ruby/src/ruby/lib/mkmf.rb,v
retrieving revision 1.146
diff -u -2 -p -r1.146 mkmf.rb
--- lib/mkmf.rb	16 Aug 2003 14:58:34 -0000	1.146
+++ lib/mkmf.rb	19 Aug 2003 06:40:01 -0000
@@ -320,6 +320,7 @@ int main() {printf("%d\\n", (int)(#{cons
 end
 
-def try_func(func, libs, headers = nil)
+def try_func(func, libs, headers = nil, src = nil)
   headers = cpp_include(headers)
+  headers += src if src
   try_link(<<"SRC", libs) or try_link(<<"SRC", libs)
 #{headers}
@@ -447,5 +448,5 @@ def checking_for(m)
 end
 
-def have_library(lib, func=nil)
+def have_library(lib, func = nil, *rest)
   func = "main" if !func or func.empty?
   checking_for "#{func}() in -l#{lib}" do
@@ -454,5 +455,5 @@ def have_library(lib, func=nil)
     else
       libs = append_library($libs, lib)
-      if try_func(func, libs)
+      if try_func(func, libs, *rest)
         $libs = libs
         true
@@ -483,7 +484,7 @@ def find_library(lib, func, *paths)
 end
 
-def have_func(func, header=nil)
+def have_func(func, *rest)
   checking_for "#{func}()" do
-    if try_func(func, $libs, header)
+    if try_func(func, $libs, *rest)
       $defs.push(format("-DHAVE_%s", func.upcase))
       true
