summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorcrimsonwoods <[email protected]>2017-02-15 00:36:02 +0900
committercrimsonwoods <[email protected]>2017-02-15 00:36:02 +0900
commit83a3da4456a6bd7405abbbf5c9d2aec6c8f180cb (patch)
treee6d57c2695bceb1bf790b24b4c24a3bd7b8c7f00
parentba812d25ad32df87a101c08d9c0a3632be0c1370 (diff)
downloadmruby-83a3da4456a6bd7405abbbf5c9d2aec6c8f180cb.tar.gz
mruby-83a3da4456a6bd7405abbbf5c9d2aec6c8f180cb.zip
Set default linker 'flags' and 'flags_before_libraries'.
-rw-r--r--tasks/toolchains/android.rake31
1 files changed, 30 insertions, 1 deletions
diff --git a/tasks/toolchains/android.rake b/tasks/toolchains/android.rake
index 0cc60a7a3..0800055c8 100644
--- a/tasks/toolchains/android.rake
+++ b/tasks/toolchains/android.rake
@@ -232,6 +232,34 @@ Set ANDROID_PLATFORM environment variable or set :platform parameter
flags
end
+ def ldflags
+ flags = []
+
+ flags += %W(--sysroot="#{sysroot}")
+
+ flags
+ end
+
+ def ldflags_before_libraries
+ flags = []
+
+ case toolchain
+ when :clang
+ flags += %W(-gcc-toolchain "#{gcc_toolchain_path.to_s}")
+ case arch
+ when /armeabi-v7a/ then flags += %W(-target armv7-none-linux-androideabi)
+ when /armeabi/ then flags += %W(-target armv5te-none-linux-androideabi)
+ when /arm64-v8a/ then flags += %W(-target aarch64-none-linux-android)
+ when /x86_64/ then flags += %W(-target x86_64-none-linux-android)
+ when /x86/ then flags += %W(-target i686-none-linux-android)
+ when /mips64/ then flags += %W(-target mips64el-none-linux-android)
+ when /mips/ then flags += %W(-target mipsel-none-linux-android)
+ end
+ end
+ flags += %W(-no-canonical-prefixes)
+
+ flags
+ end
end
MRuby::Toolchain.new(:android) do |conf, params|
@@ -246,5 +274,6 @@ MRuby::Toolchain.new(:android) do |conf, params|
conf.archiver.command = android.ar
conf.linker.command = android.cc
- conf.linker.flags = []
+ conf.linker.flags = android.ldflags
+ conf.linker.flags_before_libraries = android.ldflags_before_libraries
end