summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--Makefile.in2
-rw-r--r--bcc32/Makefile.sub2
-rw-r--r--bcc32/mkexports.rb2
-rw-r--r--ext/extmk.rb39
-rw-r--r--lib/mkmf.rb1
-rw-r--r--mkconfig.rb2
-rw-r--r--win32/Makefile.sub2
-rw-r--r--win32/mkexports.rb2
-rw-r--r--win32/resource.rb20
10 files changed, 57 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index 8c06b48cc7..4f272416aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sat Sep 9 04:47:45 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT.
+
+ * mkconfig.rb, ext/extmk.rb, lib/mkmf.rb, win32/mkexports.rb: suppress
+ warnings with $VERBOSE.
+
+ * win32/resource.rb: add more info.
+
Fri Sep 8 10:03:59 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
* lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookies): new
diff --git a/Makefile.in b/Makefile.in
index 254f1656ee..5b48c30ceb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52,7 +52,7 @@ RUBY_SO_NAME=@RUBY_SO_NAME@
EXEEXT = @EXEEXT@
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
RUBY = $(RUBY_INSTALL_NAME)
-MINIRUBY = @MINIRUBY@
+MINIRUBY = @MINIRUBY@ $(MINIRUBYOPT)
RUNRUBY = @RUNRUBY@
#### End of system configuration section. ####
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
index 030a799e99..0c011d75c2 100644
--- a/bcc32/Makefile.sub
+++ b/bcc32/Makefile.sub
@@ -153,7 +153,7 @@ EXEEXT = .exe
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
RUBYDEF = $(RUBY_SO_NAME).def
-MINIRUBY = .\miniruby$(EXEEXT)
+MINIRUBY = .\miniruby$(EXEEXT) $(MINIRUBYOPT)
RUNRUBY = .\ruby$(EXEEXT) "$(srcdir)runruby.rb" --extout="$(EXTOUT)" --
ORGLIBPATH = $(LIB)
diff --git a/bcc32/mkexports.rb b/bcc32/mkexports.rb
index e34b441e2f..dc523e2541 100644
--- a/bcc32/mkexports.rb
+++ b/bcc32/mkexports.rb
@@ -1,5 +1,7 @@
#!./miniruby -s
+$name = $library = $description = nil
+
SYM = {}
STDIN.reopen(open("nul"))
ARGV.each do |obj|
diff --git a/ext/extmk.rb b/ext/extmk.rb
index bbcb3c09b8..f901805fd3 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -1,13 +1,19 @@
#! /usr/local/bin/ruby
# -*- ruby -*-
+$extension = nil
+$extstatic = nil
$force_static = nil
$install = nil
$destdir = nil
+$dryrun = false
$clean = nil
$nodynamic = nil
$extinit = nil
$extobjs = nil
+$extflags = ""
+$extlibs = nil
+$extpath = nil
$ignore = nil
$message = nil
@@ -79,6 +85,8 @@ def extract_makefile(makefile, keep = true)
s.sub!(/ *#{Regexp.quote($LIBS)}$/, "")
$libs = s
end
+ $objs = (m[/^OBJS[ \t]*=[ \t](.*)/, 1] || "").split
+ $srcs = (m[/^SRCS[ \t]*=[ \t](.*)/, 1] || "").split
$LOCAL_LIBS = m[/^LOCAL_LIBS[ \t]*=[ \t]*(.*)/, 1] || ""
$LIBPATH = Shellwords.shellwords(m[/^libpath[ \t]*=[ \t]*(.*)/, 1] || "") - %w[$(libdir) $(topdir)]
true
@@ -113,6 +121,8 @@ def extmake(target)
$mdir = target
$srcdir = File.join($top_srcdir, "ext", $mdir)
$preload = nil
+ $objs = ""
+ $srcs = ""
$compiled[target] = false
makefile = "./Makefile"
ok = File.exist?(makefile)
@@ -128,7 +138,7 @@ def extmake(target)
ok &&= extract_makefile(makefile)
if (($extconf_h && !File.exist?($extconf_h)) ||
!(t = modified?(makefile, MTIMES)) ||
- %W"#{$srcdir}/makefile.rb #{$srcdir}/extconf.rb #{$srcdir}/depend".any? {|f| modified?(f, [t])})
+ ["#{$srcdir}/makefile.rb", "#{$srcdir}/extconf.rb", "#{$srcdir}/depend"].any? {|f| modified?(f, [t])})
then
ok = false
init_mkmf
@@ -420,9 +430,13 @@ if $ignore
exit
end
-if $extlist.size > 0
- $extinit ||= ""
- $extobjs ||= ""
+$extinit ||= ""
+$extobjs ||= ""
+$extpath ||= []
+$extflags ||= ""
+$extlibs ||= []
+unless $extlist.empty?
+ $extinit << "\n" unless $extinit.empty?
list = $extlist.dup
built = []
while e = list.shift
@@ -436,16 +450,23 @@ if $extlist.size > 0
end
f = format("%s/%s.%s", s, i, $LIBEXT)
if File.exist?(f)
- $extinit += "\tinit(Init_#{i}, \"#{t}.so\");\n"
- $extobjs += "ext/#{f} "
+ $extinit << " init(Init_#{i}, \"#{t}.so\");\n"
+ $extobjs << "ext/#{f} "
built << t
end
end
src = %{\
-extern char *ruby_sourcefile, *rb_source_filename();
-#define init(func, name) (ruby_sourcefile = src = rb_source_filename(name), func(), rb_provide(src))
-void Init_ext() {\n\tchar* src;\n#$extinit}
+#include "ruby.h"
+
+#define init(func, name) { \
+ void func _((void)); \
+ ruby_sourcefile = src = rb_source_filename(name); \
+ func(); \
+ rb_provide(src); \
+}
+
+void Init_ext _((void))\n{\n char *src;#$extinit}
}
if !modified?(extinit.c, MTIMES) || IO.read(extinit.c) != src
open(extinit.c, "w") {|f| f.print src}
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 35e42e5441..6c8ddca0a3 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -1165,6 +1165,7 @@ def create_makefile(target, srcprefix = nil)
elsif !(srcs = $srcs)
srcs = $objs.collect {|obj| obj.sub(/\.o\z/, '.c')}
end
+ $srcs = srcs
for i in $objs
i.sub!(/\.o\z/, ".#{$OBJEXT}")
end
diff --git a/mkconfig.rb b/mkconfig.rb
index 5858287734..7721495f92 100644
--- a/mkconfig.rb
+++ b/mkconfig.rb
@@ -41,7 +41,7 @@ File.foreach "config.status" do |line|
if /^s([%,])@(\w+)@\1(?:\|\#_!!_\#\|)?(.*)\1/ =~ line
name = $2
val = $3.gsub(/\\(?=,)/, '')
- next if /^(?:ac_.*|DEFS|configure_input)$/ =~ name
+ next if /^(?:ac_.*|DEFS|configure_input|(?:top_)?srcdir)$/ =~ name
next if /^\$\(ac_\w+\)$/ =~ val
next if /^\$\{ac_\w+\}$/ =~ val
next if /^\$ac_\w+$/ =~ val
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 23c73be382..9a0004cd00 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -160,7 +160,7 @@ EXEEXT = .exe
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
RUBYDEF = $(RUBY_SO_NAME).def
-MINIRUBY = .\miniruby$(EXEEXT)
+MINIRUBY = .\miniruby$(EXEEXT) $(MINIRUBYOPT)
RUNRUBY = .\ruby$(EXEEXT) "$(srcdir)/runruby.rb" --extout="$(EXTOUT)" --
!if !defined(STACK)
diff --git a/win32/mkexports.rb b/win32/mkexports.rb
index 3859381935..214e4c6772 100644
--- a/win32/mkexports.rb
+++ b/win32/mkexports.rb
@@ -1,5 +1,7 @@
#!./miniruby -s
+$name = $library = $description = nil
+
SYM = {}
objs = ARGV.collect {|s| s.tr('/', '\\')}
diff --git a/win32/resource.rb b/win32/resource.rb
index 0bfebf2d63..1c12075183 100644
--- a/win32/resource.rb
+++ b/win32/resource.rb
@@ -29,16 +29,14 @@ else
end
ruby_icon = rubyw_icon = nil
-[$ruby_name, 'ruby'].each do |i|
+[$ruby_name, 'ruby'].find do |i|
if i = icons[i]
ruby_icon = "1 ICON DISCARDABLE "+i.dump+"\n"
- break
end
end
-[$rubyw_name, 'rubyw'].each do |i|
+[$rubyw_name, 'rubyw'].find do |i|
if i = icons[i]
rubyw_icon = "1 ICON DISCARDABLE "+i.dump+"\n"
- break
end
end
dll_icons = []
@@ -46,11 +44,11 @@ icons.keys.sort.each do |i|
dll_icons << "#{dll_icons.size + 1} ICON DISCARDABLE "+icons[i].dump+"\n"
end
-[ # base name extension file type icons
- [$ruby_name, CONFIG["EXEEXT"], 'VFT_APP', ruby_icon],
- [$rubyw_name, CONFIG["EXEEXT"], 'VFT_APP', rubyw_icon || ruby_icon],
- [$so_name, '.dll', 'VFT_DLL', dll_icons],
-].each do |base, ext, type, icons|
+[ # base name extension file type desc, icons
+ [$ruby_name, CONFIG["EXEEXT"], 'VFT_APP', 'CUI', ruby_icon],
+ [$rubyw_name, CONFIG["EXEEXT"], 'VFT_APP', 'GUI', rubyw_icon || ruby_icon],
+ [$so_name, '.dll', 'VFT_DLL', 'DLL', dll_icons.join],
+].each do |base, ext, type, desc, icons|
open(base + '.rc', "w") { |f|
f.binmode if /mingw/ =~ RUBY_PLATFORM
@@ -60,7 +58,7 @@ end
#include <winver.h>
#endif
-#{icons}
+#{icons || ''}
VS_VERSION_INFO VERSIONINFO
FILEVERSION #{fversion}
PRODUCTVERSION #{fversion}
@@ -74,7 +72,7 @@ BEGIN
BEGIN
BLOCK "000004b0"
BEGIN
- VALUE "FileDescription", "Ruby interpreter\\0"
+ VALUE "FileDescription", "Ruby interpreter (#{desc}) #{RUBY_VERSION} [#{RUBY_PLATFORM}]\\0"
VALUE "FileVersion", "#{fversion}\\0"
VALUE "Home Page", "http://www.ruby-lang.org/\\0"
VALUE "InternalName", "#{base + ext}\\0"