diff options
Diffstat (limited to 'ext/extmk.rb')
-rw-r--r-- | ext/extmk.rb | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb index 0c42b79600..ec7ae32343 100644 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -233,10 +233,13 @@ if $extlist.size > 0 $extinit ||= "" $extobjs ||= "" list = $extlist.dup - until list.empty? - s,t,i,r = list.shift - if r and list.any? {|l| r.include?(l[1])} - list << [s,t,i] + while e = list.shift + s,t,i,r = e + if r and !r.empty? + l = list.size + if (while l > 0; break true if r.include?(list[l-=1][1]) end) + list.insert(l + 1, e) + end next end f = format("%s/%s.%s", s, i, $LIBEXT) |