summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-19 04:10:53 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-19 04:10:53 +0000
commitfe5b6676b1013448f6c23b50778b9f57aa010f6d (patch)
tree410723f98511f9c45ba4cfdc75260b7e232359de /win32
parent5bcd6bd99f61b82e2d5cd1eb57dec97b8143d608 (diff)
* ext/extmk.rb, win32/Makefile.sub, win32/configure.bat,
win32/setup.mak: --with-static-linked-ext support on mswin32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile.sub20
-rwxr-xr-xwin32/configure.bat15
-rw-r--r--win32/setup.mak1
3 files changed, 25 insertions, 11 deletions
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 4c12dadb88..2719cb0b3d 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -134,7 +134,13 @@ LIBRUBY_SO = $(RUBY_SO_NAME).dll
LIBRUBY = $(RUBY_SO_NAME).lib
LIBRUBYARG = $(LIBRUBY)
+!if !defined(EXTSTATIC)
+EXTSTATIC =
+!endif
+
EXTOBJS =
+DLDOBJS =
+DMYEXT = dmyext.obj
MAINOBJ = main.obj
WINMAINOBJ = winmain.obj
@@ -397,9 +403,9 @@ s,@srcdir@,$(srcdir),;t t
s,@top_srcdir@,$(srcdir),;t t
<<KEEP
-miniruby$(EXEEXT): $(OBJS) $(MAINOBJ) dmyext.obj
+miniruby$(EXEEXT): $(OBJS) $(MAINOBJ) $(DMYEXT)
@echo. $(LIBS)
- $(PURIFY) $(CC) $(MAINOBJ) dmyext.obj $(OBJS) $(LIBS) -Fe$@ $(LDFLAGS)
+ $(PURIFY) $(CC) $(MAINOBJ) $(DMYEXT) $(OBJS) $(LIBS) -Fe$@ $(LDFLAGS)
$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $*.res
$(PURIFY) $(CC) $(MAINOBJ) $*.res \
@@ -409,15 +415,15 @@ $(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $*.res
$(PURIFY) $(CC) $(MAINOBJ) $(WINMAINOBJ) $*.res \
-Fe$@ $(LIBRUBYARG) $(LDFLAGS) $(XLDFLAGS) -subsystem:Windows
-$(LIBRUBY_A): $(OBJS) dmyext.obj
- $(AR) $(ARFLAGS)$@ $(OBJS) dmyext.obj
+$(LIBRUBY_A): $(OBJS) $(DMYEXT)
+ $(AR) $(ARFLAGS)$@ $(OBJS) $(DMYEXT)
$(LIBRUBY): $(RUBYDEF)
$(AR) $(ARFLAGS)$@ -def:$(RUBYDEF)
-$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) $(RUBYDEF) $*.res
- @echo. $(EXTOBJS)
- $(LIBRUBY_LDSHARED) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $*.res $(LIBS) \
+$(LIBRUBY_SO): $(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $*.res
+ @echo. $(DLDOBJS)
+ $(LIBRUBY_LDSHARED) $(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) $*.res $(LIBS) \
-Fe$@ $(LDFLAGS) $(LIBRUBY_DLDFLAGS)
$(RUBYDEF): $(LIBRUBY_A) miniruby$(EXEEXT)
diff --git a/win32/configure.bat b/win32/configure.bat
index d61ae6b3ef..037b656f48 100755
--- a/win32/configure.bat
+++ b/win32/configure.bat
@@ -15,6 +15,7 @@ if "%1" == "--srcdir" goto :srcdir
if "%1" == "srcdir" goto :srcdir
if "%1" == "--target" goto :target
if "%1" == "target" goto :target
+if "%1" == "--with-static-linked-ext" goto :extstatic
if "%1" == "-h" goto :help
if "%1" == "--help" goto :help
echo>> ~tmp~.mak "%1" \
@@ -35,14 +36,20 @@ goto :loop
shift
shift
goto :loop
+:extstatic
+ echo>> ~tmp~.mak "EXTSTATIC=static" \
+ shift
+goto :loop
:help
echo Configuration:
- echo --help display this help
- echo --srcdir=DIR find the sources in DIR [configure dir or `..']
+ echo --help display this help
+ echo --srcdir=DIR find the sources in DIR [configure dir or `..']
echo Installation directories:
- echo --prefix=PREFIX install files in PREFIX [/usr]
+ echo --prefix=PREFIX install files in PREFIX [/usr]
echo System types:
- echo --target=TARGET configure for TARGET [i386-mswin32]
+ echo --target=TARGET configure for TARGET [i386-mswin32]
+ echo Optional Package:
+ echo --with-static-linked-ext link external modules statically
del ~tmp~.mak
goto :exit
:end
diff --git a/win32/setup.mak b/win32/setup.mak
index 188b418b34..25155a0b9a 100644
--- a/win32/setup.mak
+++ b/win32/setup.mak
@@ -36,6 +36,7 @@ alpha-$(OS): -prologue- -alpha- -epilogue-
### Makefile for ruby $(OS) ###
srcdir = $(srcdir:\=/)
prefix = $(prefix:\=/)
+EXTSTATIC = $(EXTSTATIC)
<<
@cl -nologo -EP -I$(srcdir) <<"Creating $(MAKEFILE)" >> $(MAKEFILE)
#include "version.h"