Sha256: 50625e1c4e29b16bc913679b4a18516cc4b6fea5dee168b0b8b907bfebe2664d

Contents?: true

Size: 1.49 KB

Versions: 32

Compression:

Stored size: 1.49 KB

Contents

require "rake/testtask"
require "rake/clean"


OVERSIP_EXTENSIONS = [
  { :dir => "ext/sip_parser", :so => "sip_parser.so", :dest => "lib/oversip/sip" },
  { :dir => "ext/stun", :so => "stun.so", :dest => "lib/oversip" },
  { :dir => "ext/utils", :so => "utils.so", :dest => "lib/oversip" },
  { :dir => "ext/websocket_framing_utils", :so => "ws_framing_utils.so", :dest => "lib/oversip/websocket" },
  { :dir => "ext/websocket_http_parser", :so => "ws_http_parser.so", :dest => "lib/oversip/websocket" },
]

OVERSIP_EXTENSIONS.each do |ext|
  file ext[:so] => Dir.glob(["#{ext[:dir]}/*{.c,.h}"]) do
    Dir.chdir(ext[:dir]) do
      ruby "extconf.rb"
      sh "make"
    end
    cp "#{ext[:dir]}/#{ext[:so]}", "#{ext[:dest]}/"
  end

  CLEAN.include("#{ext[:dir]}/*{.o,.log,.so,.a}")
  CLEAN.include("#{ext[:dir]}/Makefile")
  CLEAN.include("#{ext[:dest]}/#{ext[:so]}")
end

# Stud stuff.
directory "tmp"
file "bin/oversip_stud" => "tmp" do
  Dir.chdir("ext/stud") do
    ruby "extconf.rb"
  end
  FileUtils.remove_dir "tmp"
end
CLEAN.include("ext/stud/Makefile")
CLEAN.include("thirdparty/stud/mkmf.log")
CLEAN.include("bin/oversip_stud")


OVERSIP_COMPILE_ITEMS = OVERSIP_EXTENSIONS.map {|e| e[:so]} << "bin/oversip_stud"


task :default => :compile

desc "Compile"
task :compile => OVERSIP_COMPILE_ITEMS

Rake::TestTask.new do |t|
  t.libs << "test"
end

# Make the :test task depend on the shared object, so it will be built automatically
# before running the tests.
desc "Run tests"
task :test => OVERSIP_COMPILE_ITEMS

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
oversip-1.4.1 Rakefile
oversip-1.4.0 Rakefile
oversip-1.3.8 Rakefile
oversip-1.3.7 Rakefile
oversip-1.3.6 Rakefile
oversip-1.3.5 Rakefile
oversip-1.3.3 Rakefile
oversip-1.3.2 Rakefile
oversip-1.3.1 Rakefile
oversip-1.3.0 Rakefile
oversip-1.3.0.dev1 Rakefile
oversip-1.2.1 Rakefile
oversip-1.2.0 Rakefile
oversip-1.1.2 Rakefile
oversip-1.1.1 Rakefile
oversip-1.1.0 Rakefile
oversip-1.1.0.beta5 Rakefile
oversip-1.1.0.beta4 Rakefile
oversip-1.1.0.beta3 Rakefile
oversip-1.1.0.beta2 Rakefile