* win32/Makefile.sub (miniruby): shouldn't link $(EXTOBJS).

* win32/Makefile.sub ($(LIBRUBY_A), $(LIBRUBY)): avoid lib.exe's
  warning.

* win32/Makefile.sub: remove unnecessary rules.

* win32/configure.bat, win32/setup.mak, win32/README.win32: enable to
  pass some arguments to configure.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2002-09-10 08:24:11 +00:00
Родитель b3a426e70a
Коммит a3faa7e2e2
5 изменённых файлов: 108 добавлений и 59 удалений

Просмотреть файл

@ -1,3 +1,15 @@
Tue Sep 10 17:16:14 2002 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/Makefile.sub (miniruby): shouldn't link $(EXTOBJS).
* win32/Makefile.sub ($(LIBRUBY_A), $(LIBRUBY)): avoid lib.exe's
warning.
* win32/Makefile.sub: remove unnecessary rules.
* win32/configure.bat, win32/setup.mak, win32/README.win32: enable to
pass some arguments to configure.
Mon Sep 9 23:43:33 2002 WATANABE Hirofumi <eban@ruby-lang.org>
* win32/win32.h (S_I?USR): define only if not mingw32.

Просмотреть файл

@ -15,9 +15,6 @@ RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
!if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w
!endif
!ifndef RUBY_SO_NAME
RUBY_SO_NAME = rubymw
!endif
!if !defined(icondirs) && defined(ICONDIRS)
icondirs=$(ICONDIRS)
!endif
@ -36,10 +33,15 @@ CC = cl
!if !defined(YACC)
YACC = byacc
!endif
AR = lib -nologo
PURIFY =
AUTOCONF = autoconf
!if !defined(PROCESSOR_ARCHITECTURE) || "$(PROCESSOR_ARCHITECTURE)" == "x86"
!if !defined(PROCESSOR_ARCHITECTURE)
PROCESSOR_ARCHITECTURE = x86
!endif
MACHINE = $(PROCESSOR_ARCHITECTURE)
!if "$(PROCESSOR_ARCHITECTURE)" == "x86"
!if !defined(PROCESSOR_LEVEL)
PROCESSOR_LEVEL = 5
!endif
@ -62,6 +64,10 @@ OPTFLAGS = -O2b2xg-
OS = mswin32
RT = msvcrt
!ifndef RUBY_SO_NAME
RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)17
!endif
!if !defined(prefix)
prefix = /usr
!endif
@ -155,7 +161,6 @@ OBJS = array.obj \
all: miniruby$(EXEEXT) rbconfig.rb \
$(LIBRUBY) $(MISCLIBS)
set LIB=..\..;$(ORGLIBPATH)
@.\miniruby$(EXEEXT) $(srcdir)/ext/extmk.rb
ruby: $(PROGRAM)
@ -301,7 +306,7 @@ s,@CC@,$(CC),;t t
s,@CPP@,$$(CC) -E,;t t
s,@YACC@,$(YACC),;t t
s,@RANLIB@,rem,;t t
s,@AR@,lib -nologo,;t t
s,@AR@,$(AR),;t t
s,@LN_S@,$(LN_S),;t t
s,@SET_MAKE@,$(SET_MAKE),;t t
s,@LIBOBJS@, acosh.obj crypt.obj win32.obj isinf.obj isnan.obj,;t t
@ -337,22 +342,15 @@ s,@sitearch@,$(ARCH)-$(RT),;t t
s,@sitedir@,$${prefix}/lib/ruby/site_ruby,;t t
s,@configure_args@,--with-make-prog=nmake --enable-shared $(configure_args),;t t
s,@configure_input@,$$configure_input,;t t
@if not exist $(@D)\nul mkdir $(@D)
s,@srcdir@,$(srcdir),;t t
s,@top_srcdir@,$(srcdir),;t t
<<
#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)
miniruby$(EXEEXT): $(OBJS) $(MAINOBJ) dmyext.obj
@echo $(EXTOBJS)
@echo $(LIBS)
$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(OBJS) $(LIBS) -Fe$@
$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) dmyext.obj $(OBJS) $(LIBS) -Fe$@
$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $*.res
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $*.res \
@ -363,21 +361,15 @@ $(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $*.res
-Fe$@ $(LIBRUBYARG) -link -stack:$(STACK) -subsystem:Windows -incremental:no
$(LIBRUBY_A): $(OBJS) dmyext.obj
lib -nologo /OUT:$@ $(OBJS) dmyext.obj
$(AR) -out:$@ -machine:$(MACHINE) $(OBJS) dmyext.obj
$(LIBRUBY): $(RUBYDEF)
lib -nologo /OUT:$@ /DEF:$(RUBYDEF)
$(AR) -out:$@ -def:$(RUBYDEF) -machine:$(MACHINE)
$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) $(RUBYDEF) $@.res
set LIB=.\win32;$(ORGLIBPATH)
$(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $@.res $(LIBS) \
-Fe$@ -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)
@ -452,9 +444,6 @@ $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(LIBRUBY_SO).rc: rbconfig.rb
-so_name=$(LIBRUBY_SO) \
. $(icondirs) $(srcdir)/win32
#config.status: $(srcdir)/configure
# $(SHELL) ./config.status --recheck
{$(srcdir)/missing}.c.obj:
$(CC) $(CFLAGS) -I. -I$(<D) $(CPPFLAGS) -c -Tc$(<:\=/)
{$(srcdir)/win32}.c.obj:

