/// Copyright (c) 2021 ARM Limited and Contributors. All rights reserved.
///
/// SPDX-License-Identifier: MIT
///

namespace armnn
{
/**
@page buildguides Build Guides

This page links all guides to build and/or install Arm NN tools hosted in our repository.
You can find additional tutorials on
https://developer.arm.com/solutions/machine-learning-on-arm/developer-material/how-to-guides

Arm NN is written using portable C++14 and the build system uses [CMake](https://cmake.org/), therefore it is possible
to build for a wide variety of target platforms, from a wide variety of host environments.

Arm NN is managed by a single CMake project. That allows you to build multiple tools at once by combining the CMake
options from different build guides.

## Installation via APT Repository
 - @subpage md_InstallationViaAptRepository

## TfLite Delegate build guide
 - @subpage md_delegate_BuildGuideNative

## Android NDK and Arm NN
 - @subpage md_BuildGuideAndroidNDK

**/
}