1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

matz - add/remove files

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2000-08-03 09:55:54 +00:00
parent 5222760bc4
commit 87be0f1222
14 changed files with 622 additions and 968 deletions

32
ext/configsub.rb Normal file
View file

@ -0,0 +1,32 @@
#!./miniruby -ps
BEGIN {
CONFIG = {}
VERSION.scan(/(\d+)\.(\d+)\.(\d+)/) do
# overridden if config.status has version
CONFIG['MAJOR'] = $1
CONFIG['MINOR'] = $2
CONFIG['TEENY'] = $3
end
File.foreach($config || "config.status") do |$_|
next if /^#/
if /^s%@(\w+)@%(.*)%g/
name = $1
val = $2 || ""
next if /^(INSTALL|DEFS|configure_input|srcdir)$/ =~ name
val.gsub!(/\$\{([^{}]+)\}/) { "$(#{$1})" }
CONFIG[name] = val
end
end
CONFIG['top_srcdir'] = File.expand_path($srcdir || ".")
CONFIG['RUBY_INSTALL_NAME'] = $install_name if $install_name
CONFIG['RUBY_SO_NAME'] = $so_name if $so_name
$defout = open($output, 'w') if $output
}
gsub!(/@(\w+)@/) {CONFIG[$1] || $&}
# vi:set sw=2:

View file

@ -1,41 +0,0 @@
#!./miniruby
def create_gsub_rb()
f = open("mswin32_gsub.rb", "w")
has_version = false
f.print 'f = open("extmk.rb", "w")', "\n"
f.print 'File.foreach "extmk.rb.in" do |$_|', "\n"
File.foreach "../config.status" do |$_|
next if /^#/
if /^s%@(\w+)@%(.*)%g/
name = $1
val = $2 || ""
next if name =~ /^(INSTALL|DEFS|configure_input|srcdir)$/
val = ".." if name == "top_srcdir"
val.gsub!(/\$\{([^{}]+)\}/) { "$(#{$1})" }
f.print " gsub!(\"@#{name}@\", \"#{val}\")\n"
has_version = true if name == "MAJOR"
end
end
if not has_version
VERSION.scan(/(\d+)\.(\d+)\.(\d+)/) {
f.print " gsub!(\"@MAJOR@\", \"#{$1}\")\n"
f.print " gsub!(\"@MINOR@\", \"#{$2}\")\n"
f.print " gsub!(\"@TEENY@\", \"#{$3}\")\n"
}
end
f.print ' f.print $_', "\n"
f.print 'end', "\n"
f.print 'f.close', "\n"
f.close
end
begin
create_gsub_rb()
load "mswin32_gsub.rb"
ensure
File.unlink "mswin32_gsub.rb"
end
# vi:set sw=2:

View file

