summaryrefslogtreecommitdiff
path: root/trunk/win32/setup.mak
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:02:05 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:02:05 +0000
commit0dc342de848a642ecce8db697b8fecd83a63e117 (patch)
tree2b7ed4724aff1f86073e4740134bda9c4aac1a39 /trunk/win32/setup.mak
parentef70cf7138ab8034b5b806f466e4b484b24f0f88 (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.mak231
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.