diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
commit | 0dc342de848a642ecce8db697b8fecd83a63e117 (patch) | |
tree | 2b7ed4724aff1f86073e4740134bda9c4aac1a39 /trunk/win32/setup.mak | |
parent | ef70cf7138ab8034b5b806f466e4b484b24f0f88 (diff) |
added tag v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/win32/setup.mak')
-rw-r--r-- | trunk/win32/setup.mak | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/trunk/win32/setup.mak b/trunk/win32/setup.mak new file mode 100644 index 0000000000..9ca6daa5c6 --- /dev/null +++ b/trunk/win32/setup.mak @@ -0,0 +1,231 @@ +# -*- makefile -*- + +!if "$(srcdir)" != "" +WIN32DIR = $(srcdir)/win32 +!elseif "$(WIN32DIR)" == "win32" +srcdir = . +!elseif "$(WIN32DIR)" == "$(WIN32DIR:/win32=)/win32" +srcdir = $(WIN32DIR:/win32=) +!else +srcdir = $(WIN32DIR)/.. +!endif +!ifndef prefix +prefix = /usr +!endif +BANG = ! +APPEND = echo.>>$(MAKEFILE) +!ifdef MAKEFILE +MAKE = $(MAKE) -f $(MAKEFILE) +!else +MAKEFILE = Makefile +!endif +ARCH = PROCESSOR_ARCHITECTURE +CPU = PROCESSOR_LEVEL +CC = cl -nologo +CPP = $(CC) -EP + +all: -prologue- -generic- -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 $(TARGET_OS) ### +MAKE = nmake +srcdir = $(srcdir:\=/) +prefix = $(prefix:\=/) +EXTSTATIC = $(EXTSTATIC) +!if defined(RDOCTARGET) +RDOCTARGET = $(RDOCTARGET) +!endif +!if defined(EXTOUT) +EXTOUT = $(EXTOUT) +!endif +!if defined(BASERUBY) +BASERUBY = $(BASERUBY) +!endif +<< +!if !defined(BASERUBY) + @for %I in (ruby.exe) do @echo BASERUBY = %~s$$PATH:I >> $(MAKEFILE) +!endif + +-system-vars-: -runtime- + +-system-vars32-: -osname32- -runtime- + +-system-vars64-: -osname64- -runtime- + +-osname32-: nul + @echo TARGET_OS = mswin32 >>$(MAKEFILE) + +-osname64-: nul + @echo TARGET_OS = mswin64 >>$(MAKEFILE) + +-runtime-: nul + @$(CC) -MD <<rtname.c user32.lib > nul +#include <windows.h> +#include <memory.h> +#include <string.h> +#include <stddef.h> +#include <stdio.h> +#ifndef MAXPATHLEN +# define MAXPATHLEN 1024 +#endif + +int +runtime_name() +{ + char libpath[MAXPATHLEN+1]; + char *p, *base = NULL, *ver = NULL; + HMODULE msvcrt = NULL; + MEMORY_BASIC_INFORMATION m; + + memset(&m, 0, sizeof(m)); + if (VirtualQuery(stdin, &m, sizeof(m)) && m.State == MEM_COMMIT) + msvcrt = (HMODULE)m.AllocationBase; + GetModuleFileName(msvcrt, libpath, sizeof libpath); + + libpath[sizeof(libpath) - 1] = '\0'; + for (p = libpath; *p; p = CharNext(p)) { + if (*p == '\\') { + base = ++p; + } + } + if (!base) return 0; + if (p = strchr(base, '.')) *p = '\0'; + for (p = base; *p; p = CharNext(p)) { + if (!isascii(*p)) continue; + if (isupper(*p)) { + *p = tolower(*p); + } + if (!isdigit(*p)) { + ver = NULL; + } else if (!ver) { + ver = p; + } + } + 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("PLATFORM = $$(TARGET_OS)_%s\n", ver); + } + else { + printf("PLATFORM = $$(TARGET_OS)\n"); + } + printf("RT = %s\n", base); + return 1; +} + +int main(int argc, char **argv) +{ + if (!runtime_name()) return EXIT_FAILURE; + return EXIT_SUCCESS; +} +<< + @.\rtname >>$(MAKEFILE) + @del rtname.* + +-version-: nul + @$(APPEND) + @$(CPP) -I$(srcdir) <<"Creating $(MAKEFILE)" | find "=" >>$(MAKEFILE) +#define RUBY_REVISION 0 +#include "version.h" +MAJOR = RUBY_VERSION_MAJOR +MINOR = RUBY_VERSION_MINOR +TEENY = RUBY_VERSION_TEENY +MSC_VER = _MSC_VER +<< + +-program-name-: + @type << >>$(MAKEFILE) +!ifdef RUBY_SUFFIX +RUBY_SUFFIX = $(RUBY_SUFFIX) +!endif +!ifdef RUBY_INSTALL_NAME +RUBY_INSTALL_NAME = $(RUBY_INSTALL_NAME) +!endif +!ifdef RUBY_SO_NAME +RUBY_SO_NAME = $(RUBY_SO_NAME) +!endif +<< + +-generic-: nul +!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)) +$(CPU) = $(PROCESSOR_LEVEL) +!endif + +<< +!endif + +-alpha-: nul + @echo $(ARCH) = alpha>>$(MAKEFILE) +-x64-: nul + @echo $(ARCH) = x64>>$(MAKEFILE) +-ia64-: nul + @echo $(ARCH) = ia64>>$(MAKEFILE) +-ix86-: nul + @echo $(ARCH) = x86>>$(MAKEFILE) + +-i386-: -ix86- + @echo $(CPU) = 3>>$(MAKEFILE) +-i486-: -ix86- + @echo $(CPU) = 4>>$(MAKEFILE) +-i586-: -ix86- + @echo $(CPU) = 5>>$(MAKEFILE) +-i686-: -ix86- + @echo $(CPU) = 6>>$(MAKEFILE) + +-epilogue-: -encs- + +-encs-: nul + @$(MAKE) -l -f $(srcdir)/win32/enc-setup.mak srcdir="$(srcdir)" MAKEFILE=$(MAKEFILE) + +-epilogue-: nul +!if exist(confargs.c) + @$(APPEND) + @$(CPP) confargs.c | find "=" >> $(MAKEFILE) + @del confargs.c +!endif + @type << >>$(MAKEFILE) + +# RUBY_INSTALL_NAME = ruby +# RUBY_SO_NAME = $$(RT)-$$(RUBY_INSTALL_NAME)$$(MAJOR)$$(MINOR) +# CFLAGS = -nologo -MD $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG) +# CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)/missing -DLIBRUBY_SO=\"$$(LIBRUBY_SO)\" +# STACK = 0x2000000 +# LDFLAGS = $$(CFLAGS) -Fm +# XLDFLAGS = +# RFLAGS = -r +# EXTLIBS = + +$(BANG)include $$(srcdir)/win32/Makefile.sub +<< + @$(COMSPEC) /C $(srcdir:/=\)\win32\rm.bat config.h config.status + @echo type `$(MAKE)' to make ruby. |