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 = #{options[:cc][:command].inspect}\n" if [:cc][:command] build += " cc.flags << #{options[:cc][:flags].inspect}\n" if [:cc][:flags] build += " end\n\n" end if [:linker] build += " conf.linker do |linker|\n" build += " linker.command = #{options[:linker][:command].inspect}\n" if [:linker][:command] build += " linker.flags << #{options[: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 " MRuby::CrossBuild.new(\"android__\#{arch}\") do |conf|\n params = {\n :arch => \#{arch.inspect},\n :platform => 'android-24',\n :toolchain => :clang,\n }\n\n if \#{arch.inspect} == :\"armeabi-v7a\"\n params[:mfpu] = \"neon\"\n params[:mfloat_abi] = \"hard\"\n end\n\n toolchain :android, params\n\n \#{cc_and_linker(options[:options])}\n \#{build_config.gemboxes}\n \#{build_config.gems(:android)}\n end\n BUILD\n end.join(\"\\n\")\nend\n" |