diff options
Diffstat (limited to 'ext/aix_mksym.rb')
-rw-r--r-- | ext/aix_mksym.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/aix_mksym.rb b/ext/aix_mksym.rb new file mode 100644 index 0000000000..7e1af283dc --- /dev/null +++ b/ext/aix_mksym.rb @@ -0,0 +1,33 @@ + +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" + line[0] + else + next + end + }.compact!.sort! + uniq(data) + exp = open(out, "w") + exp.printf "#!\n" + for line in data + exp.printf "%s\n", line + end + exp.close + nm.close +end +extract(open("|/usr/ccs/bin/nm -p ../libruby.a"), "../ruby.imp") |