diff options
Diffstat (limited to 'ext/aix_ld.rb')
-rw-r--r-- | ext/aix_ld.rb | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/ext/aix_ld.rb b/ext/aix_ld.rb deleted file mode 100644 index 42b2087a46..0000000000 --- a/ext/aix_ld.rb +++ /dev/null @@ -1,73 +0,0 @@ -#! /usr/local/bin/ruby - -def older(file1, file2) - if !File.exist?(file1) then - return TRUE - end - if !File.exist?(file2) then - return FALSE - end - if File.mtime(file1) < File.mtime(file2) - return TRUE - end - return FALSE -end - -target = ARGV.shift -unless target =~ /\.so/ - STDERR.printf "wrong suffix specified\n" - exit 1 -end -base = File.basename(target, ".so") -entry="Init_#{base}" -ldargs = "-e#{entry} -bI:../ruby.imp -bM:SRE -T512 -H512 -lc" - -def uniq(data) - last=nil - data.delete_if do |name| - if last == name - TRUE - else - last = name - FALSE - end - end -end - -def extract(nm, out) - data = nm.readlines.collect{|line| - line = line.split - case line[1] - when "B", "D", "T" - line[2] - else - next - end - }.compact!.sort! - uniq(data) - exp = open(out, "w") - for line in data - exp.printf "%s\n", line - end - exp.close - nm.close -end -if older("../ruby.imp", "../../miniruby") -# nm = open("|/usr/ccs/bin/nm -Bex ../../*.o") -# nm = open("|/usr/ccs/bin/nm -Bex ../../*.o") - nm = open("|nm ../../*.o") - extract(nm, "../ruby.imp") -end - -objs = Dir["*.o"].join(" ") -#nm = open("|/usr/ccs/bin/nm -Bex #{objs}") -nm = open("|nm #{objs}") -extract(nm, "#{base}.exp") - -#system format("/usr/ccs/bin/ld %s %s ",ldargs,ARGV.join(' ')) -#system "/bin/rm -f #{base}.exp" -#system "chmod o-rwx ${base}.so" - -p format("/usr/ccs/bin/ld %s %s ",ldargs,ARGV.join(' ')) -p "/bin/rm -f #{base}.exp" -p "chmod o-rwx ${base}.so" |