From 24ada5f55ef795b47b2d34c25450805ea4c2df14 Mon Sep 17 00:00:00 2001 From: usa Date: Wed, 31 Oct 2007 15:53:19 +0000 Subject: * win32/configure.bat, setup.mak: now can recognize OS even if the ``--target'' option of configure is omitted. * win32/README.win32: update the descriptions about compiler. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- win32/README.win32 | 5 ++++- win32/configure.bat | 2 +- win32/setup.mak | 51 +++++++++++++++++++++++++++++++++++---------------- 3 files changed, 40 insertions(+), 18 deletions(-) (limited to 'win32') diff --git a/win32/README.win32 b/win32/README.win32 index e549e70f65..b1f016e830 100644 --- a/win32/README.win32 +++ b/win32/README.win32 @@ -6,6 +6,9 @@ (1) Visual C++ 5.0 or later. + Note: if you want to build x64 or ia64 version, use native compiler for + x64/ia64. + (2) Please set environment variable (({INCLUDE})), (({LIB})), (({PATH})) to run required commands properly from the command line. @@ -24,7 +27,7 @@ (1) Execute win32\configure.bat on your build directory. You can specify the target platform as an argument. - For example, run `((%configure i686-mswin32%))' + For example, run `((%configure --target=i686-mswin32%))' You can also specify the install directory. For example, run `((%configure --prefix=%))' Default of the install directory is /usr . diff --git a/win32/configure.bat b/win32/configure.bat index f6aad57b8c..0ec9fde9a6 100755 --- a/win32/configure.bat +++ b/win32/configure.bat @@ -68,7 +68,7 @@ goto :loop if "%2" == "x64-mswin64" goto target2 if NOT "%2" == "ia64-mswin64" goto target3 :target2 - echo>> ~tmp~.mak "OS=mswin64" \ + echo>> ~tmp~.mak "TARGET_OS=mswin64" \ :target3 shift shift diff --git a/win32/setup.mak b/win32/setup.mak index 938daf1486..62bbd9ce20 100644 --- a/win32/setup.mak +++ b/win32/setup.mak @@ -12,9 +12,6 @@ srcdir = $(WIN32DIR)/.. !ifndef prefix prefix = /usr !endif -!if "$(OS)" != "mswin64" -OS = mswin32 -!endif BANG = ! APPEND = echo>>$(MAKEFILE) !ifdef MAKEFILE @@ -28,21 +25,23 @@ CC = cl -nologo CPP = $(CC) -EP all: -prologue- -generic- -epilogue- -i386-mswin32: -prologue- -i386- -epilogue- -i486-mswin32: -prologue- -i486- -epilogue- -i586-mswin32: -prologue- -i586- -epilogue- -i686-mswin32: -prologue- -i686- -epilogue- -alpha-mswin32: -prologue- -alpha- -epilogue- +i386-mswin32: -prologue32- -i386- -epilogue- +i486-mswin32: -prologue32- -i486- -epilogue- +i586-mswin32: -prologue32- -i586- -epilogue- +i686-mswin32: -prologue32- -i686- -epilogue- +alpha-mswin32: -prologue32- -alpha- -epilogue- x64-mswin64: -prologue64- -x64- -epilogue- ia64-mswin64: -prologue64- -ia64- -epilogue- -prologue-: -basic-vars- -system-vars- -version- -program-name- +-prologue32-: -basic-vars- -system-vars32- -version- -program-name- + -prologue64-: -basic-vars- -system-vars64- -version- -program-name- -basic-vars-: nul @type << > $(MAKEFILE) -### Makefile for ruby $(OS) ### +### Makefile for ruby $(TARGET_OS) ### MAKE = nmake srcdir = $(srcdir:\=/) prefix = $(prefix:\=/) @@ -58,15 +57,17 @@ BASERUBY = $(BASERUBY) !endif << --system-vars-: -osname- -runtime- +-system-vars-: -runtime- + +-system-vars32-: -osname32- -runtime- -system-vars64-: -osname64- -runtime- --osname-: nul - @echo OS = mswin32 >>$(MAKEFILE) +-osname32-: nul + @echo TARGET_OS = mswin32 >>$(MAKEFILE) -osname64-: nul - @echo OS = mswin64 >>$(MAKEFILE) + @echo TARGET_OS = mswin64 >>$(MAKEFILE) -runtime-: nul @$(CC) -MD < nul @@ -111,7 +112,19 @@ runtime_name() ver = p; } } - if (ver) printf("OS = $$(OS)_%s\n", ver); + printf("!ifndef TARGET_OS\n"); +#ifdef _WIN64 + printf("TARGET_OS = mswin64\n"); +#else + printf("TARGET_OS = mswin32\n"); +#endif + printf("!endif\n"); + if (ver) { + printf("OS = $$(TARGET_OS)_%s\n", ver); + } + else { + printf("OS = $$(TARGET_OS)\n"); + } printf("RT = %s\n", base); return 1; } @@ -151,9 +164,16 @@ RUBY_SO_NAME = $(RUBY_SO_NAME) !if defined($(ARCH)) || defined($(CPU)) @type << >>$(MAKEFILE) !if defined($(ARCH)) +!if "$(PROCESSOR_ARCHITECTURE)" == "AMD64" +$(ARCH) = x64 +!elseif "$(PROCESSOR_ARCHITECTURE)" == "IA64" +$(ARCH) = ia64 +!else $(ARCH) = $(PROCESSOR_ARCHITECTURE) !endif +!endif !if defined($(CPU)) +!if "$(PROCESSOR_ARCHITECTURE)" == "x86" $(CPU) = $(PROCESSOR_LEVEL) !endif @@ -185,7 +205,6 @@ $(CPU) = $(PROCESSOR_LEVEL) !endif @type << >>$(MAKEFILE) -# OS = $(OS) # RUBY_INSTALL_NAME = ruby # RUBY_SO_NAME = $$(RT)-$$(RUBY_INSTALL_NAME)$$(MAJOR)$$(MINOR) # CFLAGS = -nologo -MD $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG) @@ -199,4 +218,4 @@ $(CPU) = $(PROCESSOR_LEVEL) $(BANG)include $$(srcdir)/win32/Makefile.sub << @$(COMSPEC) /C $(srcdir:/=\)\win32\rm.bat config.h config.status - @echo type `$(MAKE)' to make ruby for $(OS). + @echo type `$(MAKE)' to make ruby. -- cgit v1.2.3