- ddir = destdir + Config::CONFIG["sitearchdir"]
- FileUtils::Verbose.mkdir_p(ddir) unless File.directory?(ddir)
- FileUtils::Verbose.install(ext.lib_name, ddir, :mode => 0755)
+ tmp = ENV["RUBYARCHDIR"] || Config::CONFIG["sitearchdir"]
+ ddir = File.join(destdir, tmp)
+
+ unless File.expand_path(ext.lib_name) ==
+ File.join(ddir, File.basename(ext.lib_name))
+ FileUtils::Verbose.mkdir_p(ddir) unless File.directory?(ddir)
+ FileUtils::Verbose.install(ext.lib_name, ddir, :mode => 0755)
+ end
+
+ tmp = ENV["RUBYLIBDIR"] || Config::CONFIG["sitelibdir"]
+ ddir = File.join(destdir, tmp)
+
+ PKG_FILES.each do |file|
+ next unless file.pathmap("%1d") == "lib"
+
+ dest_file = file.pathmap("%{^lib,#{ddir}}p")
+
+ next if File.expand_path(file) == dest_file