mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
50 lines
1.1 KiB
Ruby
50 lines
1.1 KiB
Ruby
|
require 'mkmf'
|
||
|
require 'ftools'
|
||
|
|
||
|
SO_LIBS = ["dl.so"]
|
||
|
|
||
|
$ruby_version = CONFIG['MAJOR'] + "." + CONFIG['MINOR']
|
||
|
$prefix = CONFIG['prefix']
|
||
|
$libdir = File.join($prefix,'lib')
|
||
|
$rubylibdir = File.join($libdir, 'ruby', $ruby_version)
|
||
|
$arch = CONFIG['arch']
|
||
|
$archdir = File.join($rubylibdir, $arch)
|
||
|
|
||
|
def find(dir, match = /./)
|
||
|
Dir.chdir(dir)
|
||
|
files = []
|
||
|
Dir.new(".").each{|file|
|
||
|
if( file != "." && file != ".." )
|
||
|
case File.ftype(file)
|
||
|
when "file"
|
||
|
if( file =~ match )
|
||
|
files.push(File.join(dir,file))
|
||
|
end
|
||
|
when "directory"
|
||
|
files += find(file, match).collect{|f| File.join(dir,f)}
|
||
|
end
|
||
|
end
|
||
|
}
|
||
|
Dir.chdir("..")
|
||
|
return files
|
||
|
end
|
||
|
|
||
|
def install()
|
||
|
rb_files = find(File.join(".","lib"), /.rb$/)
|
||
|
|
||
|
SO_LIBS.each{|f|
|
||
|
File.makedirs($rubylibdir, "#{$archdir}")
|
||
|
File.install(f, File.join($archdir,f), 0555, true)
|
||
|
}
|
||
|
|
||
|
rb_files.each{|f|
|
||
|
origfile = f
|
||
|
instfile = File.join($rubylibdir, origfile.sub("./lib/",""))
|
||
|
instdir = File.dirname(instfile)
|
||
|
File.makedirs(instdir)
|
||
|
File.install(origfile, instfile, 0644, true)
|
||
|
}
|
||
|
end
|
||
|
|
||
|
install()
|