// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.IO;
namespace Flax.Build.Platforms
{
///
/// The Android build platform implementation.
///
///
///
public class AndroidPlatform : UnixPlatform
{
///
public override TargetPlatform Target => TargetPlatform.Android;
///
public override bool HasRequiredSDKsInstalled { get; }
///
public override bool HasSharedLibrarySupport => true;
///
public override bool HasExecutableFileReferenceSupport => true;
///
public override string ExecutableFileExtension => ".so";
///
public override string ExecutableFilePrefix => "lib";
///
/// Initializes a new instance of the class.
///
public AndroidPlatform()
{
HasRequiredSDKsInstalled = AndroidSdk.Instance.IsValid && AndroidNdk.Instance.IsValid;
}
///
protected override Toolchain CreateToolchain(TargetArchitecture architecture)
{
var ndk = AndroidNdk.Instance.RootPath;
var toolchainRoot = Path.Combine(ndk, "toolchains", "llvm", "prebuilt", AndroidSdk.GetHostName());
return new AndroidToolchain(this, architecture, toolchainRoot);
}
}
}