@ -1,266 +0,0 @@
SHELL = $(COMPSEC)
#### Start of system configuration section. ####
srcdir = .
VPATH = .:./missing
CC = cl
YACC = byacc
PURIFY =
AUTOCONF = autoconf
prefix =
CFLAGS = -nologo -DNT=1 -Ox -I. -I./missing
LDFLAGS = $(CFLAGS) -Fm
#CFLAGS = -nologo -DNT=1 -Zi -I. -I./missing
#LDFLAGS = $(CFLAGS) -Fm
XLDFLAGS =
#EXTLIBS =
LIBS = user32.lib advapi32.lib wsock32.lib $(EXTLIBS)
MISSING = crypt.obj alloca.obj win32.obj isinf.obj isnan.obj
LDSHARED =
DLDFLAGS =
SOLIBS =
RUBY_INSTALL_NAME=ruby
EXEEXT = .exe
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
STACK = 0x2000000
ORGLIBPATH = $(LIB)
#### End of system configuration section. ####
LIBRUBY_A = libruby.lib
LIBRUBY_SO = rubymw.dll
LIBRUBY = $(LIBRUBY_SO)
LIBRUBYARG = rubymw.lib
EXTOBJS = dmyext.obj
MAINOBJ = main.obj
OBJS = array.obj \
bignum.obj \
class.obj \
compar.obj \
dir.obj \
dln.obj \
enum.obj \
error.obj \
eval.obj \
file.obj \
gc.obj \
hash.obj \
inits.obj \
io.obj \
marshal.obj \
math.obj \
numeric.obj \
object.obj \
pack.obj \
parse.obj \
prec.obj \
process.obj \
random.obj \
range.obj \
re.obj \
regex.obj \
ruby.obj \
signal.obj \
sprintf.obj \
st.obj \
string.obj \
struct.obj \
time.obj \
util.obj \
variable.obj \
version.obj \
$(MISSING)
all: miniruby$(EXEEXT) rbconfig.rb ext/extmk.rb ext/Setup rubymw.lib $(MISCLIBS)
set LIB=..\..\win32;$(ORGLIBPATH)
@.\miniruby$(EXEEXT) -Xext extmk.rb
ext/extmk.rb: ext/extmk.rb.in rbconfig.rb
@echo Creating ext/extmk.rb
@.\miniruby$(EXEEXT) -Xext mswin32_extmk.rb
miniruby$(EXEEXT): $(OBJS) $(MAINOBJ) $(EXTOBJS)
@echo $(EXTOBJS)
@echo $(LIBS)
$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(OBJS) $(LIBS) -o $@
$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(LIBRUBY_SO)
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) -o $@ $(LIBRUBYARG) -link /STACK:$(STACK)
$(LIBRUBY_A): $(OBJS) dmyext.obj
lib -nologo /OUT:$@ $(OBJS) dmyext.obj
rubymw.lib: ruby.def
lib -nologo /OUT:$@ /DEF:ruby.def
$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) ruby.def
set LIB=.\win32;$(ORGLIBPATH)
$(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $(LIBS) -o $@ -link /DLL /DEF:ruby.def
install: rbconfig.rb
.\miniruby.exe $(srcdir)/instruby.rb $(DESTDIR)
clean:; @rm -f $(OBJS) $(LIBRUBY_A) $(MAINOBJ) rbconfig.rb
@rm -f ext/extinit.c ext/extinit.obj ext/vc*.pdb *.obj
@-.\miniruby$(EXEEXT) -Xext extmk.rb clean
distclean: clean
@rm -f Makefile ext/extmk.rb config.h
@rm -f ext/config.cache config.cache config.log config.status
@rm -f *~ core *.core gmon.out y.tab.c y.output ruby.imp
@rm -f *.map *.pdb *.ilk rubymw.* ruby.def
@rm -f $(PROGRAM) miniruby$(EXEEXT)
realclean: distclean
@rm -f parse.c
@rm -f lex.c
test: miniruby$(EXEEXT)
@.\miniruby$(EXEEXT) $(srcdir)/rubytest.rb
rbconfig.rb: miniruby$(EXEEXT)
@.\miniruby$(EXEEXT) $(srcdir)/mkconfig.rb rbconfig.rb
config.status: $(srcdir)/configure
# $(SHELL) ./config.status --recheck
.c.obj:
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
parse.c: parse.y
$(YACC) $(YFLAGS) parse.y
sed -e "s!^extern char \*getenv();!/* & */!" y.tab.c > parse.c
@rm y.tab.c
alloca.obj: missing/alloca.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/alloca.c
crypt.obj: missing/crypt.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/crypt.c
dup2.obj: missing/dup2.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/dup2.c
finite.obj: missing/finite.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/finite.c
flock.obj: missing/flock.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/flock.c
isinf.obj: missing/isinf.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/isinf.c
isnan.obj: missing/isnan.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/isnan.c
memcmp.obj: missing/memcmp.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/memcmp.c
memmove.obj: missing/memmove.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/memmove.c
mkdir.obj: missing/mkdir.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/mkdir.c
vsnprintf.obj: missing/vsnprintf.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/vsnprintf.c
strcasecmp.obj: missing/strcasecmp.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strcasecmp.c
strncasecmp.obj: missing/strncasecmp.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strncasecmp.c
strchr.obj: missing/strchr.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strchr.c
strdup.obj: missing/strdup.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strdup.c
strerror.obj: missing/strerror.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strerror.c
strftime.obj: missing/strftime.c
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c missing/strftime.c
strstr.obj: missing/strstr.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strstr.c
strtod.obj: missing/strtod.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strtod.c
strtol.obj: missing/strtol.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strtol.c
strtoul.obj: missing/strtoul.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strtoul.c
nt.obj: missing/nt.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/nt.c
x68.obj: missing/x68.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/x68.c
os2.obj: missing/os2.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/os2.c
dl_os2.obj: missing/dl_os2.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/dl_os2.c
# when I use -I., there is confliction at "OpenFile"
# so, set . into environment varible "include"
win32.obj: win32/win32.c
@set include=$(INCLUDE);.
$(CC) $(CFLAGS) $(CPPFLAGS) -c win32/win32.c
# Prevent GNU make v3 from overflowing arg limit on SysV.
.NOEXPORT:
###
parse.obj: parse.y ruby.h config.h defines.h intern.h env.h node.h st.h regex.h util.h lex.c
###
array.obj: array.c ruby.h config.h defines.h intern.h
bignum.obj: bignum.c ruby.h config.h defines.h intern.h
class.obj: class.c ruby.h config.h defines.h intern.h node.h st.h
compar.obj: compar.c ruby.h config.h defines.h intern.h
dir.obj: dir.c ruby.h config.h defines.h intern.h
dln.obj: dln.c config.h defines.h dln.h
dmyext.obj: dmyext.c
enum.obj: enum.c ruby.h config.h defines.h intern.h
error.obj: error.c ruby.h config.h defines.h intern.h env.h
eval.obj: eval.c ruby.h config.h defines.h intern.h node.h env.h rubysig.h st.h dln.h
file.obj: file.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h
gc.obj: gc.c ruby.h config.h defines.h intern.h rubysig.h st.h node.h env.h re.h regex.h
hash.obj: hash.c ruby.h config.h defines.h intern.h st.h rubysig.h util.h
inits.obj: inits.c ruby.h config.h defines.h intern.h
io.obj: io.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h env.h
main.obj: main.c ruby.h config.h defines.h intern.h
marshal.obj: marshal.c ruby.h config.h defines.h intern.h rubyio.h st.h
prec.obj: prec.c ruby.h config.h defines.h intern.h
math.obj: math.c ruby.h config.h defines.h intern.h
numeric.obj: numeric.c ruby.h config.h defines.h intern.h
object.obj: object.c ruby.h config.h defines.h intern.h st.h
pack.obj: pack.c ruby.h config.h defines.h intern.h
process.obj: process.c ruby.h config.h defines.h intern.h rubysig.h st.h
random.obj: random.c ruby.h config.h defines.h intern.h
range.obj: range.c ruby.h config.h defines.h intern.h
re.obj: re.c ruby.h config.h defines.h intern.h re.h regex.h
regex.obj: regex.c config.h regex.h util.h
ruby.obj: ruby.c ruby.h config.h defines.h intern.h dln.h util.h
signal.obj: signal.c ruby.h config.h defines.h intern.h rubysig.h
sprintf.obj: sprintf.c ruby.h config.h defines.h intern.h
st.obj: st.c config.h st.h
string.obj: string.c ruby.h config.h defines.h intern.h re.h regex.h
struct.obj: struct.c ruby.h config.h defines.h intern.h
time.obj: time.c ruby.h config.h defines.h intern.h
util.obj: util.c ruby.h config.h defines.h intern.h util.h
variable.obj: variable.c ruby.h config.h defines.h intern.h env.h node.h st.h
version.obj: version.c ruby.h config.h defines.h intern.h version.h

277
win32/Makefile.sub Normal file
View file

@ -0,0 +1,277 @@
SHELL = $(COMPSEC)
#### Start of system configuration section. ####
## variables may be overridden by $(compile_dir)/Makefile
!ifndef srcdir
srcdir = ..
!endif
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = ruby
!endif
!if !defined(RUBYW_INSTALL_NAME) || "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
!endif
!if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w
!endif
!ifndef RUBY_SO_NAME
RUBY_SO_NAME = rubymw
!endif
###############
VPATH = $(srcdir):$(srcdir)/missing
CC = cl
YACC = byacc
PURIFY =
AUTOCONF = autoconf
prefix = /usr
CFLAGS = -nologo -DNT=1 -Zi -O2b2x -G5
CPPFLAGS = -I$(srcdir) -I$(srcdir)/missing
LDFLAGS = $(CFLAGS) -Fm
XLDFLAGS =
#EXTLIBS =
LIBS = user32.lib advapi32.lib wsock32.lib $(EXTLIBS)
MISSING = crypt.obj alloca.obj win32.obj isinf.obj isnan.obj
LDSHARED =
DLDFLAGS =
SOLIBS =
RFLAGS = -r
EXEEXT = .exe
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
RUBYDEF = $(RUBY_SO_NAME).def
STACK = 0x2000000
ORGLIBPATH = $(LIB)
#### End of system configuration section. ####
LIBRUBY_A = lib$(RUBY_INSTALL_NAME).lib
LIBRUBY_SO = $(RUBY_SO_NAME).dll
LIBRUBY = $(RUBY_SO_NAME).lib
LIBRUBYARG = $(LIBRUBY)
EXTOBJS = dmyext.obj
MAINOBJ = main.obj
WINMAINOBJ = winmain.obj
OBJS = array.obj \
bignum.obj \
class.obj \
compar.obj \
dir.obj \
dln.obj \
enum.obj \
error.obj \
eval.obj \
file.obj \
gc.obj \
hash.obj \
inits.obj \
io.obj \
marshal.obj \
math.obj \
numeric.obj \
object.obj \
pack.obj \
parse.obj \
prec.obj \
process.obj \
random.obj \
range.obj \
re.obj \
regex.obj \
ruby.obj \
signal.obj \
sprintf.obj \
st.obj \
string.obj \
struct.obj \
time.obj \
util.obj \
variable.obj \
version.obj \
$(MISSING)
all: miniruby$(EXEEXT) rbconfig.rb ext/extmk.rb \
$(LIBRUBY) $(MISCLIBS)
set LIB=../../win32;$(ORGLIBPATH)
@.\miniruby$(EXEEXT) -Xext extmk.rb
ruby: $(PROGRAM)
rubyw: $(WPROGRAM)
lib: $(LIBRUBY)
dll: $(LIBRUBY_SO)
ext/extmk.rb: $(srcdir)/ext/extmk.rb.in config.status
@echo Creating ext/extmk.rb
@.\miniruby$(EXEEXT) $(srcdir)/ext/configsub.rb \
-srcdir=$(srcdir) \
-install_name=$(RUBY_INSTALL_NAME) \
-so_name=$(RUBY_SO_NAME) \
-output=$@ $(srcdir)/ext/extmk.rb.in
miniruby$(EXEEXT): $(OBJS) $(MAINOBJ) $(EXTOBJS)
@echo $(EXTOBJS)
@echo $(LIBS)
$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(OBJS) $(LIBS) -o $@
$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $*.res
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $*.res \
-o $@ $(LIBRUBYARG) -link /STACK:$(STACK)
$(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $*.res
$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) $(WINMAINOBJ) $*.res \
-o $@ $(LIBRUBYARG) -link /STACK:$(STACK) /SUBSYSTEM:Windows
$(LIBRUBY_A): $(OBJS) dmyext.obj
lib -nologo /OUT:$@ $(OBJS) dmyext.obj
$(LIBRUBY): $(RUBYDEF)
lib -nologo /OUT:$@ /DEF:$(RUBYDEF)
$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) $(RUBYDEF) $@.res
set LIB=./win32;$(ORGLIBPATH)
$(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $@.res $(LIBS) \
-o $@ -link /DLL /DEF:$(RUBYDEF)
!if "$(LIBRUBY_SO)" != "rubymw.dll"
rubymw.dll: $(LIBRUBY)
$(CC) -nologo $(EXTOBJS) $(LIBRUBY) -o $@ -link /DLL /DEF:$(RUBYDEF)
!endif
$(RUBYDEF): $(LIBRUBY_A) miniruby$(EXEEXT)
.\miniruby$(EXEEXT) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A)
install: rbconfig.rb
.\miniruby.exe $(srcdir)/instruby.rb $(DESTDIR)
clean:; @rm -f $(OBJS) $(LIBRUBY_A) $(MAINOBJ) rbconfig.rb
@rm -f ext/extinit.c ext/extinit.obj ext/vc*.pdb *.obj *.res
@-.\miniruby$(EXEEXT) -Xext extmk.rb clean
distclean: clean
@rm -f Makefile ext/extmk.rb config.h
@rm -f ext/config.cache config.cache config.log config.status
@rm -f *~ core *.core gmon.out y.tab.c y.output ruby.imp
@rm -f *.map *.pdb *.ilk *.exp $(RUBYDEF)
@rm -f $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(LIBRUBY_SO).rc
@rm -f $(PROGRAM) $(WPROGRAM) $(LIBRUBY_SO) $(LIBRUBY) miniruby$(EXEEXT)
realclean: distclean
@rm -f parse.c
@rm -f lex.c
test: miniruby$(EXEEXT)
@.\miniruby$(EXEEXT) $(srcdir)/rubytest.rb
rbconfig.rb: miniruby$(EXEEXT) config.status
@.\miniruby$(EXEEXT) $(srcdir)/mkconfig.rb -srcdir=$(srcdir) \
-install_name=$(RUBY_INSTALL_NAME) \
-so_name=$(RUBY_SO_NAME) rbconfig.rb
$(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(LIBRUBY_SO).rc: rbconfig.rb
@.\miniruby$(EXEEXT) $(srcdir)/win32/resource.rb \
-ruby_name=$(RUBY_INSTALL_NAME) \
-rubyw_name=$(RUBYW_INSTALL_NAME) \
-so_name=$(LIBRUBY_SO) \
. $(icondirs) $(srcdir)/win32
#config.status: $(srcdir)/configure
# $(SHELL) ./config.status --recheck
.c.obj:
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
{$(srcdir)}.c{}.obj:
$(CC) -I. -I$(<D) $(CFLAGS) $(CPPFLAGS) -c $(<:/=\)
{$(srcdir)/missing}.c{}.obj:
$(CC) -I. -I$(<D) $(CFLAGS) $(CPPFLAGS) -c $(<:/=\)
{$(srcdir)/win32}.c{}.obj:
$(CC) -I. -I$(<D) $(CFLAGS) $(CPPFLAGS) -c $(<:/=\)
.rc.res:
$(RC) -I. -I$(<D) -I$(srcdir)/win32 $(RFLAGS) -fo$@ $<
parse.c: $(srcdir)/parse.y
$(YACC) $(YFLAGS) $(srcdir)/parse.y
sed -e "s!^extern char \*getenv();!/* & */!" y.tab.c > parse.c
@rm y.tab.c
alloca.obj: $(srcdir)/missing/alloca.c
crypt.obj: $(srcdir)/missing/crypt.c
dup2.obj: $(srcdir)/missing/dup2.c
finite.obj: $(srcdir)/missing/finite.c
flock.obj: $(srcdir)/missing/flock.c
isinf.obj: $(srcdir)/missing/isinf.c
isnan.obj: $(srcdir)/missing/isnan.c
memcmp.obj: $(srcdir)/missing/memcmp.c
memmove.obj: $(srcdir)/missing/memmove.c
mkdir.obj: $(srcdir)/missing/mkdir.c
vsnprintf.obj: $(srcdir)/missing/vsnprintf.c
strcasecmp.obj: $(srcdir)/missing/strcasecmp.c
strncasecmp.obj: $(srcdir)/missing/strncasecmp.c
strchr.obj: $(srcdir)/missing/strchr.c
strdup.obj: $(srcdir)/missing/strdup.c
strerror.obj: $(srcdir)/missing/strerror.c
strftime.obj: $(srcdir)/missing/strftime.c
strstr.obj: $(srcdir)/missing/strstr.c
strtod.obj: $(srcdir)/missing/strtod.c
strtol.obj: $(srcdir)/missing/strtol.c
strtoul.obj: $(srcdir)/missing/strtoul.c
nt.obj: $(srcdir)/missing/nt.c
x68.obj: $(srcdir)/missing/x68.c
os2.obj: $(srcdir)/missing/os2.c
dl_os2.obj: $(srcdir)/missing/dl_os2.c
# when I use -I., there is confliction at "OpenFile"
# so, set . into environment varible "include"
win32.obj: $(srcdir)/win32/win32.c
# Prevent GNU make v3 from overflowing arg limit on SysV.
.NOEXPORT:
###
parse.obj: $(srcdir)/parse.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/env.h $(srcdir)/node.h $(srcdir)/st.h $(srcdir)/regex.h $(srcdir)/util.h $(srcdir)/lex.c
###
array.obj: $(srcdir)/array.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
bignum.obj: $(srcdir)/bignum.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
class.obj: $(srcdir)/class.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/node.h $(srcdir)/st.h
compar.obj: $(srcdir)/compar.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
dir.obj: $(srcdir)/dir.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
dln.obj: $(srcdir)/dln.c config.h $(srcdir)/defines.h $(srcdir)/dln.h
dmyext.obj: $(srcdir)/dmyext.c
enum.obj: $(srcdir)/enum.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
error.obj: $(srcdir)/error.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/env.h
eval.obj: $(srcdir)/eval.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/node.h $(srcdir)/env.h $(srcdir)/rubysig.h $(srcdir)/st.h $(srcdir)/dln.h
file.obj: $(srcdir)/file.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/rubyio.h $(srcdir)/rubysig.h
gc.obj: $(srcdir)/gc.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/rubysig.h $(srcdir)/st.h $(srcdir)/node.h $(srcdir)/env.h $(srcdir)/re.h $(srcdir)/regex.h
hash.obj: $(srcdir)/hash.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/st.h $(srcdir)/rubysig.h $(srcdir)/util.h
inits.obj: $(srcdir)/inits.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
io.obj: $(srcdir)/io.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/rubyio.h $(srcdir)/rubysig.h $(srcdir)/env.h
main.obj: $(srcdir)/main.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
marshal.obj: $(srcdir)/marshal.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/rubyio.h $(srcdir)/st.h
prec.obj: $(srcdir)/prec.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
math.obj: $(srcdir)/math.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
numeric.obj: $(srcdir)/numeric.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
object.obj: $(srcdir)/object.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/st.h
pack.obj: $(srcdir)/pack.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
process.obj: $(srcdir)/process.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/rubysig.h $(srcdir)/st.h
random.obj: $(srcdir)/random.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
range.obj: $(srcdir)/range.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
re.obj: $(srcdir)/re.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/re.h $(srcdir)/regex.h
regex.obj: $(srcdir)/regex.c config.h $(srcdir)/regex.h $(srcdir)/util.h
ruby.obj: $(srcdir)/ruby.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/dln.h $(srcdir)/util.h
signal.obj: $(srcdir)/signal.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/rubysig.h
sprintf.obj: $(srcdir)/sprintf.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
st.obj: $(srcdir)/st.c config.h $(srcdir)/st.h
string.obj: $(srcdir)/string.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/re.h $(srcdir)/regex.h
struct.obj: $(srcdir)/struct.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
time.obj: $(srcdir)/time.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h
util.obj: $(srcdir)/util.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/util.h
variable.obj: $(srcdir)/variable.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/env.h $(srcdir)/node.h $(srcdir)/st.h
version.obj: $(srcdir)/version.c $(srcdir)/ruby.h config.h $(srcdir)/defines.h $(srcdir)/intern.h $(srcdir)/version.h

123
win32/README.win32 Normal file
View file

@ -0,0 +1,123 @@
=begin
= How to build ruby using Visual C++
== Requirement
(1) Visual C++ 4.0 or later.
(2) If you want to run `((%nmake clean%))' or `((%nmake distclean%))'
properly, you must install UNIX compatible `((%rm%))' command on
your ((|PATH|)).
(3) Please set environment variable (({INCLUDE})), (({LIB})), (({PATH}))
to run required commands properly from the command line.
Note: building ruby requires following commands.
* nmake
* cl
* lib
* dumpbin
* rm
== How to compile and install
(1) Execute win32\configure.bat on your build directory.
(2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile}))
if you want to change the name of the executable files.
And add ((|RUBYW_INSTALL_NAME|)) to change the name of the
executable without console window if also you want.
(3) Run `((%nmake%))'
(4) Run `((%nmake test%))'
(5) Run `((%nmake DESTDIR=<install_directory> install%))'
This command will create following directories and install files onto them.
* <install_directory>\bin
* <install_directory>\lib
* <install_directory>\lib\ruby
* <install_directory>\lib\ruby\<MAJOR>.<MINOR>
* <install_directory>\lib\ruby\<MAJOR>.<MINOR>\<PLATFORM>
* <install_directory>\lib\ruby\site_ruby
* <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>
* <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>\<PLATFORM>
* <install_directory>\man\man1
If Ruby's version is `x.y.z', the ((|<MAJOR>|)) is `x' and the ((|<MINOR>|)) is `y'.
The ((|<PLATFORM>|)) is usually `(({i586-mswin32}))'.
== Icons
Any icon files(*.ico) in the build directory, directories specified with
((|icondirs|)) make variable and (({win32})) directory under the ruby
source directory will be included in DLL or executable files, according
to their base names.
$(RUBY_INSTALL_NAME).ico or ruby.ico --> $(RUBY_INSTALL_NAME).exe
$(RUBYW_INSTALL_NAME).ico or rubyw.ico --> $(RUBYW_INSTALL_NAME).exe
the others --> $(RUBY_SO_NAME).dll
Although no icons are distributed with the ruby source or in the official
site, you can use anything you like. For example, followings are written
in Japanese, but you can download at least.
* ((<URL:http://member.nifty.ne.jp/ueivu/rubyico.html>)) or
((<zipped icons|URL:http://member.nifty.ne.jp/ueivu/Ruby_ico.zip>))
* ((<URL:http://homepage1.nifty.com/a_nakata/ruby/>)) or
((<icon itself|URL:http://homepage1.nifty.com/a_nakata/ruby/RubyIcon.ico>))
== Build examples
* Build on the ruby source directory.
ex.)
ruby source directory: C:\ruby
build directory: C:\ruby
install directory: C:\usr\local
C:
cd \ruby
win32\configure
nmake
nmake test
nmake DESTDIR=/usr/local install
* Build on the relative directory from the ruby source directory.
ex.)
ruby source directory: C:\ruby
build directory: C:\ruby\mswin32
install directory: C:\usr\local
C:
cd \ruby
mkdir mswin32
cd mswin32
..\win32\configure
nmake
nmake test
nmake DESTDIR=/usr/local install
* Build on the different drive.
ex.)
ruby source directory: C:\src\ruby
build directory: D:\build\ruby
install directory: C:\usr\local
D:
cd D:\build\ruby
C:\src\ruby\win32\configure
nmake
nmake test
nmake DESTDIR=C:/usr/local install
== Bugs
You can ((*NOT*)) use a path name contains any white space characters as
the ruby source directory, this restriction comes from the behavior of
(({!INCLUDE})) directives of (({NMAKE})).
((- you may call it a bug. -))
=end

View file

@ -40,12 +40,12 @@
#define FILE_COUNT _cnt #define FILE_COUNT _cnt
#define DLEXT ".so" #define DLEXT ".so"
#define DLEXT2 ".dll" #define DLEXT2 ".dll"
#define RUBY_LIB "/usr/local/lib/ruby/1.5" #define RUBY_LIB "/lib/ruby/1.5"
#define RUBY_SITE_LIB "/usr/local/lib/ruby/site_ruby" #define RUBY_SITE_LIB "/lib/ruby/site_ruby"
#define RUBY_SITE_LIB2 "/usr/local/lib/ruby/site_ruby/1.5" #define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/1.5"
#define RUBY_PLATFORM "i386-mswin32" #define RUBY_PLATFORM "i586-mswin32"
#define RUBY_ARCHLIB "/usr/local/lib/ruby/1.5/i386-mswin32" #define RUBY_ARCHLIB "/lib/ruby/1.5/i586-mswin32"
#define RUBY_SITE_ARCHLIB "/usr/local/lib/ruby/site_ruby/1.5/i386-mswin32" #define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/1.5/i586-mswin32"
#define SIZEOF_INT 4 #define SIZEOF_INT 4
#define SIZEOF_SHORT 2 #define SIZEOF_SHORT 2

View file

@ -1,15 +1,14 @@
ac_given_srcdir=.
s%@SHELL@%%g s%@SHELL@%%g
s%@CFLAGS@%-nologo -DNT=1 -Ox%g s%@CFLAGS@%-nologo -DNT=1 -Zi -O2b2x -G5%g
s%@CPPFLAGS@%%g s%@CPPFLAGS@%%g
s%@CXXFLAGS@%%g s%@CXXFLAGS@%%g
s%@FFLAGS@%%g s%@FFLAGS@%%g
s%@DEFS@% s%@DEFS@%
-DUSE_THREAD -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=4 -DSIZEOF_VOIDP=4 -DSIZEOF_FLOAT=4 -DSIZEOF_DOUBLE=8 -DHAVE_PROTOTYPES=1 -DHAVE_STDARG_PROTOTYPES=1 -DHAVE_STDLIB_H=1 -DHAVE_LIMITS_H=1 -DHAVE_FCNTL_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ST_RDEV=1 -DGETGROUPS_T=int -DRETSIGTYPE=void -DHAVE_ALLOCA=1 -DHAVE_FMOD=1 -DHAVE_WAITPID=1 -DHAVE_GETCWD=1 -DHAVE_CHSIZE=1 -DHAVE_GETGROUPS=1 -DHAVE_GETLOGIN=1 -DRSHIFT=\(x,y\)\ \(\(x\)\>\>y\) -DFILE_COUNT=_cnt -DDLEXT=\".so\" -DDLEXT2=\".dll\" -DRUBY_PLATFORM=\"i386-mswin32\" %g -DUSE_THREAD -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=4 -DSIZEOF_VOIDP=4 -DSIZEOF_FLOAT=4 -DSIZEOF_DOUBLE=8 -DHAVE_PROTOTYPES=1 -DHAVE_STDARG_PROTOTYPES=1 -DHAVE_STDLIB_H=1 -DHAVE_LIMITS_H=1 -DHAVE_FCNTL_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ST_RDEV=1 -DGETGROUPS_T=int -DRETSIGTYPE=void -DHAVE_ALLOCA=1 -DHAVE_FMOD=1 -DHAVE_WAITPID=1 -DHAVE_GETCWD=1 -DHAVE_CHSIZE=1 -DHAVE_GETGROUPS=1 -DHAVE_GETLOGIN=1 -DRSHIFT=\(x,y\)\ \(\(x\)\>\>y\) -DFILE_COUNT=_cnt -DDLEXT=\".so\" -DDLEXT2=\".dll\" -DRUBY_PLATFORM=\"i586-mswin32\" %g
s%@LDFLAGS@%-nologo -Ox%g s%@LDFLAGS@%-nologo -Ox%g
s%@LIBS@%user32.lib advapi32.lib wsock32.lib%g s%@LIBS@%user32.lib advapi32.lib wsock32.lib%g
s%@exec_prefix@%${prefix}%g s%@exec_prefix@%${prefix}%g
s%@prefix@%/usr/local%g s%@prefix@%%g
s%@program_transform_name@%s,x,x,%g s%@program_transform_name@%s,x,x,%g
s%@bindir@%${exec_prefix}/bin%g s%@bindir@%${exec_prefix}/bin%g
s%@sbindir@%${exec_prefix}/sbin%g s%@sbindir@%${exec_prefix}/sbin%g
@ -23,9 +22,9 @@ s%@includedir@%${prefix}/include%g
s%@oldincludedir@%/usr/include%g s%@oldincludedir@%/usr/include%g
s%@infodir@%${prefix}/info%g s%@infodir@%${prefix}/info%g
s%@mandir@%${prefix}/man%g s%@mandir@%${prefix}/man%g
s%@host@%i386-pc-mswin32%g s%@host@%i586-pc-mswin32%g
s%@host_alias@%i386-mswin32%g s%@host_alias@%i586-mswin32%g
s%@host_cpu@%i386%g s%@host_cpu@%i586%g
s%@host_vendor@%pc%g s%@host_vendor@%pc%g
s%@host_os@%mswin32%g s%@host_os@%mswin32%g
s%@CC@%cl%g s%@CC@%cl%g
@ -53,14 +52,15 @@ s%@setup@%Setup%g
s%@LIBRUBY_LDSHARED@%%g s%@LIBRUBY_LDSHARED@%%g
s%@LIBRUBY_DLDFLAGS@%%g s%@LIBRUBY_DLDFLAGS@%%g
s%@RUBY_INSTALL_NAME@%ruby%g s%@RUBY_INSTALL_NAME@%ruby%g
s%@RUBY_SO_NAME@%ruby.mswin32%g
s%@LIBRUBY_A@%lib$(RUBY_INSTALL_NAME).lib%g s%@LIBRUBY_A@%lib$(RUBY_INSTALL_NAME).lib%g
s%@LIBRUBY_SO@%%g s%@LIBRUBY_SO@%%g
s%@LIBRUBY_ALIASES@%%g s%@LIBRUBY_ALIASES@%%g
s%@LIBRUBY@%libruby.lib%g s%@LIBRUBY@%$(RUBY_SO_NAME).lib%g
s%@LIBRUBYARG@%$(topdir)/rubymw.lib%g s%@LIBRUBYARG@%$(topdir)/$(RUBY_SO_NAME).lib%g
s%@SOLIBS@%%g s%@SOLIBS@%%g
s%@DLDLIBS@%%g s%@DLDLIBS@%%g
s%@arch@%i386-mswin32%g s%@arch@%i586-mswin32%g
s%@sitedir@%${prefix}/lib/ruby/site_ruby%g s%@sitedir@%${prefix}/lib/ruby/site_ruby%g
s%@configure_args@%--with-make-prog=nmake%g s%@configure_args@%--with-make-prog=nmake%g
s%@configure_input@%$configure_input%g s%@configure_input@%$configure_input%g

13
win32/configure.bat Executable file
View file

@ -0,0 +1,13 @@
@echo off
::: Don't set environment variable in batch file other than autoexec.bat
::: to avoid "Out of environment space" problem on Windows 95/98.
::: set TMPMAKE=~tmp~.mak
echo> ~tmp~.mak ####
echo>> ~tmp~.mak conf = %0
echo>> ~tmp~.mak $(conf:\=/): nul
echo>> ~tmp~.mak @del ~tmp~.mak
echo>> ~tmp~.mak @-$(MAKE) -l$(MAKEFLAGS) -f $(@D)/setup.mak \
if not "%1" == "" echo>> ~tmp~.mak srcdir="%1" \
echo>> ~tmp~.mak WIN32DIR=$(@D)
nmake -alf ~tmp~.mak

30
win32/mkexports.rb Normal file
View file

@ -0,0 +1,30 @@
#!./miniruby -s
SYM = {}
objs = ARGV.collect {|s| s.tr('/', '\\')}
IO.foreach("|dumpbin -symbols " + objs.join(' ')) do |l|
next if /^[0-9A-F]+ 0+ UNDEF / =~ l
next unless l.sub!(/.*\sExternal\s+\|\s+/, '')
if l.sub!(/^_/, '')
next if /@.*@/ =~ l
elsif !l.sub!(/^(\S+) \([^@?]*\)$/, '\1')
next
end
SYM[l.strip] = true
end
exports = []
if $name
exports << "Name " + $name
elsif $library
exports << "Library " + $library
end
exports << "Description " + $description.dump if $description
exports << "EXPORTS" << SYM.keys.sort
if $output
open($output, 'w') {|f| f.puts exports}
else
puts exports
end

View file

@ -1,8 +0,0 @@
@echo off
copy config.h ..
copy Makefile ..
copy ruby.def ..
copy config.status ..
cd ..
echo type `nmake' to make ruby for mswin32.

94
win32/resource.rb Normal file
View file

@ -0,0 +1,94 @@
#!./miniruby -sI.
require 'rbconfig'
CONFIG = Config::MAKEFILE_CONFIG
fversion = "#{CONFIG['MAJOR']},#{CONFIG['MINOR']},#{CONFIG['TEENY']},0"
$ruby_name ||= CONFIG["RUBY_INSTALL_NAME"]
$rubyw_name ||= CONFIG["RUBYW_INSTALL_NAME"] || $ruby_name.sub(/ruby/, '\&w')
$so_name ||= CONFIG["RUBY_SO_NAME"]
icons = {}
def icons.find(path)
if File.directory?(path)
Dir.open(File.expand_path(path)) do |d|
d.grep(/\.ico$/i) {|i| self[$`] = i}
end
else
self[File.basename(path, '.ico')] = path
end
self
end
if ARGV.empty?
icons.find('.')
else
ARGV.each {|i| icons.find(i)}
end
ruby_icon = rubyw_icon = nil
[$ruby_name, 'ruby'].each do |i|
if i = icons.delete(i)
ruby_icon = "1 ICON DISCARDABLE "+i.dump+"\n"
break
end
end
[$rubyw_name, 'rubyw'].each do |i|
if i = icons.delete(i)
rubyw_icon = "1 ICON DISCARDABLE "+i.dump+"\n"
break
end
end
dll_icons = []
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],
[$so_name, '.'+CONFIG["DLEXT2"], 'VFT_DLL', dll_icons],
].each do |base, ext, type, icons|
open(base + '.rc', "w") { |f|
f.binmode if /mingw/ =~ RUBY_PLATFORM
f.print <<EOF
#include <windows.h>
#{icons}
VS_VERSION_INFO VERSIONINFO
FILEVERSION #{fversion}
PRODUCTVERSION #{fversion}
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS VOS__WINDOWS32
FILETYPE #{type}
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "FileDescription", "Ruby interpreter\\0"
VALUE "FileVersion", "#{fversion}\\0"
VALUE "Home Page", "http://www.ruby-lang.org/\\0"
VALUE "InternalName", "#{base + ext}\\0"
VALUE "LegalCopyright", "Copyright (C) 1993-2000 Yukihiro Matsumoto\\0"
VALUE "OriginalFilename", "#{base + ext}\\0"
VALUE "Platform", "#{RUBY_PLATFORM}\\0"
VALUE "ProductVersion", "#{fversion}\\0"
VALUE "Release Date", "#{RUBY_RELEASE_DATE}\\0"
VALUE "Version", "#{RUBY_VERSION}\\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0, 0x4b0
END
END
EOF
}
end

View file

@ -1,637 +0,0 @@
LIBRARY rubymw.dll
DESCRIPTION 'win32 rubymw.dll'
EXPORTS
;;global objects
;array.c
rb_cArray
;bignum.c
rb_cBignum
;compar.c
rb_mComparable
;dir.c
rb_cDir
;enum.c
rb_mEnumerable
;error.c
rb_eException
rb_eSystemExit
rb_eInterrupt
rb_eSignal
rb_eFatal
rb_eStandardError
rb_eRuntimeError
rb_eSyntaxError
rb_eTypeError
rb_eArgError
rb_eNameError
rb_eIndexError
rb_eRangeError
rb_eLoadError
rb_eSecurityError
rb_eNotImpError
rb_eSystemCallError
rb_eZeroDivError
rb_mErrno
ruby_nerrs
;eval.c
rb_cProc
ruby_safe_level
ruby_errinfo
ruby_frame
rb_cThread
rb_thread_tick
rb_thread_critical
;file.c
rb_cFile
rb_mFileTest
;gc.c
rb_mGC
;hash.c
rb_cHash
;io.c
rb_cIO
rb_eEOFError
rb_eIOError
rb_stdin
rb_stdout
rb_stderr
rb_defout
rb_output_fs
rb_rs
rb_output_rs
rb_default_rs
;math.c
rb_mMath
;numeric.c
rb_cNumeric
rb_cFloat
rb_cInteger
rb_cFixnum
rb_eFloatDomainError
;object.c
rb_mKernel
rb_cObject
rb_cModule
rb_cClass
rb_cData
rb_cNilClass
rb_cTrueClass
rb_cFalseClass
rb_cSymbol
;parse.c
ruby_sourcefile
ruby_sourceline
;prec.c
rb_mPrecision
;process.c
rb_mProcess
;range.c
rb_cRange
;re.c
ruby_ignorecase
rb_cRegexp
;regex.c
re_mbctab
;ruby.c
ruby_debug
ruby_verbose
rb_progname
rb_argv
rb_argv0
;signal.c
rb_trap_pending
rb_trap_immediate
rb_prohibit_interrupt
;string.c
rb_cString
rb_cStruct
;time.c
rb_cTime
;;procedures/methods
;missing/alloca.c
alloca
;missing/crypt.c
definekey
encrypt
crypt
;missing/isinf.c
isinf
;missing/isnan.c
isnan
;win32/win32.c
NtInitialize
myfdopen
myfdclose
myaccept
mybind
myfdclr
myconnect
myfdset
myfdisset
myselect
mygetpeername
mygetsockname
mygetsockopt
myioctlsocket
mylisten
myrecv
myrecvfrom
mysend
mysendto
mysetsockopt
myshutdown
mysocket
mygethostbyaddr
mygethostbyname
mygethostname
mygetprotobyname
mygetprotobynumber
mygetservbyname
mygetservbyport
myget_osfhandle
win32_getcwd
win32_getenv
;array.c
rb_mem_clear
rb_ary_freeze
rb_ary_new
rb_ary_new2
rb_ary_new3
rb_ary_new4
rb_assoc_new
rb_ary_store
rb_ary_push
rb_ary_pop
rb_ary_shift
rb_ary_unshift
rb_ary_entry
rb_ary_aref
rb_ary_each
rb_ary_join
rb_ary_to_s
rb_protect_inspect
rb_inspecting_p
rb_ary_reverse
rb_ary_sort_bang
rb_ary_sort
rb_ary_delete
rb_ary_delete_at
rb_ary_plus
rb_ary_concat
rb_ary_assoc
rb_ary_rassoc
rb_ary_includes
;bignum.c
rb_big_clone
rb_big_2comp
rb_big_norm
rb_uint2big
rb_int2big
rb_uint2inum
rb_int2inum
rb_cstr2inum
rb_str2inum
rb_big2str
rb_big2ulong
rb_big2long
rb_dbl2big
rb_big2dbl
rb_big_plus
rb_big_minus
rb_big_mul
rb_big_divmod
rb_big_pow
rb_big_and
rb_big_or
rb_big_xor
rb_big_lshift
rb_big_rand
;class.c
rb_class_new
rb_singleton_class_new
rb_singleton_class_clone
rb_singleton_class_attached
rb_define_class_id
rb_define_class
rb_define_class_under
rb_module_new
rb_define_module_id
rb_define_module
rb_define_module_under
rb_include_module
rb_mod_included_modules
rb_mod_ancestors
rb_class_instance_methods
rb_class_protected_instance_methods
rb_class_private_instance_methods
rb_obj_singleton_methods
rb_define_method_id
rb_define_method
rb_define_protected_method
rb_define_private_method
rb_undef_method
rb_singleton_class
rb_define_singleton_method
rb_define_module_function
rb_define_global_function
rb_define_alias
rb_define_attr
rb_scan_args
;dir.c
rb_glob
;dln.c
dln_load
dln_find_exe
dln_find_file
;enum.c
rb_each
;error.c
rb_compile_error
rb_compile_error_append
rb_warn
rb_warning
rb_bug
rb_check_type
rb_exc_new
rb_exc_new2
rb_exc_new3
rb_raise
rb_loaderror
rb_notimplement
rb_fatal
rb_sys_fail
;eval.c
rb_clear_cache
rb_add_method
rb_alias
rb_remove_method
rb_disable_super
rb_enable_super
rb_method_boundp
rb_attr
rb_dvar_defined
rb_dvar_curr
rb_dvar_ref
rb_dvar_push
rb_set_safe_level
rb_check_safe_str
rb_secure
ruby_init
ruby_options
ruby_run
rb_eval_string
rb_eval_string_protect
rb_eval_string_wrap
rb_eval_cmd
rb_respond_to
rb_exit
rb_iter_break
rb_exc_raise
rb_exc_fatal
rb_interrupt
rb_jump_tag
rb_block_given_p
rb_iterator_p
rb_yield
rb_iterate
rb_rescue
rb_rescue2
rb_protect
rb_ensure
rb_with_disable_interrupt
rb_apply
rb_funcall
rb_funcall2
rb_funcall3
rb_call_super
rb_backtrace
rb_frame_last_func
rb_obj_instance_eval
rb_load
rb_load_protect
rb_provide
rb_f_require
rb_require
rb_obj_call_init
rb_class_new_instance
rb_extend_object
rb_set_end_proc
rb_exec_end_proc
rb_f_lambda
rb_gc_mark_threads
rb_thread_fd_close
rb_thread_schedule
rb_thread_wait_fd
rb_thread_fd_writable
rb_thread_wait_for
rb_thread_alone
rb_thread_select
rb_thread_current
rb_thread_main
rb_thread_wakeup
rb_thread_run
rb_thread_stop
rb_thread_polling
rb_thread_sleep
rb_thread_sleep_forever
rb_thread_create
rb_thread_scope_shared_p
rb_thread_interrupt
rb_thread_signal_raise
rb_thread_trap_eval
rb_thread_local_aref
rb_thread_local_aset
rb_catch
rb_throw
;file.c
eaccess
rb_file_s_expand_path
rb_file_const
rb_find_file
rb_path_check
;gc.c
ruby_xmalloc
ruby_xcalloc
ruby_xrealloc
ruby_xfree
rb_global_variable
rb_newobj
rb_data_object_alloc
rb_gc_mark_locations
rb_mark_tbl
rb_mark_hash
rb_gc_mark_maybe
rb_gc_mark
rb_gc_force_recycle
rb_gc_mark_frame
rb_gc
rb_gc_call_finalizer_at_exit
xmalloc
xcalloc
xrealloc
xfree
;hash.c
rb_hash_freeze
rb_hash
rb_hash_new
rb_hash_aref
rb_hash_aset
rb_hash_delete_if
rb_path_check
rb_env_path_tainted
ruby_setenv
ruby_unsetenv
;inits.c
rb_call_inits
;io.c
rb_eof_error
rb_io_check_closed
rb_io_check_readable
rb_io_check_writable
rb_read_pending
rb_read_check
rb_io_write
rb_io_eof
rb_io_gets
rb_io_getc
rb_getc
rb_io_ungetc
rb_io_fptr_finalize
rb_io_close
rb_io_close_read
rb_io_binmode
rb_io_mode_flags
rb_fopen
rb_fdopen
rb_file_open
rb_file_sysopen
rb_io_synchronized
rb_p
rb_gets
rb_str_setter
;numeric.c
rb_num_zerodiv
rb_num_coerce_bin
rb_float_new
rb_num2long
rb_num2ulong
rb_num2int
rb_fix2int
rb_num2fix
rb_fix2str
rb_fix_upto
;object.c
rb_equal
rb_eql
rb_obj_id
rb_obj_clone
rb_obj_dup
rb_any_to_s
rb_inspect
rb_obj_is_instance_of
rb_obj_is_kind_of
rb_obj_tainted
rb_obj_taint
rb_obj_untaint
rb_obj_alloc
rb_to_id
rb_convert_type
rb_Integer
rb_Float
rb_num2dbl
rb_str2cstr
rb_String
rb_Array
;parse.c
rb_compile_string
rb_compile_cstr
rb_compile_file
rb_node_newnode
rb_id_attrset
rb_parser_append_print
rb_parser_while_loop
rb_intern
rb_id2name
rb_is_const_id
rb_is_instance_id
rb_backref_get
rb_backref_set
rb_lastline_get
rb_lastline_set
;process.c
rb_proc_exec
rb_syswait
;range.c
rb_range_new
rb_range_beg_len
;re.c
rb_memcmp
rb_reg_mbclen2
rb_match_busy
rb_reg_adjust_startpos
rb_reg_search
rb_reg_nth_defined
rb_reg_nth_match
rb_reg_last_match
rb_reg_match_pre
rb_reg_match_post
rb_reg_match_last
rb_reg_new
rb_reg_regcomp
rb_reg_match
rb_reg_match2
rb_kcode
rb_reg_options
rb_reg_regsub
rb_get_kcode
rb_set_kcode
;regex.c
ruby_re_set_casetable
ruby_re_compile_pattern
ruby_re_free_pattern
ruby_re_compile_fastmap
ruby_re_adjust_startpos
ruby_re_search
ruby_re_match
ruby_re_copy_registers
ruby_re_free_registers
ruby_re_mbcinit
;ruby.c
rb_load_file
ruby_script
ruby_prog_init
ruby_set_argv
ruby_process_options
ruby_load_script
ruby_init_loadpath
ruby_incpush
;signal.c
rb_f_kill
rb_gc_mark_trap_list
rb_trap_exit
rb_trap_exec
rb_trap_restore_mask
;sprintf.c
rb_f_sprintf
;st.c
st_init_table_with_size
st_init_table
st_init_numtable
st_init_numtable_with_size
st_init_strtable
st_init_strtable_with_size
st_free_table
st_lookup
st_insert
st_add_direct
st_copy
st_delete
st_delete_safe
st_cleanup_safe
st_foreach
;string.c
rb_str_new
rb_str_new2
rb_tainted_str_new
rb_tainted_str_new2
rb_str_new3
rb_str_new4
rb_str_to_str
rb_str_associate
rb_obj_as_string
rb_str_dup
rb_str_plus
rb_str_times
rb_str_substr
rb_str_modify
rb_str_freeze
rb_str_dup_frozen
rb_str_resize
rb_str_cat
rb_str_cat2
rb_str_append
rb_str_concat
rb_str_hash
rb_str_cmp
rb_str_upto
rb_str_inspect
rb_str_split
;struct.c
rb_struct_getmember
rb_struct_define
rb_struct_alloc
rb_struct_new
rb_struct_aref
rb_struct_aset
;time.c
rb_time_new
rb_time_interval
rb_time_timeval
;util.c
rb_class_of
rb_type
rb_special_const_p
ruby_scan_oct
ruby_scan_hex
ruby_add_suffix
ruby_qsort
;variable.c
rb_mod_name
rb_class_path
rb_set_class_path
rb_path2class
rb_name_class
rb_autoload
rb_f_autoload
rb_class2name
rb_global_entry
rb_gc_mark_global_tbl
rb_define_hooked_variable
rb_define_variable
rb_define_readonly_variable
rb_define_virtual_variable
rb_f_trace_var
rb_f_untrace_var
rb_gvar_get
rb_gvar_set
rb_gv_set
rb_gv_get
rb_gvar_defined
rb_f_global_variables
rb_alias_variable
rb_mark_generic_ivar
rb_mark_generic_ivar_tbl
rb_free_generic_ivar
rb_clone_generic_ivar
rb_ivar_get
rb_ivar_set
rb_ivar_defined
rb_obj_instance_variables
rb_obj_remove_instance_variable
rb_const_get_at
rb_autoload_load
rb_const_get
rb_mod_remove_const
rb_mod_const_at
rb_mod_const_of
rb_mod_constants
rb_const_defined_at
rb_autoload_defined
rb_const_defined
rb_const_set
rb_const_assign
rb_define_const
rb_define_global_const
rb_cvar_declare
rb_cvar_set
rb_cvar_get
rb_cvar_defined
rb_cv_set
rb_cv_get
rb_define_class_variable
rb_iv_get
rb_iv_set
;version.c
ruby_show_version
ruby_show_copyright

27
win32/setup.mak Normal file
View file

@ -0,0 +1,27 @@
# -*- makefile -*-
!IF "$(WIN32DIR)" == "win32"
srcdir = .
!ELSEIF "$(WIN32DIR)" == "$(WIN32DIR:/win32=)/win32"
srcdir = $(WIN32DIR:/win32=)
!ELSE
srcdir = $(WIN32DIR)/..
!ENDIF
OS = mswin32
all: config.h config.status
all: ext
all: Makefile
all:; @echo type `nmake' to make ruby for mswin32.
Makefile:
@echo> $@ ### makefile for ruby $(OS) ###
@echo>> $@ srcdir = $(srcdir:\=/)
@echo>> $@ RUBY_INSTALL_NAME = ruby
@echo>> $@ RUBY_SO_NAME = $$(RUBY_INSTALL_NAME).$(OS)
@echo>> $@ !INCLUDE $$(srcdir)/win32/Makefile.sub
config.h config.status: $(srcdir)/win32/$$@.in
@copy $(srcdir:/=\)\win32\$@.in $@ > nul
ext:; @if not exist $@\* mkdir $@

10
win32/winmain.c Normal file
View file

@ -0,0 +1,10 @@
#include <windows.h>
#include <stdio.h>
extern int main(int, char**, char**);
int WINAPI
WinMain(HINSTANCE current, HINSTANCE prev, LPSTR cmdline, int showcmd)
{
return main(0, NULL, NULL);
}