diff options
author | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-11 10:26:13 +0000 |
---|---|---|
committer | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-11 10:26:13 +0000 |
commit | 7f80a1800f7b13e63227fb6202bee55a81cd506b (patch) | |
tree | 496113b37257388826e3f424239daa1271da64c0 | |
parent | 65caf01223b8bdd538d52d3075573a9a2f006741 (diff) |
* configure.in (LIBRUBY): rename to lib$(LIBRUBY_SO).a on Cygwin/MinGW.
* configure.in, cygwin/GNUmakefile: use dllwrap when --disable-shared
is specified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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) |