]> git.tdb.fi Git - builder.git/commitdiff
Force shared linking on Android
authorMikko Rasa <tdb@tdb.fi>
Fri, 10 Oct 2014 21:43:05 +0000 (00:43 +0300)
committerMikko Rasa <tdb@tdb.fi>
Fri, 10 Oct 2014 21:43:05 +0000 (00:43 +0300)
Android applications are not run as standalone programs, but instead
loaded as native libraries into the Java VM.

source/androidlinker.cpp
source/androidlinker.h

index 8b7685ba3610ffde0b936940ec2d71c91797cd5c..5f35446d3034b622cff5864906ca4f5a40c76dd4 100644 (file)
@@ -1,9 +1,16 @@
 #include "androidlinker.h"
 #include "androidtools.h"
 
+using namespace std;
+
 AndroidLinker::AndroidLinker(Builder &b, const Architecture &a, const AndroidNdk &ndk):
        GnuLinker(b, a, ndk.get_platform_sysroot())
 {
        set_command((ndk.get_bin_dir()/command).str());
        build_info.libpath.insert(build_info.libpath.end(), system_path.begin(), system_path.end());
 }
+
+Target *AndroidLinker::create_target(const list<Target *> &sources, const string &)
+{
+       return GnuLinker::create_target(sources, "shared");
+}
index 5f30fcd14facc6e417274f0588026c664cc49c42..2c9ea725011e201a31ab365d300799656f5f4b41 100644 (file)
@@ -9,6 +9,8 @@ class AndroidLinker: public GnuLinker
 {
 public:
        AndroidLinker(Builder &, const Architecture &, const AndroidNdk &);
+
+       virtual Target *create_target(const std::list<Target *> &, const std::string &);
 };
 
 #endif