DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (aff3f91d0931)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
# -*- 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/.

project_flag('MOZ_ANDROID_EXCLUDE_FONTS',
             help='Whether to exclude font files from the build',
             default=True)

project_flag('MOZ_ANDROID_HLS_SUPPORT',
             help='Enable HLS (HTTP Live Streaming) support (currently using the ExoPlayer library)',
             default=True)

option(env='FENNEC_NIGHTLY',
       help='Enable experimental code for Fennec Nightly users. NOTE: This is *not* equivalent '
            'to the NIGHTLY_BUILD flag set during configure.',
       default=False)

set_config('FENNEC_NIGHTLY', depends_if('FENNEC_NIGHTLY')(lambda _: True))
set_define('FENNEC_NIGHTLY', depends_if('FENNEC_NIGHTLY')(lambda _: True))


@depends('FENNEC_NIGHTLY')
def fennec_nightly(nightly):
    return bool(nightly)

imply_option('MOZ_NORMANDY', False)
imply_option('MOZ_SERVICES_HEALTHREPORT', True)
imply_option('MOZ_ANDROID_HISTORY', True)
imply_option('--enable-small-chunk-size', True)

@depends(target)
def check_target(target):
    if target.os != 'Android':
        log.error('You must specify --target=arm-linux-androideabi (or some '
                  'other valid Android target) when building mobile/android.')
        die('See https://developer.mozilla.org/docs/Mozilla/Developer_guide/'
            'Build_Instructions/Simple_Firefox_for_Android_build '
            'for more information about the necessary options.')

include('../../toolkit/moz.configure')
include('../../build/moz.configure/android-sdk.configure')
include('../../build/moz.configure/java.configure')
include('gradle.configure')

# Automation will set this via the TC environment.
option(env='MOZ_ANDROID_FAT_AAR_ARCHITECTURES',
       nargs='*', choices=('armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'),
       help='Comma-separated list of Android CPU architectures like "armeabi-v7a,arm64-v8a,x86,x86_64"')

set_config('MOZ_ANDROID_FAT_AAR_ARCHITECTURES', depends('MOZ_ANDROID_FAT_AAR_ARCHITECTURES')(lambda x: x))