diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | configure.in | 6 | ||||
-rw-r--r-- | cygwin/GNUmakefile.in | 21 |
3 files changed, 24 insertions, 10 deletions
@@ -1,3 +1,10 @@ +Tue Jun 11 19:20:34 2002 WATANABE Hirofumi <eban@ruby-lang.org> + + * configure.in (LIBRUBY): rename to lib$(LIBRUBY_SO).a on Cygwin/MinGW. + + * configure.in, cygwin/GNUmakefile: use dllwrap when --disable-shared + is specified. + Tue Jun 11 13:18:47 2002 Shugo Maeda <shugo@ruby-lang.org> * lib/net/ftp.rb (noop): new method. diff --git a/configure.in b/configure.in index dfe138e7f6..08739d5926 100644 --- a/configure.in +++ b/configure.in @@ -104,6 +104,7 @@ case "$target_os" in cygwin*|mingw*) AC_CHECK_TOOL(NM, nm) AC_CHECK_TOOL(WINDRES, windres) + AC_CHECK_TOOL(DLLWRAP, dllwrap) target_cpu=`echo $target_cpu | sed s/i.86/i386/` : ${enable_shared=yes} ;; @@ -1044,13 +1045,14 @@ case "$target_os" in if test x"$enable_shared" = xyes; then LIBRUBY_SO='$(RUBY_SO_NAME)'.dll LIBRUBY_DLDFLAGS='-Wl,--out-implib=$(LIBRUBY) $(RUBYDEF)' + LIBRUBY='lib$(LIBRUBY_SO).a' else LIBRUBY_SO=dummy - LIBRUBY_DLDFLAGS='-Wl,--output-exp=$(RUBY_INSTALL_NAME).exp,--out-implib=$(LIBRUBY) $(RUBYDEF)' + LIBRUBY_DLDFLAGS='' + LIBRUBY='lib$(RUBY_SO_NAME).a' fi LIBRUBY_ALIASES='' LIBRUBY_A='lib$(RUBY_INSTALL_NAME)s.a' - LIBRUBY='lib$(RUBY_SO_NAME).a' LIBRUBYARG='-L. -l$(RUBY_SO_NAME)' FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in SOLIBS='$(LIBS)' diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in index 4fc628f4da..3fd5b5ad53 100644 --- a/cygwin/GNUmakefile.in +++ b/cygwin/GNUmakefile.in @@ -2,24 +2,25 @@ include Makefile ENABLE_SHARED=@ENABLE_SHARED@ -ifneq (,$(findstring no, $(ENABLE_SHARED))) - EXTOBJS = $(RUBY_INSTALL_NAME).exp - LIBRUBYARG = $(LIBRUBY_A) -else +ifeq ($(ENABLE_SHARED),yes) CPPFLAGS += -DLIBRUBY_SO=\"$(LIBRUBY_SO)\" +else + RUBY_EXP = $(RUBY_INSTALL_NAME).exp + EXTOBJS = $(RUBY_EXP) + LIBRUBYARG = $(LIBRUBY_A) endif -ifneq (,$(findstring ruby, $(RUBY_INSTALL_NAME))) - RUBYW_INSTALL_NAME = $(subst ruby,rubyw,$(RUBY_INSTALL_NAME)) -else +ifeq ($(RUBY_INSTALL_NAME),ruby) RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w +else + RUBYW_INSTALL_NAME = $(subst ruby,rubyw,$(RUBY_INSTALL_NAME)) endif WPROGRAM = $(RUBYW_INSTALL_NAME)$(EXEEXT) RUBYDEF = $(RUBY_INSTALL_NAME).def SOLIBS := $(LIBRUBY_SO).res.@OBJEXT@ $(SOLIBS) EXTOBJS += $(@:$(EXEEXT)=.res.@OBJEXT@) -$(LIBRUBY_SO): $(RUBYDEF) $(LIBRUBY_SO).res.@OBJEXT@ +$(LIBRUBY_SO): $(RUBYDEF) $(LIBRUBY_SO).res.@OBJEXT@ $(RUBY_EXP) $(LIBRUBY): $(LIBRUBY_SO) %.res.@OBJEXT@: %.rc @@ -41,3 +42,7 @@ $(RUBYDEF): $(LIBRUBY_A) echo EXPORTS > $(RUBYDEF) @NM@ --extern-only --defined-only $(LIBRUBY_A) | \ @MINIRUBY@ -ne 'puts $$1 if / [CDT] _(.*)$$/' >> $(RUBYDEF) +$(RUBY_EXP): $(RUBYDEF) + @DLLWRAP@ --output-exp=$(RUBY_EXP) --output-lib=$(LIBRUBY) \ + --def=$(RUBYDEF) $(LIBRUBY_A) $(LIBS) -o $(PROGRAM) + rm $(PROGRAM) |