+ platform_sysroot = platform_archs_dir/("arch-"+use_arch);
+ builder.get_logger().log("tools", format("Android NDK platform sysroot is %s", platform_sysroot));
+}
+
+
+AndroidTools::AndroidTools(Builder &builder, const Architecture &arch):
+ sdk(builder),
+ ndk(builder, arch, sdk)
+{
+ const set<unsigned> &sdk_api_levels = sdk.get_supported_api_levels();
+ const set<unsigned> &ndk_api_levels = ndk.get_supported_api_levels();
+ unsigned highest_common = 0;
+ for(set<unsigned>::const_reverse_iterator i=sdk_api_levels.rbegin(); (!highest_common && i!=sdk_api_levels.rend()); ++i)
+ if(ndk_api_levels.count(*i))
+ highest_common = *i;
+
+ if(highest_common)
+ {
+ sdk.select_api_level(highest_common);
+ ndk.select_api_level(highest_common);
+ }
+ else
+ builder.get_logger().log("problems", "No usable Android platforms found");
+
+ add_tool(new AndroidCompiler(builder, arch, "CC", ndk));
+ add_tool(new AndroidCompiler(builder, arch, "CXX", ndk));
+ add_tool(new AndroidLinker(builder, arch, ndk));
+ add_tool(new AndroidArchiver(builder, arch, ndk));
+ add_tool(new AndroidManifestGenerator(builder));
+ add_tool(new AndroidAssetPackagingTool(builder, sdk));
+ add_tool(new ApkBuilder(builder));
+ add_tool(new JarSigner(builder));