Codebase list mruby / 8488425
Merge pull request #3223 from AltimitSystems/android.rake-ndk-clang Android Task GCC support re-added Yukihiro "Matz" Matsumoto authored 7 years ago GitHub committed 7 years ago
1 changed file(s) with 28 addition(s) and 17 deletion(s). Raw diff Collapse all Expand all
1212 ~/Library/Android/ndk
1313 }
1414
15 TOOLCHAINS = [:clang] # TODO : Add gcc support
15 TOOLCHAINS = [:clang, :gcc]
1616
1717 ARCHITECTURES = %w{
1818 armeabi armeabi-v7a arm64-v8a
4545 end
4646
4747 def bin_gcc(command)
48 case toolchain
49 when :gcc then bin(command)
50 when :clang
51 command = command.to_s
52
53 command = case arch
54 when /armeabi/ then 'arm-linux-androideabi-'
55 when /arm64-v8a/ then 'aarch64-linux-android-'
56 when /x86_64/ then 'x86_64-linux-android-'
57 when /x86/ then 'i686-linux-android-'
58 when /mips64/ then 'mips64el-linux-android-'
59 when /mips/ then 'mipsel-linux-android-'
60 end + command
61
62 gcc_toolchain_path.join('bin', command).to_s
63 end
48 command = command.to_s
49
50 command = case arch
51 when /armeabi/ then 'arm-linux-androideabi-'
52 when /arm64-v8a/ then 'aarch64-linux-android-'
53 when /x86_64/ then 'x86_64-linux-android-'
54 when /x86/ then 'i686-linux-android-'
55 when /mips64/ then 'mips64el-linux-android-'
56 when /mips/ then 'mipsel-linux-android-'
57 end + command
58
59 gcc_toolchain_path.join('bin', command).to_s
6460 end
6561
6662 def bin(command)
8783
8884 def toolchain_path
8985 @toolchain_path ||= case toolchain
86 when :gcc
87 gcc_toolchain_path
9088 when :clang
9189 home_path.join('toolchains', 'llvm' , 'prebuilt', host_platform)
9290 end
189187
190188 def cc
191189 case toolchain
190 when :gcc then bin_gcc('gcc')
192191 when :clang then bin('clang')
193192 end
194193 end
195194
196195 def ar
197196 case toolchain
197 when :gcc then bin_gcc('ar')
198198 when :clang then bin_gcc('ar')
199199 end
200200 end
204204
205205 flags += %W(-D__android__ --sysroot="#{sysroot}")
206206 case toolchain
207 when :gcc
208 flags += %W(-mandroid)
209 case arch
210 when /armeabi-v7a/ then flags += %W(-march=armv7-a)
211 when /armeabi/ then flags += %W(-march=armv5te)
212 when /arm64-v8a/ then flags += %W(-march=armv8-a)
213 when /x86_64/ then flags += %W(-march=x86-64)
214 when /x86/ then flags += %W(-march=i686)
215 when /mips64/ then flags += %W(-march=mips64)
216 when /mips/ then flags += %W(-march=mips32)
217 end
207218 when :clang
208219 flags += %W(-gcc-toolchain "#{gcc_toolchain_path.to_s}")
209220 case arch