diff --git a/ChangeLog b/ChangeLog index d2de8e2aaa..b3cad04f43 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Jul 23 23:58:40 2012 Nobuyoshi Nakada + + * enc/Makefile.in (TARGET_NAME, TARGET_ENTRY): needed for EXTDLDFLAGS + on some platforms. [ruby-core:46600] [Bug #6768] + + * enc/depend: no longer needs tweaking DLDFLAGS for TARGET names. + Mon Jul 23 22:48:19 2012 Tanaka Akira * lib/open-uri.rb: use respond_to? to test Tempfile. diff --git a/enc/Makefile.in b/enc/Makefile.in index 44e714a440..2c15e904dc 100644 --- a/enc/Makefile.in +++ b/enc/Makefile.in @@ -51,9 +51,13 @@ LDFLAGS = @LDFLAGS@ LDSHARED = @LDSHARED@ ldflags = $(LDFLAGS) dldflags = @DLDFLAGS@ +extdldflags = @EXTDLDFLAGS@ archflag = @ARCH_FLAG@ -DLDFLAGS = $(ldflags) $(dldflags) $(archflag) +DLDFLAGS = $(ldflags) $(dldflags) $(extdldflags) $(archflag) RUBY = $(MINIRUBY) +TARGET_NAME_ = $(@F) # BSD make seems unable to deal with @F with substitution +TARGET_NAME = $(TARGET_NAME_:.@DLEXT@=) +TARGET_ENTRY = @EXPORT_PREFIX@Init_$(TARGET_NAME) WORKDIRS = @WORKDIRS@ diff --git a/enc/depend b/enc/depend index 544185b388..78b9370a02 100644 --- a/enc/depend +++ b/enc/depend @@ -1,8 +1,6 @@ % inplace = File.identical?($srcdir, ".") % workdirs = %w"$(ENCSODIR) $(TRANSSODIR) enc enc/trans" % CONFIG["WORKDIRS"] = workdirs.join(' ') -% CONFIG["DLDFLAGS"].sub!(/(\A|\s)(-\S+(?:\s*\w*)?\$\(TARGET\)\S*)/, '\1') -% dldflags = $2 % enable_shared = CONFIG['ENABLE_SHARED'] == 'yes' % deffile = (true if /\$\(DEFFILE\)/ =~ CONFIG["LINK_SO"]) % dependencies = ENCS + TRANS @@ -115,7 +113,6 @@ $(TRANSOBJS): ruby.h intern.h config.h defines.h missing.h encoding.h oniguruma. $(ECHO) linking <%=mesg%> $(@F) % cmd = link_so.sub(/\$\(OBJS\)/) {obj} % base = File.basename(e) -% cmd.sub!(/(?=\$\(DLDFLAGS\))/) {dldflags.sub(/\$\(TARGET\)/) {base} + " "} if dldflags % if df $(Q)echo> <%=df%> EXPORTS $(Q)echo>> <%=df%> <%=EXPORT_PREFIX%>Init_<%=base%> diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 7f9f5cadbc..392941702b 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -777,6 +777,7 @@ s,@OBJEXT@,$(OBJEXT),;t t s,@XCFLAGS@,$(XCFLAGS),;t t s,@XLDFLAGS@,$(XLDFLAGS),;t t s,@DLDFLAGS@,$(DLDFLAGS) $$(LIBPATH),;t t +s,@EXTDLDFLAGS@,$(EXTDLDFLAGS),;t t s,@ARCH_FLAG@,$(ARCH_FLAG),;t t s,@STATIC@,$(STATIC),;t t s,@CCDLFLAGS@,,;t t