* Makefile.in (clean-ext): allow glob patterns.

* ext/extmk.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-01-19 05:29:18 +00:00
Родитель 281825d48d
Коммит 1b26041724
3 изменённых файлов: 32 добавлений и 29 удалений

Просмотреть файл

@ -1,3 +1,9 @@
Tue Jan 19 14:29:16 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* Makefile.in (clean-ext): allow glob patterns.
* ext/extmk.rb: ditto.
Tue Jan 19 14:19:26 2010 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/zlib/{extconf.rb, zlib.c): crc32_combine and adler32_combine is

Просмотреть файл

@ -252,18 +252,17 @@ distclean-rdoc:
@$(RMALL) $(RDOCOUT:/=\)
clean-ext distclean-ext realclean-ext::
@set dummy ${EXTS}; shift; \
if test "$$#" = 0; then \
set dummy `find ext -name Makefile | sed 's:^ext/::;s:/Makefile$$::' | sort`; \
shift; \
fi; \
@cd ext; set dummy `echo "${EXTS}" | tr , ' '`; shift; \
test "$$#" = 0 && set .; \
set dummy `for dir; do \
find $$dir -name Makefile | sed 's:^\./::;s:/Makefile$$:~:' | sort | sed 's:~$$::'; \
done`; shift; \
for dir; do \
[ -f "ext/$$dir/Makefile" ] || continue; \
echo $(@:-ext=)ing "$$dir"; \
(cd "ext/$$dir" && exec $(MAKE) $(MFLAGS) $(@:-ext=)) && \
(cd "$$dir" && exec $(MAKE) $(MFLAGS) $(@:-ext=)) && \
case "$@" in \
*distclean-ext*|*realclean-ext*) \
$(RMDIRS) "ext/$$dir";; \
$(RMDIRS) "$$dir";; \
esac; \
done

Просмотреть файл

@ -396,29 +396,27 @@ end unless $extstatic
ext_prefix = "#{$top_srcdir}/ext"
exts = $static_ext.sort_by {|t, i| i}.collect {|t, i| t}
if $extension
exts |= $extension.select {|d| File.directory?("#{ext_prefix}/#{d}")}
else
withes, withouts = %w[--with --without].collect {|w|
if not (w = %w[-extensions -ext].collect {|o|arg_config(w+o)}).any?
nil
elsif (w = w.grep(String)).empty?
proc {true}
else
proc {|c1| w.collect {|o| o.split(/,/)}.flatten.any?(&c1)}
end
}
if withes
withouts ||= proc {true}
withes, withouts = %w[--with --without].collect {|w|
if not (w = %w[-extensions -ext].collect {|o|arg_config(w+o)}).any?
nil
elsif (w = w.grep(String)).empty?
proc {true}
else
withes = proc {false}
withouts ||= withes
proc {|c1| w.collect {|o| o.split(/,/)}.flatten.any?(&c1)}
end
cond = proc {|ext, *|
cond1 = proc {|n| File.fnmatch(n, ext)}
withes.call(cond1) or !withouts.call(cond1)
}
exts |= Dir.glob("#{ext_prefix}/*/**/extconf.rb").collect {|d|
}
if withes
withouts ||= proc {true}
else
withes = proc {false}
withouts ||= withes
end
cond = proc {|ext, *|
cond1 = proc {|n| File.fnmatch(n, ext)}
withes.call(cond1) or !withouts.call(cond1)
}
($extension || %w[*]).each do |e|
exts |= Dir.glob("#{ext_prefix}/#{e}/**/extconf.rb").collect {|d|
d = File.dirname(d)
d.slice!(0, ext_prefix.length + 1)
d