diff options
author | ttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-04-02 10:56:13 +0000 |
---|---|---|
committer | ttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-04-02 10:56:13 +0000 |
commit | 7d711b817e62eb6c8dee01ea2283fcb1ad90f8ac (patch) | |
tree | b1b54ab76217775071de4e3669674aa7887aa6b9 /ext/dl/install.rb | |
parent | 64b6406445e53f187d2982f87becff8065edd0cc (diff) | |
download | ruby-7d711b817e62eb6c8dee01ea2283fcb1ad90f8ac.tar.gz |
Add ruby-dl
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/dl/install.rb')
-rw-r--r-- | ext/dl/install.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ext/dl/install.rb b/ext/dl/install.rb new file mode 100644 index 0000000000..69b1834301 --- /dev/null +++ b/ext/dl/install.rb @@ -0,0 +1,49 @@ +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() |