2011-04-15 21:19:26 +00:00
|
|
|
require "fileutils"
|
2011-10-21 19:55:08 +00:00
|
|
|
require "rbconfig"
|
2011-04-15 21:19:26 +00:00
|
|
|
|
|
|
|
module CapybaraWebkitBuilder
|
|
|
|
extend self
|
|
|
|
|
2011-07-25 13:43:05 +00:00
|
|
|
def make_bin
|
2012-01-27 15:26:05 +00:00
|
|
|
ENV['MAKE'] || 'make'
|
2011-07-25 13:43:05 +00:00
|
|
|
end
|
|
|
|
|
2012-01-27 15:26:05 +00:00
|
|
|
def qmake_bin
|
|
|
|
ENV['QMAKE'] || 'qmake'
|
|
|
|
end
|
|
|
|
|
|
|
|
def spec
|
|
|
|
ENV['SPEC'] || os_spec
|
|
|
|
end
|
|
|
|
|
|
|
|
def os_spec
|
2011-10-21 19:55:08 +00:00
|
|
|
case RbConfig::CONFIG['host_os']
|
2011-05-22 14:51:11 +00:00
|
|
|
when /linux/
|
2012-01-27 15:26:05 +00:00
|
|
|
"linux-g++"
|
2011-07-25 13:43:05 +00:00
|
|
|
when /freebsd/
|
2012-01-27 15:26:05 +00:00
|
|
|
"freebsd-g++"
|
2011-10-06 15:07:20 +00:00
|
|
|
when /mingw32/
|
|
|
|
"win32-g++"
|
2011-05-22 14:51:11 +00:00
|
|
|
else
|
2012-01-27 15:26:05 +00:00
|
|
|
"macx-g++"
|
2011-05-22 14:51:11 +00:00
|
|
|
end
|
2011-04-15 21:19:26 +00:00
|
|
|
end
|
|
|
|
|
2012-01-27 15:26:05 +00:00
|
|
|
def makefile
|
2012-03-08 16:53:59 +00:00
|
|
|
system("#{qmake_bin} -spec #{spec}")
|
2012-01-27 15:26:05 +00:00
|
|
|
end
|
|
|
|
|
2011-04-15 21:19:26 +00:00
|
|
|
def qmake
|
2012-03-08 16:53:59 +00:00
|
|
|
system("#{make_bin} qmake")
|
2011-04-15 21:19:26 +00:00
|
|
|
end
|
|
|
|
|
2011-10-06 15:07:20 +00:00
|
|
|
def path_to_binary
|
|
|
|
case RUBY_PLATFORM
|
|
|
|
when /mingw32/
|
|
|
|
"src/debug/webkit_server.exe"
|
|
|
|
else
|
|
|
|
"src/webkit_server"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-04-15 21:19:26 +00:00
|
|
|
def build
|
2011-07-25 13:43:05 +00:00
|
|
|
system(make_bin) or return false
|
2011-04-15 21:19:26 +00:00
|
|
|
|
|
|
|
FileUtils.mkdir("bin") unless File.directory?("bin")
|
2011-10-06 15:07:20 +00:00
|
|
|
FileUtils.cp(path_to_binary, "bin", :preserve => true)
|
2011-04-15 21:19:26 +00:00
|
|
|
end
|
|
|
|
|
2012-03-08 16:53:59 +00:00
|
|
|
def clean
|
|
|
|
File.open("Makefile", "w") do |file|
|
|
|
|
file.print "all:\n\t@echo ok\ninstall:\n\t@echo ok"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-04-15 21:19:26 +00:00
|
|
|
def build_all
|
2011-05-05 21:45:44 +00:00
|
|
|
makefile &&
|
|
|
|
qmake &&
|
2012-03-08 16:53:59 +00:00
|
|
|
build &&
|
|
|
|
clean
|
2011-04-15 21:19:26 +00:00
|
|
|
end
|
|
|
|
end
|