summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-20 06:32:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-20 06:32:36 +0000
commit2d03f7274f84ab5abf8825c8e0c339caa659c27a (patch)
tree2b6b103bcb45293472970a8d048db8840e42d475 /Makefile.in
parente77a0b7b246b4f0fcb751d6897b7c9ba0c277d55 (diff)
* Makefile.in (miniruby): renames and then removes, to get rid of
EPERM on cygwin and mingw. * Makefile.in ($(LIBRUBY_SO)): use wildcard option of objcopy. * configure.in (DLDFLAGS): do not export all symbols. * cygwin/GNUmakefile.in (RUBYDEF): rejects symbols prefixex with Init_. * win32/mkexports.rb (Exports::Mingw): includes all symbols except for prefixed with Init_ as well as mswin32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in6
1 files changed, 2 insertions, 4 deletions
diff --git a/Makefile.in b/Makefile.in
index 5f6316c67a..4f5101ed34 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -123,7 +123,7 @@ all:
.NOEXPORT:
miniruby$(EXEEXT):
- @$(RM) $@
+ @-if test -f $@; then mv -f $@ $@.old; $(RM) $@.old; fi
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(DMYEXT) $(ARCHFILE) $(LIBS) $(OUTFLAG)$@
$(PROGRAM):
@@ -141,9 +141,7 @@ $(LIBRUBY_A):
$(LIBRUBY_SO):
@-$(PRE_LIBRUBY_UPDATE)
$(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@
- @-test "$(OBJDUMP)" = "" || test "$(OBJCOPY)" = "" || { \
- set dummy `$(OBJDUMP) -t $@ | sed '/^[^ ]* g/!d;s/.* //;/^\(Init_\|vm_\)/!d;s/^/-L /'`; \
- shift; test "$$#" = 0 || $(OBJCOPY) "$$@" $@; }
+ -$(OBJCOPY) -w -L '@EXPORT_PREFIX@Init_*' $@
@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \
File.symlink "$(LIBRUBY_SO)", link}' \
$(LIBRUBY_ALIASES) || true