mobile/android/moz.configure
author Chris Manchester <cmanchester@mozilla.com>
Thu, 09 Jun 2016 11:37:40 -0700
changeset 341419 6fb515b4a1baa1293e80681912548f6b7d50b51f
parent 339239 edcb7e44c957b529114b84af4f6f9a0036a9fd36
child 341824 0f0aee891a7a6ea512448554feb30b68d34c532e
permissions -rw-r--r--
Bug 1278959 - Move MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER to Python configure and make it settable by mozconfig. r=glandium MozReview-Commit-ID: Hoo4vaIrRHq

# -*- Mode: python; c-basic-offset: 4; 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_LOCALE_SWITCHER',
             help='Enable runtime locale switching',
             default=True)

project_flag('MOZ_ANDROID_GCM',
             help='Enable GCM registration on Nightly builds only',
             default=True,
             set_for_old_configure=True)

project_flag('MOZ_ANDROID_DOWNLOADS_INTEGRATION',
             help='Enable system download manager on Android',
             default=True)

project_flag('MOZ_ANDROID_BEAM',
             help='Enable NFC permission on Android',
             default=True)

project_flag('MOZ_ANDROID_SEARCH_ACTIVITY',
             help='Include Search Activity on Android',
             default=True)

project_flag('MOZ_ANDROID_MLS_STUMBLER',
             help='Include Mozilla Location Service Stumbler on Android',
             default=True)

project_flag('MOZ_ANDROID_DOWNLOAD_CONTENT_SERVICE',
             help='Background service for downloading additional content at runtime',
             default=True)

# Enable the Switchboard A/B framework code.
# Note: The framework is always included in the app. This flag controls
# usage of the framework.
project_flag('MOZ_SWITCHBOARD',
             help='Include Switchboard A/B framework on Android',
             default=True)

option('--disable-android-apz', env='MOZ_ANDROID_APZ',
       help='Disable the C++ async pan/zoom code and use the Java version instead')

android_apz = depends_if('--disable-android-apz')(lambda _: True)

set_config('MOZ_ANDROID_APZ', android_apz)
set_define('MOZ_ANDROID_APZ', android_apz)

option(env='MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER',
       help='Build and package the install bouncer APK',
       default=True)

set_config('MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER',
           depends_if('MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER')(lambda _: True))

imply_option('MOZ_SOCIAL', False)
imply_option('MOZ_SERVICES_HEALTHREPORT', True)
imply_option('MOZ_ANDROID_HISTORY', True)

set_config('ANDROID_SUPPORT_LIBRARY_VERSION', '23.0.1')
add_old_configure_assignment('ANDROID_SUPPORT_LIBRARY_VERSION', '23.0.1')

set_config('ANDROID_GOOGLE_PLAY_SERVICES_VERSION', '8.4.0')
add_old_configure_assignment('ANDROID_GOOGLE_PLAY_SERVICES_VERSION', '8.4.0')

@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/java.configure')
include('gradle.configure')