From 3d4efc754ec2f2b73fdd0fc711fa3e4387335c4b Mon Sep 17 00:00:00 2001 From: Laurent Sansonetti Date: Mon, 23 Feb 2015 18:04:26 +0100 Subject: [PATCH] switch to gnustl++, make sure to link it at the very end (after custom libs) --- lib/motion/project/template/android.rb | 2 +- lib/motion/project/template/android/config.rb | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/motion/project/template/android.rb b/lib/motion/project/template/android.rb index 0c2ce11f..0e9dd748 100644 --- a/lib/motion/project/template/android.rb +++ b/lib/motion/project/template/android.rb @@ -234,7 +234,7 @@ EOS App.info 'Create', libpayload_path FileUtils.mkdir_p(File.dirname(libpayload_path)) sh "#{App.config.cc} #{App.config.cflags} -c \"#{payload_c}\" -o \"#{payload_o}\"" - sh "#{App.config.cxx} #{App.config.ldflags} \"#{payload_o}\" #{ruby_objs.map { |o, _| "\"" + o + "\"" }.join(' ')} -o \"#{libpayload_path}\" #{App.config.ldlibs} #{App.config.libs.join(' ')}" + sh "#{App.config.cxx} #{App.config.ldflags} \"#{payload_o}\" #{ruby_objs.map { |o, _| "\"" + o + "\"" }.join(' ')} -o \"#{libpayload_path}\" #{App.config.ldlibs_pre} #{App.config.libs.join(' ')} #{App.config.ldlibs_post}" end # Install native shared libraries. diff --git a/lib/motion/project/template/android/config.rb b/lib/motion/project/template/android/config.rb index f13a6d9d..a4c5e36b 100644 --- a/lib/motion/project/template/android/config.rb +++ b/lib/motion/project/template/android/config.rb @@ -325,9 +325,13 @@ module Motion; module Project; "#{versioned_datadir}/#{arch}" end - def ldlibs + def ldlibs_pre # The order of the libraries matters here. - "-L\"#{ndk_path}/platforms/android-#{api_version}/arch-arm/usr/lib\" -lstdc++ -lc -lm -llog -L\"#{versioned_arch_datadir}\" -lrubymotion-static -L#{ndk_path}/sources/cxx-stl/stlport/libs/armeabi -lstlport_static" + "-L\"#{ndk_path}/platforms/android-#{api_version}/arch-arm/usr/lib\" -lstdc++ -lc -lm -llog -L\"#{versioned_arch_datadir}\" -lrubymotion-static" + end + + def ldlibs_post + "-L#{ndk_path}/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi -lgnustl_static" end def armeabi_directory_name