gecko-dev/moz.build
Axel Hecht c92e5dfc1e bug 1370176, generic configuration for l10n, r=flod,gps
The current way to configure compare-locales has a lot of
assumptions that make our l10n system really stubborn.

The generic configuration is independent of python, and uses
toml files for configuration. They're still modular, but
there's only one file format.

See http://moz-l10n-config.readthedocs.io/en/latest/fileformat.html
for the specification.

Also fixes a few nits in filter.py, where we compared the
entity key as bool, which is false if we pass in ''.
Explicitly compare as "entity is None" to be precise about
when we're checking files.

MozReview-Commit-ID: 5TmfobaImF4

--HG--
extra : rebase_source : 84e56eb2076e74f79677df9e0368811579c1f173
2017-06-05 10:28:33 +02:00

142 lines
3.3 KiB
Python

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
with Files('AUTHORS'):
BUG_COMPONENT = ('mozilla.org', 'Licensing')
with Files('LICENSE'):
BUG_COMPONENT = ('mozilla.org', 'Licensing')
with Files('LEGAL'):
BUG_COMPONENT = ('mozilla.org', 'Licensing')
with Files('aclocal.m4'):
BUG_COMPONENT = ('Core', 'Build Config')
with Files('Android.mk'):
BUG_COMPONENT = ('Firefox for Android', 'Build Config & IDE Support')
with Files('client.*'):
BUG_COMPONENT = ('Core', 'Build Config')
with Files('CLOBBER'):
BUG_COMPONENT = ('Core', 'Build Config')
with Files('*configure*'):
BUG_COMPONENT = ('Core', 'Build Config')
with Files('mach'):
BUG_COMPONENT = ('Core', 'mach')
with Files('*moz*'):
BUG_COMPONENT = ('Core', 'Build Config')
with Files('GNUmakefile'):
BUG_COMPONENT = ('Core', 'Build Config')
with Files('*gradle*'):
BUG_COMPONENT = ('Firefox for Android', 'Build Config & IDE Support')
with Files('**/l10n.toml'):
BUG_COMPONENT = ('Core', 'Localization')
FINAL = True
with Files('README.txt'):
BUG_COMPONENT = ('Core', 'General')
with Files('**/Makefile.in'):
BUG_COMPONENT = ('Core', 'Build Config')
FINAL = True
FILES_PER_UNIFIED_FILE = 1
CONFIGURE_SUBST_FILES += [
'config/autoconf.mk',
'config/emptyvars.mk',
]
if CONFIG['ENABLE_CLANG_PLUGIN']:
DIRS += ['build/clang-plugin']
DIRS += [
'config',
'python',
'taskcluster',
'testing/mozbase',
'third_party/python',
]
if not CONFIG['JS_STANDALONE']:
# These python manifests are included here so they get picked up without an objdir
PYTHON_UNITTEST_MANIFESTS += [
'testing/marionette/harness/marionette_harness/tests/harness_unit/python.ini',
'testing/mochitest/tests/python/python.ini',
]
CONFIGURE_SUBST_FILES += [
'tools/update-packaging/Makefile',
]
CONFIGURE_DEFINE_FILES += [
'mozilla-config.h',
]
EXPORTS += [
'!buildid.h',
'!mozilla-config.h',
'!source-repo.h',
]
GENERATED_FILES += [
'buildid.h',
'source-repo.h',
]
GENERATED_FILES['buildid.h'].script = 'build/variables.py:buildid_header'
GENERATED_FILES['source-repo.h'].script = 'build/variables.py:source_repo_header'
DIRS += [
'build',
'probes',
]
if CONFIG['COMPILE_ENVIRONMENT']:
DIRS += ['js/src']
DIRS += [
'config/external/fdlibm',
'config/external/nspr',
'config/external/zlib',
'memory',
'mfbt',
'mozglue',
]
if not CONFIG['JS_STANDALONE']:
DIRS += ['xpcom/xpidl']
if CONFIG['USE_ICU']:
DIRS += ['config/external/icu']
if CONFIG['COMPILE_ENVIRONMENT']:
if not CONFIG['JS_STANDALONE']:
DIRS += [
'config/external',
'security',
]
if CONFIG['BUILD_CTYPES']:
DIRS += ['config/external/ffi']
else:
TEST_DIRS += ['js/src/tests']
if not CONFIG['JS_STANDALONE'] and CONFIG['MOZ_BUILD_APP']:
# Bring in the configuration for the configured application.
include('/' + CONFIG['MOZ_BUILD_APP'] + '/app.mozbuild')
CONFIGURE_SUBST_FILES += ['.cargo/config']
include('build/templates.mozbuild')