mirror of
https://github.com/zhigang1992/RubyMotion.git
synced 2026-04-01 22:42:55 +08:00
no longer need llc
This commit is contained in:
2
Rakefile
2
Rakefile
@@ -85,7 +85,7 @@ desc "Install"
|
||||
task :install do
|
||||
public_binaries = ['./bin/motion']
|
||||
binaries = public_binaries.dup.concat(['./bin/ios/deploy', './bin/ios/sim',
|
||||
'./bin/osx/sim', './bin/llc', './bin/ruby', './bin/ctags', './bin/nfd',
|
||||
'./bin/osx/sim', './bin/ruby', './bin/ctags', './bin/nfd',
|
||||
'lib/yard/bin/yard', 'lib/yard/bin/yardoc', 'lib/yard/bin/yri', './lldb/lldb.py'])
|
||||
data = ['./NEWS']
|
||||
data.concat(Dir.glob('./lib/**/*', File::FNM_DOTMATCH) - ['./lib/Rakefile'])
|
||||
|
||||
@@ -7,9 +7,7 @@ STRIP = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xcto
|
||||
|
||||
task :files do
|
||||
install '../vm/miniruby', 'ruby'
|
||||
install '/usr/local/bin/llc', 'llc'
|
||||
sh "#{STRIP} -x ruby"
|
||||
sh "#{STRIP} -x llc"
|
||||
end
|
||||
|
||||
task :deploy do
|
||||
|
||||
@@ -113,26 +113,16 @@ module Motion; module Project;
|
||||
kernel = File.join(datadir, platform, "kernel-#{arch}.bc")
|
||||
raise "Can't locate kernel file" unless File.exist?(kernel)
|
||||
|
||||
# LLVM bitcode.
|
||||
bc = File.join(files_build_dir, "#{path}.#{arch}.bc")
|
||||
arch_cmd = (arch =~ /^arm/) ? "/usr/bin/arch -arch i386" : "/usr/bin/arch -arch #{arch}"
|
||||
sh "/usr/bin/env VM_KERNEL_PATH=\"#{kernel}\" VM_OPT_LEVEL=\"#{config.opt_level}\" #{arch_cmd} #{ruby} #{rubyc_bs_flags} --emit-llvm \"#{bc}\" #{init_func} \"#{path}\""
|
||||
|
||||
# Assembly.
|
||||
asm = File.join(files_build_dir, "#{path}.#{arch}.s")
|
||||
llc_arch = case arch
|
||||
when 'i386'; 'x86'
|
||||
when 'x86_64'; 'x86-64'
|
||||
when /^arm/; 'arm'
|
||||
else; arch
|
||||
end
|
||||
sh "#{llc} \"#{bc}\" -o=\"#{asm}\" -march=#{llc_arch} -relocation-model=pic -disable-fp-elim -disable-cfi"
|
||||
arch_cmd = (arch =~ /^arm/) ? "/usr/bin/arch -arch i386" : "/usr/bin/arch -arch #{arch}"
|
||||
sh "/usr/bin/env VM_KERNEL_PATH=\"#{kernel}\" VM_OPT_LEVEL=\"#{config.opt_level}\" #{arch_cmd} #{ruby} #{rubyc_bs_flags} --emit-llvm \"#{asm}\" #{init_func} \"#{path}\""
|
||||
|
||||
# Object.
|
||||
arch_obj = File.join(files_build_dir, "#{path}.#{arch}.o")
|
||||
sh "#{cc} -fexceptions -c -arch #{arch} \"#{asm}\" -o \"#{arch_obj}\""
|
||||
|
||||
[bc, asm].each { |x| File.unlink(x) } unless ENV['keep_temps']
|
||||
[asm].each { |x| File.unlink(x) } unless ENV['keep_temps']
|
||||
arch_objs << arch_obj
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user