mirror of
https://github.com/zhigang1992/RubyMotion.git
synced 2026-04-01 09:31:20 +08:00
6f48fd5d0b36d7f7494f95b7944df758f6dad488
This changing will introduce: 1. When run 'rake clean', the object files of gem is not removed. To reduce the time when rebuild the project. 2. Across multiple projects that use the same gem, this changing will share the object files. 3. When update RubyMotion with 'motion update', it will remove the object files to clean up disk space.
How to set up
Set up LLVM
$ curl -O http://llvm.org/releases/2.9/llvm-2.9.tgz
$ tar xvzf llvm-2.9.tgz
$ cd llvm-2.9
$ env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ ./configure --enable-bindings=none --enable-optimized --with-llvmgccdir=/tmp
$ env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ make
$ sudo env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ make install
Then,
$ cp /Library/RubyMotion/bin/llc /usr/local/bin/
Set up RubyMotion
$ git clone git@github.com:lrz/RubyMotion.git
$ cd RubyMotion
$ git submodule init
$ git submodule update
$ bundle install
How to debug on RubyMotion app
First, comment out [ios, sim].map ... (line 31) in data/Rakefile as following:
29 # remove debug symbols
30 strip = File.join(PLATFORMS_DIR, '../usr/bin/strip')
31 # [ios, sim].map { |x| Dir.glob(x + '/*.{a,dylib}') }.flatten.each { |x| sh("\"#{strip}\" -S \"#{x}\"") }
Then, build RubyMotion
$ rake optz_level=0
$ sudo rake install
At last, debug on RubyMotion app
$ rake debug=1 no_continue=1
Or, debug on RubyMotion app in iOS device
$ rake device debug=1 no_continue=1
Description
Languages
Ruby
98.5%
HTML
1.3%
Python
0.2%