X-Git-Url: http://git.tdb.fi/?p=builder.git;a=blobdiff_plain;f=source%2Fandroidtools.cpp;h=eeb6edf532d379948739e5efde7ee3b028c6bc06;hp=15126734de660f128b006573713eaf21f71a4874;hb=cd27d59419ae2bb5947583b0b3dca8bd06ff2975;hpb=d774d554c4c15b963215212b26a9ee5df3d705e8 diff --git a/source/androidtools.cpp b/source/androidtools.cpp index 1512673..eeb6edf 100644 --- a/source/androidtools.cpp +++ b/source/androidtools.cpp @@ -32,12 +32,14 @@ unsigned parse_version(const std::string &version_str) } -AndroidDevKit::AndroidDevKit(Builder &b, const string &type): +AndroidDevKit::AndroidDevKit(Builder &b, const string &type, const FS::Path &default_path): builder(b) { string var = format("ANDROID_%s_ROOT", type); if(const char *value = getenv(var.c_str())) root = value; + else if(!default_path.empty() && FS::exists(default_path)) + root = default_path; else { builder.get_logger().log("problems", format("Android %s not found", type)); @@ -110,8 +112,8 @@ void AndroidSdk::init_api_level(unsigned api) } -AndroidNdk::AndroidNdk(Builder &b, const Architecture &a): - AndroidDevKit(b, "NDK"), +AndroidNdk::AndroidNdk(Builder &b, const Architecture &a, const AndroidSdk &sdk): + AndroidDevKit(b, "NDK", create_default_path(sdk)), architecture(a) { if(!root.empty()) @@ -127,6 +129,13 @@ AndroidNdk::AndroidNdk(Builder &b, const Architecture &a): find_toolchain_dir(); } +FS::Path AndroidNdk::create_default_path(const AndroidSdk &sdk) +{ + if(sdk.get_root_dir().empty()) + return FS::Path(); + return sdk.get_root_dir()/"ndk-bundle"; +} + void AndroidNdk::find_toolchain_dir() { if(root.empty()) @@ -212,7 +221,7 @@ void AndroidNdk::init_api_level(unsigned api) AndroidTools::AndroidTools(Builder &builder, const Architecture &arch): sdk(builder), - ndk(builder, arch) + ndk(builder, arch, sdk) { const set &sdk_api_levels = sdk.get_supported_api_levels(); const set &ndk_api_levels = ndk.get_supported_api_levels();