summaryrefslogtreecommitdiff
path: root/ext/extmk.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/extmk.rb')
-rw-r--r--ext/extmk.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index ec7ae32343..618ef328c2 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -233,9 +233,10 @@ if $extlist.size > 0
$extinit ||= ""
$extobjs ||= ""
list = $extlist.dup
+ built = []
while e = list.shift
s,t,i,r = e
- if r and !r.empty?
+ if r and !(r -= built).empty?
l = list.size
if (while l > 0; break true if r.include?(list[l-=1][1]) end)
list.insert(l + 1, e)
@@ -246,6 +247,7 @@ if $extlist.size > 0
if File.exist?(f)
$extinit += "\tinit(Init_#{i}, \"#{t}.so\");\n"
$extobjs += "ext/#{f} "
+ built << t
end
end