]> git.tdb.fi Git - builder.git/blobdiff - source/androidtools.cpp
Initialize AndroidDevKit::supported_api_levels in the declaration
[builder.git] / source / androidtools.cpp
index c5aab653c51fe3eec613412e1328daead5a2c3a8..e086dd0fdfd08b7e81cf19a52231439550db613d 100644 (file)
@@ -54,20 +54,19 @@ AndroidDevKit::AndroidDevKit(Builder &b, const string &type, const FS::Path &def
                return;
 
        builder.get_logger().log("files", "Traversing %s", platforms_dir.str());
-       supported_api_levels = 0;
        for(const string &p: list_filtered(platforms_dir, "^android-[1-9][0-9]*$"))
        {
                unsigned api = lexical_cast<unsigned>(p.substr(8));
                if(api>63)
                        builder.get_logger().log("problems", "API level %d is too high", api);
                else
-                       supported_api_levels |= 1<<api;
+                       supported_api_levels |= static_cast<uint64_t>(1)<<api;
        }
 }
 
 void AndroidDevKit::select_api_level(unsigned api)
 {
-       if(!(supported_api_levels&(1<<api)))
+       if(!((supported_api_levels>>api)&1))
                throw invalid_argument("AndroidDevKit::select_api_level");
 
        init_api_level(api);
@@ -224,6 +223,7 @@ void AndroidNdk::init_api_level(unsigned api)
 
 
 AndroidTools::AndroidTools(Builder &builder, const Architecture &arch):
+       Toolchain("android-gnu", get_priority(arch)),
        sdk(builder),
        ndk(builder, arch, sdk)
 {
@@ -248,3 +248,11 @@ AndroidTools::AndroidTools(Builder &builder, const Architecture &arch):
        add_tool(new ApkBuilder(builder));
        add_tool(new JarSigner(builder));
 }
+
+int AndroidTools::get_priority(const Architecture &arch)
+{
+       if(arch.get_system()=="android")
+               return 30;
+       else
+               return -10;
+}