method
build_extension
v2_1_10 -
Show latest stable
- Class:
Gem::Ext::Builder
build_extension(extension, dest_path)public
No documentation available.
# File lib/rubygems/ext/builder.rb, line 146
def build_extension extension, dest_path # :nodoc:
results = []
extension ||= '' # I wish I knew why this line existed
extension_dir =
File.expand_path File.join @gem_dir, File.dirname(extension)
lib_dir = File.join @spec.full_gem_path, @spec.raw_require_paths.first
builder = builder_for extension
begin
FileUtils.mkdir_p dest_path
CHDIR_MUTEX.synchronize do
Dir.chdir extension_dir do
results = builder.build(extension, @gem_dir, dest_path,
results, @build_args, lib_dir)
say results.join("\n") if Gem.configuration.really_verbose
end
end
write_gem_make_out results.join "\n"
rescue => e
results << e.message
build_error extension_dir, results.join("\n"), $@
end
end