* 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
parent b3a426e70a
commit a3faa7e2e2
5 changed files with 108 additions and 59 deletions

View File

@ -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> Mon Sep 9 23:43:33 2002 WATANABE Hirofumi <eban@ruby-lang.org>
* win32/win32.h (S_I?USR): define only if not mingw32. * win32/win32.h (S_I?USR): define only if not mingw32.

View File

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

View File

@ -4,11 +4,11 @@
== Requirement == 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%))' (2) If you want to run `((%nmake clean%))' or `((%nmake distclean%))'
properly, you must install UNIX compatible `((%rm%))' command on 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})) (3) Please set environment variable (({INCLUDE})), (({LIB})), (({PATH}))
to run required commands properly from the command line. to run required commands properly from the command line.
@ -22,6 +22,8 @@
== How to compile and install == How to compile and install
(1) Execute win32\configure.bat on your build directory. (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})) (2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile}))
if you want to change the name of the executable files. 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>\lib\ruby\site_ruby\<MAJOR>.<MINOR>\<PLATFORM>
* <install_directory>\man\man1 * <install_directory>\man\man1
If Ruby's version is `x.y.z', the ((|<MAJOR>|)) is `x' and the ((|<MINOR>|)) is `y'. 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 == Icons

View File

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

View File

@ -9,23 +9,50 @@ srcdir = $(WIN32DIR)/..
!ENDIF !ENDIF
OS = mswin32 OS = mswin32
RT = msvcrt RT = msvcrt
INCLUDE = !include
MAKEFILE = $(WIN32DIR)/setup.mak
all: ext !if "$(target)" == ""
all: Makefile 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: Makefile:
@echo ### makefile for ruby $(OS) ###> $@ @echo Creating <<$@
@echo srcdir = $(srcdir:\=/)>> $@ ### Makefile for ruby $(OS) ###
@echo RUBY_INSTALL_NAME = ruby>> $@ srcdir = $(srcdir:\=/)
@echo RUBY_SO_NAME = $(RT)-$$(RUBY_INSTALL_NAME)17>> $@ !if defined(PROCESSOR_ARCHITECTURE)
@echo prefix = /usr>> $@ PROCESSOR_ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
@echo CFLAGS = -nologo -MD -DNT=1 $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG)>> $@ !endif
@echo CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)/missing -DLIBRUBY_SO=\"$$(LIBRUBY_SO)\">> $@ !if defined(PROCESSOR_LEVEL)
@echo LDFLAGS = $$(CFLAGS) -Fm>> $@ PROCESSOR_LEVEL = $(PROCESSOR_LEVEL)
@echo XLDFLAGS = >> $@ !endif
@echo RFLAGS = -r>> $@ RUBY_INSTALL_NAME = ruby
@echo EXTLIBS =>> $@ RUBY_SO_NAME = $(RT)-$$(RUBY_INSTALL_NAME)17
@echo !INCLUDE $$(srcdir)/win32/Makefile.sub>> $@ prefix = /usr
CFLAGS = -nologo -MD -DNT=1 $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG)
ext:; @if not exist $@\* mkdir $@ CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)/missing -DLIBRUBY_SO=\"$$(LIBRUBY_SO)\"
LDFLAGS = $$(CFLAGS) -Fm
XLDFLAGS =
RFLAGS = -r
EXTLIBS =
$(INCLUDE) $$(srcdir)/win32/Makefile.sub
<<KEEP