summaryrefslogtreecommitdiff
path: root/ext/extmk.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-07-13 20:15:22 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-07-14 09:00:13 +0900
commitb2491783986084770f6f97552f27b868622730cf (patch)
treedbc00bede402ea4411317eaf4dce8b8c789dd8c0 /ext/extmk.rb
parenta2c66f52f402cb58372e271226f3341065561e53 (diff)
downloadruby-b2491783986084770f6f97552f27b868622730cf.tar.gz
Install gems `lib` directory to build path
Diffstat (limited to 'ext/extmk.rb')
-rwxr-xr-xext/extmk.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index f805338404..7a09be6963 100755
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -594,6 +594,25 @@ exts.each do |d|
end
end
+if @gemname
+ src_gemlib = File.join($top_srcdir, ext_prefix, @gemname, "lib")
+ src_gemlib = relative_from(src_gemlib, ([".."]*ext_prefix.count("/")).join("/"))
+ gemlib = "#{@gemname}/lib"
+ if File.directory?(src_gemlib)
+ if File.exist?(gemlib)
+ puts "using #{gemlib}"
+ else
+ begin
+ File.symlink(relative_from(src_gemlib, ".."), gemlib)
+ puts "linked #{gemlib}"
+ rescue NotImplementedError, Errno::EPERM
+ FileUtils.cp_r(src_gemlib, gemlib)
+ puts "copied #{gemlib}"
+ end
+ end
+ end
+end
+
$top_srcdir = srcdir
$topdir = "."
$hdrdir = hdrdir