config/AB_rCD.mk
author Nick Alexander <nalexander@mozilla.com>
Tue, 20 Feb 2018 12:28:21 -0800
changeset 460596 1817640e5a09ab6cc025a30a2e09b8492d990b64
permissions -rw-r--r--
Bug 1439742 - Pre: Lift AB_rCD to ambient Make environment. r=ted.mielczarek I wanted to lift this next to the definition of AB_CD, but that doesn't allow to use it in a backend.mk file, due to the order in which Makefile, config.mk, rules.mk, and backend.mk are processed. Therefore, I've put it in a tiny include file, so that it can be used by a Makefile and a backend.mk file. This allows the `RecursiveMake` backend to owning defining AB_rCD in backend.mk files, while not requiring consumers to arrange for AB_rCD in a sibling Makefile.in file. Other build backends will need to arrange for AB_rCD themselves: see following commits. MozReview-Commit-ID: I7GIzRbCCtf

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Turn 'en-US' into '' and general 'ab-CD' into '-ab-rCD' -- note
# leading hyphen.
#
# For example, 'res{AB_rCD}' is 'res' for 'en-US' and 'res-en-rGB' for
# 'en-GB'.
#
# Some locale codes are special, namely 'he' and 'id'.  See
# http://code.google.com/p/android/issues/detail?id=3639.
#
# This is for use in Android resource directories, which uses a
# somewhat non-standard resource naming scheme for localized
# resources: see
# https://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources.
# Android 24+ uses the standard BCP-47 naming scheme, and Bug 1441305
# tracks migrating to that naming scheme.
AB_rCD = $(if $(filter en-US,$(AB_CD)),,-$(if $(filter he, $(AB_CD)),iw,$(if $(filter id, $(AB_CD)),in,$(subst -,-r,$(AB_CD)))))