mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 5542fe44bd
			
		
	
	
		5542fe44bd
		
	
	
	
	
		
			
			[ruby-list:44111] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			591 B
		
	
	
	
		
			Ruby
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			591 B
		
	
	
	
		
			Ruby
		
	
	
		
			Executable file
		
	
	
	
	
| #!./miniruby -s
 | |
| 
 | |
| $:.unshift(File.expand_path("../..", __FILE__))
 | |
| require 'win32/mkexports'
 | |
| 
 | |
| class Exports::Bcc < Exports
 | |
|   Forwards = /^rb_w32_(\w+)/
 | |
| 
 | |
|   def forwarding(internal, export)
 | |
|     internal[/\A_?/]+export
 | |
|   end
 | |
| 
 | |
|   def each_export(objs)
 | |
|     objs.each do |obj|
 | |
|     opt = /\.(?:so|dll)\z/i =~ obj ? "-ee" : "-oiPUBDEF -oiPUBD32"
 | |
|     IO.foreach("|tdump -q #{opt} #{obj.tr('/', '\\')} < nul") do |l|
 | |
|       next unless /(?:PUBDEF|PUBD32|EXPORT)/ =~ l
 | |
|         yield $1 if /'(.*?)'/ =~ l
 | |
|       end
 | |
|     end
 | |
|     yield "_strcasecmp", "_stricmp"
 | |
|     yield "_strncasecmp", "_strnicmp"
 | |
|   end
 | |
| end
 |