summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--ext/socket/extconf.rb3
-rw-r--r--instruby.rb5
-rw-r--r--lib/mkmf.rb2
-rw-r--r--rubytest.rb11
5 files changed, 26 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c7cecb3..9160263 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Mon Feb 7 01:56:20 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * instruby.rb, rubytest.rb (srcdir): no longer embed srcdir into
+ rbconfig.rb. (backported from CVS HEAD)
+
+ * ext/socket/extconf.rb (sockaddr_storage): winsock2.h have the
+ definition of struct sockaddr_storage, but socket.c doesn't
+ include it because this version of ruby still has binary level
+ compatibility with winsock1.
+
+ * lib/mkmf.rb (create_makefile): should support header files in
+ depend file.
+
Mon Feb 7 01:21:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/socket/extconf.rb: check if getaddrinfo() works fine only when
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb
index 66d7462..772bf57 100644
--- a/ext/socket/extconf.rb
+++ b/ext/socket/extconf.rb
@@ -123,7 +123,8 @@ end
cppflags = $CPPFLAGS
$CPPFLAGS += flags
end
- if have_struct_member("struct sockaddr_storage", "ss_family", headers)
+ if /mswin32|mingw/ !~ RUBY_PLATFORM and
+ have_struct_member("struct sockaddr_storage", "ss_family", headers)
$defs[-1] = "-DHAVE_SOCKADDR_STORAGE"
break
elsif flags
diff --git a/instruby.rb b/instruby.rb
index a9d66c7..f56bb2e 100644
--- a/instruby.rb
+++ b/instruby.rb
@@ -3,7 +3,8 @@
load "./rbconfig.rb"
include Config
-$:.unshift File.join(CONFIG["srcdir"], "lib")
+srcdir = File.dirname(__FILE__)
+$:.unshift File.join(srcdir, "lib")
require 'fileutils'
require 'shellwords'
require 'getopts'
@@ -121,7 +122,7 @@ if dll == lib and dll != arc
end
end
-Dir.chdir CONFIG["srcdir"]
+Dir.chdir srcdir
ruby_shebang = File.join(CONFIG["bindir"], ruby_install_name)
if File::ALT_SEPARATOR
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 9367742..f15d0ea 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -996,7 +996,7 @@ static: $(STATIC_LIB)
while line = dfile.gets()
line.gsub!(/\.o\b/, ".#{$OBJEXT}")
if $nmake
- line.gsub!(%r"(\s)([^\s\/]+\.(?:#{SRC_EXT.join('|')}))(?=\s|\z)", '\1{.;$(VPATH)}\2')
+ line.gsub!(%r"(\s)([^\s\/]+\.(?:#{(SRC_EXT + ['h']).join('|')}))(?=\s|\z)", '\1{.;$(VPATH)}\2')
end
line.gsub!(/\$\(hdrdir\)\/config.h/, $config_h) if $config_h
mfile.print line
diff --git a/rubytest.rb b/rubytest.rb
index 6f717a2..8ae637c 100644
--- a/rubytest.rb
+++ b/rubytest.rb
@@ -1,12 +1,14 @@
#! ./miniruby
+exit if defined?(CROSS_COMPILING)
load './rbconfig.rb'
include Config
-unless File.exist? "./#{CONFIG['ruby_install_name']}#{CONFIG['EXEEXT']}"
- print "./#{CONFIG['ruby_install_name']} is not found.\n"
+ruby = "./#{CONFIG['ruby_install_name']}#{CONFIG['EXEEXT']}"
+unless File.exist? ruby
+ print "#{ruby} is not found.\n"
print "Try `make' first, then `make test', please.\n"
- exit 1
+ exit false
end
if File.exist? CONFIG['LIBRUBY_SO']
@@ -34,7 +36,8 @@ end
$stderr.reopen($stdout)
error = ''
-`./#{CONFIG["ruby_install_name"]}#{CONFIG["EXEEXT"]} -I#{CONFIG["srcdir"]}/lib #{CONFIG["srcdir"]}/sample/test.rb`.each do |line|
+srcdir = File.dirname(__FILE__)
+`#{ruby} -I#{srcdir}/lib #{srcdir}/sample/test.rb`.each do |line|
if line =~ /^end of test/
print "test succeeded\n"
exit 0