[DOC] Comment about logic to care about static/dynamic hetero build

The condition is rarely met in usual cases, so it's worth to note about
the situation and the reason why we care about it.
This commit is contained in:
Yuta Saito 2024-02-21 10:17:13 +00:00
Родитель 6aa5067ab9
Коммит fd91354628
1 изменённых файлов: 7 добавлений и 0 удалений

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

@ -69,6 +69,13 @@ Dir.glob("{ext,.bundle/gems}/*/exts.mk") do |e|
end
end
deps.uniq!
# NOTE: Only if extensions are configured as static and dynamic heterogeneously
# (e.g. --with-static-linked-ext=foo or ext/Setup can mix static and dynamic
# extensions), EXTOBJS may contain both extinit.o and dmyext.o. In such case,
# prefer extinit.o, which does actual Init_${ext} function calls for statically
# linked extensions, and drop dmyext.o, which does nothing but just to make the
# linker happy.
if objs = macros["EXTOBJS"] and objs.any? {|e|e.start_with?("ext/extinit.")}
objs.delete_if {|e|e.start_with?("dmyext.")}
end