* lib/mkmf.rb ($ruby, $topdir, $hdrdir): should not be affected by
  DESTDIR after installed.

* lib/mkmf.rb (RUBY): / is not recognized as path separator on
  nmake/bmake. [ruby-list:39388]

* lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.


Index: lib/mkmf.rb
===================================================================
RCS file: /pub/cvs/ruby/src/ruby/lib/mkmf.rb,v
retrieving revision 1.162.2.7
diff -u -2 -p -d -r1.162.2.7 mkmf.rb
--- lib/mkmf.rb	14 Feb 2004 16:51:12 -0000	1.162.2.7
+++ lib/mkmf.rb	24 Mar 2004 05:40:45 -0000
@@ -47,5 +47,4 @@ $sitelibdir = CONFIG["sitelibdir"]
 $sitearchdir = CONFIG["sitearchdir"]
 
-$extmk = /extmk\.rb/ =~ $0
 $mswin = /mswin/ =~ RUBY_PLATFORM
 $bccwin = /bccwin/ =~ RUBY_PLATFORM
@@ -78,13 +77,15 @@ def map_dir(dir, map = nil)
 end
 
+libdir = File.dirname(__FILE__)
+$extmk = libdir != Config::CONFIG["rubylibdir"]
 if not $extmk and File.exist? Config::CONFIG["archdir"] + "/ruby.h"
+  $topdir = Config::CONFIG["archdir"]
   $hdrdir = $archdir
 elsif File.exist? $srcdir + "/ruby.h"
+  $topdir = Config::CONFIG["compile_dir"]
   $hdrdir = $srcdir
 else
-  warn "can't find header files for ruby."
-  exit 1
+  abort "can't find header files for ruby."
 end
-$topdir = $hdrdir
 
 OUTFLAG = CONFIG['OUTFLAG']
@@ -715,5 +716,5 @@ SHELL = /bin/sh
 srcdir = #{srcdir}
 topdir = #{$topdir}
-hdrdir = #{$hdrdir}
+hdrdir = #{$extmk ? $hdrdir : '$(topdir)'}
 VPATH = #{$mingw && CONFIG['build_os'] == 'cygwin' ? '$(shell cygpath -u $(srcdir))' : '$(srcdir)'}
 }
@@ -751,5 +752,6 @@ arch = #{CONFIG['arch']}
 sitearch = #{CONFIG['sitearch']}
 ruby_version = #{Config::CONFIG['ruby_version']}
-RUBY = #{$ruby}
+ruby = #{$ruby}
+RUBY = #{($nmake && !$extmk && !$configure_args.has_key?('--ruby')) ? '$(ruby:/=\)' : '$(ruby)'}
 RM = $(RUBY) -run -e rm -- -f
 MAKEDIRS = $(RUBY) -run -e mkdir -- -p
@@ -961,5 +963,5 @@ def init_mkmf(config = CONFIG)
   $CPPFLAGS = with_config("cppflags", arg_config("CPPFLAGS", config["CPPFLAGS"])).dup
   $LDFLAGS = (with_config("ldflags") || "").dup
-  $INCFLAGS = "-I#{$topdir}"
+  $INCFLAGS = "-I$(topdir)"
   $DLDFLAGS = with_config("dldflags", arg_config("DLDFLAGS", config["DLDFLAGS"])).dup
   $LIBEXT = config['LIBEXT'].dup
@@ -1005,5 +1007,5 @@ Config::CONFIG["topdir"] = CONFIG["topdi
   $curdir = arg_config("--curdir", Dir.pwd)
 $configure_args["--topdir"] ||= $curdir
-$ruby = arg_config("--ruby", File.join(CONFIG["bindir"], CONFIG["ruby_install_name"]))
+$ruby = arg_config("--ruby", File.join(Config::CONFIG["bindir"], CONFIG["ruby_install_name"]))
 
 split = Shellwords.method(:shellwords).to_proc
