diff -Naur eruby-1.0.5.orig/configure.rb eruby-1.0.5/configure.rb
--- eruby-1.0.5.orig/configure.rb	2003-02-10 04:18:10.000000000 +0100
+++ eruby-1.0.5/configure.rb	2010-04-24 22:48:43.000000000 +0200
@@ -59,21 +59,24 @@
   end
 end
 
-require 'ftools'
+require 'fileutils'
 
 def AC_OUTPUT(*files)
+  $DEFS ||= ""
   if $AC_LIST_HEADER
-    $DEFS = "-DHAVE_CONFIG_H"
+    $DEFS << " -DHAVE_CONFIG_H"
     AC_OUTPUT_HEADER($AC_LIST_HEADER)
   else
-    $DEFS = $ac_confdefs.collect {|k, v| "-D#{k}=#{v}" }.join(" ")
+    $DEFS << " " + $ac_confdefs.collect {|k, v| "-D#{k}=#{v}" }.join(" ")
   end
   for file in files
     print "creating ", file, "\n"
     open(File.join($srcdir, file + ".in")) do |fin|
-      File.makedirs(File.dirname(file))
+      FileUtils.mkdir_p(File.dirname(file))
       open(file, "w") do |fout|
+	depend = false
 	while line = fin.gets
+          depend = true if /^\#\#\# depend/ =~ line
 	  line.gsub!(/@([A-Za-z_]+)@/) do |s|
 	    name = $1
 	    if $ac_sed.key?(name)
@@ -82,6 +85,7 @@
 	      s
 	    end
 	  end
+          line.gsub!(/(\s)([^\s\/]+\.[ch])/, '\1{$(srcdir)}\2') if depend && $nmake
 	  fout.print(line)
 	end
       end
@@ -153,13 +157,18 @@
       file = File.join(dir, prog)
       if File.file?(file); then
 	$ac_aux_dir = dir
-	$ac_install_rb = "#{file} -c"
+	$ac_install_rb = "$(RUBY) #{file} -c"
 	return
       end
     end
   end
 end
 
+begin
+  require "continuation"
+rescue LoadError
+end
+
 def AC_PROG_INSTALL
   AC_MSG_CHECKING("for a BSD compatible install")
   $ac_cv_path_install = callcc { |c|
@@ -291,6 +300,13 @@
 $AR = CONFIG["AR"]
 $LD = "$(CC)"
 $RANLIB = CONFIG["RANLIB"]
+$ruby = arg_config("--ruby", File.join(Config::CONFIG["bindir"], CONFIG["ruby_install_name"]))
+$RUBY = ($nmake && !$configure_args.has_key?('--ruby')) ? $ruby.gsub(%r'/', '\\') : $ruby
+if RUBY_VERSION < "1.8.0"
+  $RM = 'rm -f'
+else
+  $RM = CONFIG["RM"] || '$(RUBY) -run -e rm -- -f'
+end
 
 if not defined? CFLAGS
   CFLAGS = CONFIG["CFLAGS"]
@@ -306,7 +322,7 @@
   $LDFLAGS = "-link -incremental:no -pdb:none"
 end
 $LIBS = CONFIG["LIBS"]
-$XLDFLAGS = CONFIG["XLDFLAGS"]
+$XLDFLAGS = CONFIG["XLDFLAGS"].to_s
 $XLDFLAGS.gsub!(/-L\./, "")
 if /mswin32/ !~ RUBY_PLATFORM
   $XLDFLAGS += " -L$(libdir)"
@@ -333,7 +349,7 @@
 $LIBRUBY_A = CONFIG["LIBRUBY_A"]
 $RUBY_SO_NAME = CONFIG["RUBY_SO_NAME"]
 
-case PLATFORM
+case RUBY_PLATFORM
 when /-aix/
   if $RUBY_SHARED
     $LIBRUBYARG = "-Wl,$(libdir)/" + CONFIG["LIBRUBY_SO"]
@@ -349,6 +365,14 @@
   end
 end
 
+$COMPILE_RULES = ''
+if defined?(COMPILE_RULES)
+  COMPILE_RULES.each do |rule|
+    $COMPILE_RULES << sprintf(rule, 'c', $OBJEXT)
+    $COMPILE_RULES << sprintf("\n\t%s\n\n", COMPILE_C)
+  end
+end
+
 AC_SUBST("srcdir")
 AC_SUBST("topdir")
 AC_SUBST("hdrdir")
@@ -375,6 +399,8 @@
 AC_SUBST("AR")
 AC_SUBST("LD")
 AC_SUBST("RANLIB")
+AC_SUBST("RUBY")
+AC_SUBST("RM")
 
 AC_SUBST("CFLAGS")
 AC_SUBST("DEFS")
@@ -388,6 +414,8 @@
 AC_SUBST("EXEEXT")
 AC_SUBST("DLEXT")
 
+AC_SUBST("COMPILE_RULES")
+
 AC_SUBST("RUBY_INSTALL_NAME")
 AC_SUBST("LIBRUBYARG")
 AC_SUBST("LIBRUBYARG_SHARED")
@@ -431,7 +459,7 @@
 $ENABLE_SHARED = false
 AC_ENABLE("shared") { |enableval|
   if enableval == "yes"
-    if PLATFORM =~ /-mswin32/
+    if /-mswin32/ =~ RUBY_PLATFORM
       AC_MSG_ERROR("can't enable shared on mswin32")
     end
     $ENABLE_SHARED = true
@@ -449,7 +477,7 @@
 if $ENABLE_SHARED
   $LIBERUBY = "${LIBERUBY_SO}"
   $LIBERUBYARG = "-L. -leruby"
-  case PLATFORM
+  case RUBY_PLATFORM
   when /-sunos4/
     $LIBERUBY_ALIASES = "liberuby.so.$(MAJOR).$(MINOR) liberuby.so"
   when /-linux/
@@ -457,7 +485,7 @@
     $LIBERUBY_ALIASES = "liberuby.so.$(MAJOR).$(MINOR) liberuby.so"
   when /-(freebsd|netbsd)/
     $LIBERUBY_SO = "liberuby.so.$(MAJOR).$(MINOR)"
-    if PLATFORM =~ /elf/ || PLATFORM =~ /-freebsd[3-9]/
+    if /elf/ =~ RUBY_PLATFORM || /-freebsd[3-9]/ =~ RUBY_PLATFORM
       $LIBERUBY_SO = "liberuby.so.$(MAJOR_MINOR)"
       $LIBERUBY_ALIASES = "liberuby.so"
     else
@@ -493,7 +521,7 @@
   end
 end
 
-if PLATFORM =~ /-mswin32/
+if /-mswin32/ =~ RUBY_PLATFORM
   $AR = "lib"
   $AROPT = "/out:$@"
   $LIBERUBY_A = "liberuby.lib"
@@ -519,7 +547,7 @@
 AC_SUBST("AROPT")
 
 $EXT_DLDFLAGS = CONFIG["DLDFLAGS"]
-if $RUBY_SHARED || RUBY_PLATFORM =~ /mswin32/
+if $RUBY_SHARED || /mswin32/ =~ RUBY_PLATFORM
   $EXT_LIBRUBYARG = "$(LIBRUBYARG)"
 else
   $EXT_LIBRUBYARG = ""