Просмотреть файл

@ -4,11 +4,11 @@
== Requirement
(1) Visual C++ 4.0 or later.
(1) Visual C++ 5.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|)).
your ((|PATH|)) if you want to clean after compile.
(3) Please set environment variable (({INCLUDE})), (({LIB})), (({PATH}))
to run required commands properly from the command line.
@ -22,6 +22,8 @@
== How to compile and install
(1) Execute win32\configure.bat on your build directory.
You can specify the target platform as an argument.
For example, run `((%configure i686-mswin32%))'
(2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile}))
if you want to change the name of the executable files.
@ -47,7 +49,7 @@
* <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 `(({i386-mswin32}))'.
The default ((|<PLATFORM>|)) is `(({i386-mswin32}))'.
== Icons

Просмотреть файл

@ -1,13 +1,32 @@
@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
@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 \
:loop
if "%1" == "" goto :end
if "%1" == "--srcdir" goto :srcdir
if "%1" == "srcdir" goto :srcdir
if "%1" == "--target" goto :target
if "%1" == "target" goto :target
echo>> ~tmp~.mak "%1" \
shift
goto :loop
:srcdir
echo>> ~tmp~.mak "srcdir=%2" \
shift
shift
goto :loop
:target
echo>> ~tmp~.mak "%2" \
shift
shift
goto :loop
:end
echo>> ~tmp~.mak WIN32DIR=$(@D)
nmake -alf ~tmp~.mak

Просмотреть файл

@ -9,23 +9,50 @@ srcdir = $(WIN32DIR)/..
!ENDIF
OS = mswin32
RT = msvcrt
INCLUDE = !include
MAKEFILE = $(WIN32DIR)/setup.mak
all: ext
!if "$(target)" == ""
all: Makefile
all:; @echo type `nmake' to make ruby for mswin32.
@echo type `$(MAKE)' to make ruby for $(OS).
!else
all: $(target)
!endif
i386-$(OS):
@$(MAKE) -$(MAKEFLAGS) -f $(MAKEFILE) target= \
PROCESSOR_ARCHITECTURE=x86 PROCESSOR_LEVEL=3
i486-$(OS):
@$(MAKE) -$(MAKEFLAGS) -f $(MAKEFILE) target= \
PROCESSOR_ARCHITECTURE=x86 PROCESSOR_LEVEL=4
i586-$(OS):
@$(MAKE) -$(MAKEFLAGS) -f $(MAKEFILE) target= \
PROCESSOR_ARCHITECTURE=x86 PROCESSOR_LEVEL=5
i686-$(OS):
@$(MAKE) -$(MAKEFLAGS) -f $(MAKEFILE) target= \
PROCESSOR_ARCHITECTURE=x86 PROCESSOR_LEVEL=6
alpha-$(OS):
@$(MAKE) -$(MAKEFLAGS) -f $(MAKEFILE) target= \
PROCESSOR_ARCHITECTURE=alpha PROCESSOR_LEVEL=
Makefile:
@echo ### makefile for ruby $(OS) ###> $@
@echo srcdir = $(srcdir:\=/)>> $@
@echo RUBY_INSTALL_NAME = ruby>> $@
@echo RUBY_SO_NAME = $(RT)-$$(RUBY_INSTALL_NAME)17>> $@
@echo prefix = /usr>> $@
@echo CFLAGS = -nologo -MD -DNT=1 $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG)>> $@
@echo CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)/missing -DLIBRUBY_SO=\"$$(LIBRUBY_SO)\">> $@
@echo LDFLAGS = $$(CFLAGS) -Fm>> $@
@echo XLDFLAGS = >> $@
@echo RFLAGS = -r>> $@
@echo EXTLIBS =>> $@
@echo !INCLUDE $$(srcdir)/win32/Makefile.sub>> $@
ext:; @if not exist $@\* mkdir $@
@echo Creating <<$@
### Makefile for ruby $(OS) ###
srcdir = $(srcdir:\=/)
!if defined(PROCESSOR_ARCHITECTURE)
PROCESSOR_ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
!endif
!if defined(PROCESSOR_LEVEL)
PROCESSOR_LEVEL = $(PROCESSOR_LEVEL)
!endif
RUBY_INSTALL_NAME = ruby
RUBY_SO_NAME = $(RT)-$$(RUBY_INSTALL_NAME)17
prefix = /usr
CFLAGS = -nologo -MD -DNT=1 $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG)
CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)/missing -DLIBRUBY_SO=\"$$(LIBRUBY_SO)\"
LDFLAGS = $$(CFLAGS) -Fm
XLDFLAGS =
RFLAGS = -r
EXTLIBS =
$(INCLUDE) $$(srcdir)/win32/Makefile.sub
<<KEEP