Module: AndroidPlatform
- Defined in:
- lib/mundler/platforms/android.rb
Class Method Summary collapse
Class Method Details
.cc_and_linker(options) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/mundler/platforms/android.rb', line 34 def self.cc_and_linker() build = "" if [:cc] build += " conf.cc do |cc|\n" build += " cc.command = #{[:cc][:command].inspect}\n" if [:cc][:command] build += " cc.flags << #{[:cc][:flags].inspect}\n" if [:cc][:flags] build += " end\n\n" end if [:linker] build += " conf.linker do |linker|\n" build += " linker.command = #{[:linker][:command].inspect}\n" if [:linker][:command] build += " linker.flags << #{[:linker][:flags].inspect}\n" if [:linker][:flags] build += " end\n\n" end build end |
.config(options, build_config) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/mundler/platforms/android.rb', line 2 def self.config(, build_config) valid_archs = [:"arm64-v8a", :armeabi, :"armeabi-v7a"] [:archs] ||= valid_archs [:archs].map do |arch| unless valid_archs.include?(arch) raise "Invalid architecture #{arch}. Valid values: #{valid_archs}" end <<~BUILD MRuby::CrossBuild.new("android__#{arch}") do |conf| params = { :arch => #{arch.inspect}, :platform => 'android-24', :toolchain => :clang, } if #{arch.inspect} == :"armeabi-v7a" params[:mfpu] = "neon" params[:mfloat_abi] = "hard" end toolchain :android, params #{cc_and_linker([:])} #{build_config.gemboxes} #{build_config.gems(:android)} end BUILD end.join("\n") end |