Skip to content

Commit

Permalink
Bug 1439742 - Pre: Lift AB_rCD to ambient Make environment. r=ted.mie…
Browse files Browse the repository at this point in the history
…lczarek

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

--HG--
extra : rebase_source : 3277fedb43bc3d8007287c223554a085dae2f198
extra : source : 854c0f43a1f74b4e22aa7638b407580240c90dd5
  • Loading branch information
ncalexan committed Feb 20, 2018
1 parent d6d04d1 commit 28bdb50
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 8 deletions.
20 changes: 20 additions & 0 deletions config/AB_rCD.mk
@@ -0,0 +1,20 @@
# 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)))))
3 changes: 3 additions & 0 deletions config/config.mk
Expand Up @@ -338,6 +338,9 @@ sysinstall_cmd = install_cmd
# MOZ_UI_LOCALE directly, but use an intermediate variable that can be
# overridden by the command line. (Besides, AB_CD is prettier).
AB_CD = $(MOZ_UI_LOCALE)

include $(topsrcdir)/config/AB_rCD.mk

# Many locales directories want this definition.
ACDEFINES += -DAB_CD=$(AB_CD)

Expand Down
12 changes: 4 additions & 8 deletions mobile/android/base/locales/Makefile.in
Expand Up @@ -2,11 +2,7 @@
# 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/.

include $(topsrcdir)/config/config.mk

# special case some locale codes, he and id
# http://code.google.com/p/android/issues/detail?id=3639
AB_rCD = $(if $(filter he, $(AB_CD)),iw,$(if $(filter id, $(AB_CD)),in,$(subst -,-r,$(AB_CD))))
include $(topsrcdir)/config/AB_rCD.mk

SYNCSTRINGSPATH = $(abspath $(call MERGE_FILE,sync_strings.dtd))
STRINGSPATH = $(abspath $(call MERGE_FILE,android_strings.dtd))
Expand All @@ -31,9 +27,9 @@ libs realchrome:: \
chrome-%:: AB_CD=$*
chrome-%::
@$(MAKE) \
$(dir-res-values)-$(AB_rCD)/strings.xml \
$(dir-res-raw)-$(AB_rCD)/suggestedsites.json \
$(dir-res-raw)-$(AB_rCD)/browsersearch.json \
../res/values$(AB_rCD)/strings.xml \
../res/raw$(AB_rCD)/suggestedsites.json \
../res/raw$(AB_rCD)/browsersearch.json \
AB_CD=$*

# Determine the ../res/values[-*]/ path
Expand Down

0 comments on commit 28bdb50

Please sign in to comment.