From 6f059f33ef1eae43e2648a6a8d4c8275b97a191e Mon Sep 17 00:00:00 2001 From: eban Date: Thu, 7 Aug 2003 05:43:59 +0000 Subject: [PATCH] * cygwin/GNUmakefile: better --disbale-shared option support. * configure.in: Fix Cygwin specific naming of libraries to be net distribution compliant. (ruby-bugs PR#1077) cygwin-ruby18.dll -> cygruby18.dll git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ configure.in | 20 ++++++++++++-------- cygwin/GNUmakefile.in | 15 +++++++++++---- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5d7d15ebdc..7811b6362b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Thu Aug 7 14:40:37 2003 WATANABE Hirofumi + + * cygwin/GNUmakefile: better --disbale-shared option support. + +Thu Aug 7 14:21:05 2003 Corinna Vinschen + + * configure.in: Fix Cygwin specific naming of libraries to + be net distribution compliant. (ruby-bugs PR#1077) + cygwin-ruby18.dll -> cygruby18.dll + Thu Aug 7 12:51:38 2003 Yukihiro Matsumoto * eval.c (rb_f_at_exit): should not be called without a block. diff --git a/configure.in b/configure.in index ad200de61f..8486894869 100644 --- a/configure.in +++ b/configure.in @@ -1201,11 +1201,18 @@ case "$target_os" in cygwin*|mingw*) case "$target_os" in cygwin*) - RUBY_SO_NAME=$target_os-'$(RUBY_INSTALL_NAME)'${MAJOR}${MINOR} + if test x"$enable_shared" = xyes; then + LIBRUBY_SO='cyg$(RUBY_SO_NAME)'${MAJOR}${MINOR}.dll + LIBRUBY='lib$(RUBY_SO_NAME).dll.a' + fi AC_LIBOBJ([strftime]) ;; mingw*) RUBY_SO_NAME=msvcrt-'$(RUBY_INSTALL_NAME)'${MAJOR}${MINOR} + if test x"$enable_shared" = xyes; then + LIBRUBY_SO='$(RUBY_SO_NAME)'.dll + LIBRUBY='lib$(LIBRUBY_SO).a' + fi AC_LIBOBJ([win32]) COMMON_LIBS=m COMMON_MACROS="WIN32_LEAN_AND_MEAN=" @@ -1214,17 +1221,14 @@ case "$target_os" in esac XCFLAGS="$XCFLAGS" LIBRUBY_DLDFLAGS="${DLDFLAGS}"' -Wl,--out-implib=$(LIBRUBY)' - if test x"$enable_shared" = xyes; then - LIBRUBY_SO='$(RUBY_SO_NAME)'.dll - LIBRUBY='lib$(LIBRUBY_SO).a' - else + LIBRUBY_ALIASES='' + FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in + SOLIBS='$(LIBS)' + if test x"$enable_shared" = xno; then LIBRUBY_SO=dummy LIBRUBY='lib$(RUBY_SO_NAME).a' LIBRUBYARG='-l$(RUBY_SO_NAME)' fi - LIBRUBY_ALIASES='' - FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in - SOLIBS='$(LIBS)' ;; hpux*) case "$YACC" in diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in index 7e8672b9d3..83f47f984c 100644 --- a/cygwin/GNUmakefile.in +++ b/cygwin/GNUmakefile.in @@ -2,6 +2,12 @@ include Makefile ENABLE_SHARED=@ENABLE_SHARED@ +ifeq (@target_os@,cygwin) + DLL_BASE_NAME := $(subst .dll,,$(LIBRUBY_SO)) +else + DLL_BASE_NAME := $(RUBY_SO_NAME) +endif + ifneq ($(ENABLE_SHARED),yes) RUBY_EXP = $(RUBY_INSTALL_NAME).exp EXTOBJS = $(RUBY_EXP) @@ -14,20 +20,21 @@ ifeq ($(RUBY_INSTALL_NAME),ruby) else RUBYW_INSTALL_NAME = $(subst ruby,rubyw,$(RUBY_INSTALL_NAME)) endif + WPROGRAM = $(RUBYW_INSTALL_NAME)$(EXEEXT) -SOLIBS := $(RUBY_SO_NAME).res.@OBJEXT@ $(SOLIBS) +SOLIBS := $(DLL_BASE_NAME).res.@OBJEXT@ $(SOLIBS) EXTOBJS += $(@:$(EXEEXT)=.res.@OBJEXT@) $(LIBRUBY): $(RUBY_EXP) $(LIBRUBY_SO) -$(RUBY_EXP) $(LIBRUBY_SO): $(RUBY_SO_NAME).res.@OBJEXT@ +$(RUBY_EXP) $(LIBRUBY_SO): $(DLL_BASE_NAME).res.@OBJEXT@ %.res.@OBJEXT@: %.rc @WINDRES@ --include-dir . --include-dir $(