+ platform_sysroot = platform_archs_dir/("arch-"+use_arch);
+ builder.get_logger().log("tools", "Android NDK platform sysroot is %s", platform_sysroot);
+}
+
+
+AndroidTools::AndroidTools(Builder &builder, const Architecture &arch):
+ sdk(builder),
+ ndk(builder, arch, sdk)
+{
+ if(uint64_t common_api_levels = sdk.get_supported_api_levels()&ndk.get_supported_api_levels())
+ {
+ unsigned api = 0;
+ for(unsigned i=32; i>0; i>>=1)
+ api += i*!!(common_api_levels>>(api+i));
+ builder.get_logger().log("tools", "Using Android API level %d", api);
+ sdk.select_api_level(api);
+ ndk.select_api_level(api);
+ }
+ 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));