зеркало из https://github.com/github/ruby.git
* 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: only file which has more than one icon is DLL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
82f7f29c59
Коммит
f594f850a4
|
@ -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: only file which has more than one icon is DLL.
|
||||
|
||||
Fri Sep 8 16:53:30 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* string.c (str_alloc): should allocate a String object, even when
|
||||
|
|
|
@ -33,8 +33,8 @@ RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
|
|||
|
||||
empty =
|
||||
OUTFLAG = @OUTFLAG@$(empty)
|
||||
CFLAGS = @CFLAGS@ @XCFLAGS@ @ARCH_FLAG@
|
||||
XCFLAGS = -I. -I$(srcdir)
|
||||
CFLAGS = @CFLAGS@ @ARCH_FLAG@
|
||||
XCFLAGS = -I. -I$(srcdir) @XCFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
|
||||
EXTLDFLAGS =
|
||||
|
@ -53,7 +53,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. ####
|
||||
|
|
39
ext/extmk.rb
39
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
|
||||
|
@ -155,7 +165,7 @@ def extmake(target)
|
|||
ok = yield(ok) if block_given?
|
||||
unless ok
|
||||
open(makefile, "w") do |f|
|
||||
f.print *dummy_makefile(CONFIG["srcdir"])
|
||||
f.print(*dummy_makefile(CONFIG["srcdir"]))
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
@ -420,9 +430,13 @@ if $ignore
|
|||
exit
|
||||
end
|
||||
|
||||
if $extlist.size > 0
|
||||
$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}
|
||||
|
@ -464,7 +485,7 @@ void Init_ext() {\n\tchar* src;\n#$extinit}
|
|||
].map {|n, v|
|
||||
"#{n}=#{v}" if v and !(v = v.strip).empty?
|
||||
}.compact
|
||||
puts conf
|
||||
puts(*conf)
|
||||
$stdout.flush
|
||||
$mflags.concat(conf)
|
||||
else
|
||||
|
|
|
@ -1172,6 +1172,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
|
||||
|
@ -1205,7 +1206,7 @@ def create_makefile(target, srcprefix = nil)
|
|||
dllib = target ? "$(TARGET).#{CONFIG['DLEXT']}" : ""
|
||||
staticlib = target ? "$(TARGET).#$LIBEXT" : ""
|
||||
mfile = open("Makefile", "wb")
|
||||
mfile.print *configuration(srcprefix)
|
||||
mfile.print(*configuration(srcprefix))
|
||||
mfile.print %{
|
||||
libpath = #{$LIBPATH.join(" ")}
|
||||
LIBPATH = #{libpath}
|
||||
|
@ -1390,7 +1391,7 @@ site-install-rb: install-rb
|
|||
unless suffixes.empty?
|
||||
mfile.print ".SUFFIXES: .", suffixes.uniq.join(" ."), "\n\n"
|
||||
end
|
||||
mfile.print *depout.flatten
|
||||
mfile.print(*depout.flatten)
|
||||
else
|
||||
headers = %w[ruby.h defines.h]
|
||||
if RULE_SUBST
|
||||
|
|
|
@ -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
|
||||
|
@ -106,8 +106,8 @@ if $so_name
|
|||
v_fast << " CONFIG[\"RUBY_SO_NAME\"] = \"" + $so_name + "\"\n"
|
||||
end
|
||||
|
||||
print *v_fast
|
||||
print *v_others
|
||||
print(*v_fast)
|
||||
print(*v_others)
|
||||
print <<EOS
|
||||
CONFIG["ruby_version"] = "$(MAJOR).$(MINOR)"
|
||||
CONFIG["rubylibdir"] = "$(libdir)/ruby/$(ruby_version)"
|
||||
|
|
|
@ -166,7 +166,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)
|
||||
|
@ -211,9 +211,6 @@ config.status: $(CONFIG_H)
|
|||
|
||||
$(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub
|
||||
@echo Creating config.h
|
||||
!if exist(config.h)
|
||||
@copy config.h config.h.old > nul
|
||||
!endif
|
||||
@$(COMSPEC) /C $(srcdir:/=\)\win32\ifchange.bat config.h <<
|
||||
#if _MSC_VER != $(MSC_VER)
|
||||
#error MSC version unmatch
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#!./miniruby -s
|
||||
|
||||
$name = $library = $description = nil
|
||||
|
||||
module RbConfig
|
||||
autoload :CONFIG, "rbconfig"
|
||||
end
|
||||
|
@ -130,5 +132,5 @@ end
|
|||
|
||||
END {
|
||||
exports = Exports.extract(ARGV)
|
||||
Exports.output {|f| f.puts exports}
|
||||
Exports.output {|f| f.puts(*exports)}
|
||||
}
|
||||
|
|
|
@ -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 = []
|
||||
|
@ -49,7 +47,7 @@ end
|
|||
[ # 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],
|
||||
[$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.join : ''}
|
||||
#{icons || ''}
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION #{fversion}
|
||||
PRODUCTVERSION #{fversion}
|
||||
|
|
Загрузка…
Ссылка в новой задаче