third_party.pigweed.src/pw_android_toolchain/android.gni
Scott James Remnant aa00a15beb pw_android_toolchain: Generate Android NDK toolchains
The default Pigweed pw_toolchain defines the `ar`, `cc`, and `cxx`
tools in the base toolchain definition, and builds more customization
on top.

For Android, since those paths are defined based on build args and
toolchain defaults such as `current_cpu` and `api_level`, instead
provide "pw_generate_android_toolchain" that defines them last before
calling "generate_toolchain".

Otherwise arrange matters such that defining Android targets feels
as close to the other Pigweed targets as possible.

Change-Id: Ic28b62f18c2600cea9c9890389672604e9741773
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/55340
Commit-Queue: Scott James Remnant <keybuk@google.com>
Reviewed-by: Anthony DiGirolamo <tonymd@google.com>
2021-08-05 20:38:59 +00:00

36 lines
1.3 KiB
Plaintext

# Copyright 2021 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
declare_args() {
# Enable building with an Android toolchain by setting to the full path of
# an Android NDK.
pw_android_toolchain_NDK_PATH = ""
# Set to the default minimum version of the Android SDK to compile support
# for. This will change which compiler from the NDK is used, and can be
# overriden on a per-toolchain basis using `api_level` within a toolchain's
# defaults.
pw_android_toolchain_API_LEVEL = 21
}
# Android NDKs contain toolchains for the following multiple targets.
# `pw_generate_android_toolchains` will create toolchains for each of these
# targets if a toolchain scope's defaults does not contain `current_cpu`.
pw_android_toolchain_cpu_targets = [
"arm",
"arm64",
"x64",
"x86",
]