From 3195a2e89832ce955703ed411e13bfbd5aebd923 Mon Sep 17 00:00:00 2001 From: nagachika Date: Sun, 12 Apr 2015 15:04:56 +0000 Subject: merge revision(s) 49007,49009,49957: [Backport #10960] * ext/fiddle/extconf.rb: make PIC objects if it will be linked as a shared object eventually. [ruby-core:67128] * ext/fiddle/extconf.rb: needs --enable-shared when linked to libruby or fiddle.so. since --with-static-linked-ext does no longer link extensions to ruby program with --enable-shared, the only combination needs --enable-static is --disable-shared and --with-static-linked-ext. [ruby-dev:48901] [Bug #10960] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@50272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/fiddle/extconf.rb | 5 +++-- ext/fiddle/win32/libffi.mk.tmpl | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'ext/fiddle') diff --git a/ext/fiddle/extconf.rb b/ext/fiddle/extconf.rb index 2bc5b8560d..5688086f44 100644 --- a/ext/fiddle/extconf.rb +++ b/ext/fiddle/extconf.rb @@ -36,7 +36,7 @@ begin end libffi.include = "#{libffi.builddir}/include" libffi.lib = "#{libffi.builddir}/.libs" - libffi.a = "#{libffi.lib}/libffi.#{$LIBEXT}" + libffi.a = "#{libffi.lib}/libffi_convenience.#{$LIBEXT}" nowarn = CONFIG.merge("warnflags"=>"") libffi.cflags = RbConfig.expand("$(CFLAGS)", nowarn) ver = ver[/libffi-(.*)/, 1] @@ -64,9 +64,10 @@ begin ld = RbConfig::CONFIG['LD'] args.concat %W[ --srcdir=#{libffi.srcdir} - --disable-shared --host=#{libffi.arch} + --host=#{libffi.arch} --enable-builddir=#{RUBY_PLATFORM} ] + args << ($enable_shared || !$static ? '--enable-shared' : '--enable-static') args << libffi.opt if libffi.opt args.concat %W[ CC=#{cc} CFLAGS=#{libffi.cflags} diff --git a/ext/fiddle/win32/libffi.mk.tmpl b/ext/fiddle/win32/libffi.mk.tmpl index 28d0a67897..2a16e8efec 100755 --- a/ext/fiddle/win32/libffi.mk.tmpl +++ b/ext/fiddle/win32/libffi.mk.tmpl @@ -30,7 +30,7 @@ SRCDIR = $(TOPDIR)/src WORKDIR = ./.libs BUILDDIR= ./src LIBNAME = lib$(NAME) -STATICLIB= $(WORKDIR)/$(LIBNAME).$(LIBEXT) +STATICLIB= $(WORKDIR)/$(LIBNAME)_convenience.$(LIBEXT) HEADERS = \ ./fficonfig.h -- cgit v1.2.3