Changeset 890

Show
Ignore:
Timestamp:
11/22/07 13:53:00 (10 months ago)
Author:
luislavena
Message:

Update the fastthread gem for windows.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/projects/fastthread/Rakefile

    r591 r890  
    1111  p.need_tar_gz = false 
    1212  p.need_tgz = true 
    13   p.certificate_chain = ['/Users/eweaver/p/configuration/gem_certificates/mongrel/mongrel-public_cert.pem', 
    14     '/Users/eweaver/p/configuration/gem_certificates/evan_weaver-mongrel-public_cert.pem']     
     13  # FIXME: find a workaround to have multiple key chains outside the Rakefile 
     14  # tried GEM_CERTIFICATE_CHAIN but produces an asn1 error 
     15  p.certificate_chain = ['~/sources/gem_certificates/mongrel-public_cert.pem', 
     16                         '~/sources/gem_certificates/luislavena-mongrel-public_cert.pem'] 
     17  #p.certificate_chain = ['/Users/eweaver/p/configuration/gem_certificates/mongrel/mongrel-public_cert.pem', 
     18  #  '/Users/eweaver/p/configuration/gem_certificates/evan_weaver-mongrel-public_cert.pem']     
    1519  p.require_signed = true 
    1620 
    1721  p.eval = proc do   
    1822    if RUBY_PLATFORM.match("win32") 
    19       platform = Gem::Platform::WIN32 
    20       files += ['lib/fastthread.so'] 
     23      extensions.clear 
     24      self.platform = Gem::Platform::WIN32 
     25      self.files += ['lib/fastthread.so'] 
    2126      task :package => [:clean, :compile] 
    2227    end 
    2328  end 
     29end 
    2430 
     31def move_extensions 
     32  Dir["ext/**/*.#{Config::CONFIG['DLEXT']}"].each { |file| mv file, "lib/" } 
    2533end 
     34 
     35case RUBY_PLATFORM 
     36when /mswin/ 
     37  filename = "lib/fastthread.so" 
     38  file filename do 
     39    Dir.chdir("ext/fastthread") do 
     40      ruby "extconf.rb" 
     41      system(PLATFORM =~ /mswin/ ? 'nmake' : 'make') 
     42    end 
     43    move_extensions 
     44  end 
     45  task :compile => [filename] 
     46end