mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 0a64817fb8
			
		
	
	
		0a64817fb8
		
	
	
	
	
		
			
			git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			520 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			520 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 
 | |
| 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")
 |