config/moz.build
author Nick Alexander <nalexander@mozilla.com>
Wed, 19 Jul 2017 15:45:31 -0700
changeset 420463 23330f35f95778ef167c583ddd3e2c99e96198c2
parent 389965 007864924aeb7fad4442c56c8cd10276d58e9e06
child 429624 2de74e37233164513adc7145871ea56b3fb76166
permissions -rw-r--r--
Bug 1255227 - Part 2: Bootstrap and upload android-sdk-linux.tar.xz. r=dustin,sebastian Before this patch, we used the Gradle sdk-manager-plugin to download and install Android SDKs and other dependencies. This plugin is now deprecated; the main dependency downloading functionality has been incorporated into the Android-Gradle build plugin. Unfortunately, it's been incorporated into newer versions that in turn require newer toolchains than we currently support, so we can't use the new functionality immediately. Rather than replace sdk-manager-plugin with equivalent Gradle-based functionality, this ticket uses recently added bootstrap functionality to bootstrap the Android SDK during the dependencies task. It then _uses_ that SDK to run the dependency fetching task, _produces_ an android-sdk-linux.tar.xz, and then _uploads_ the new artifact as a private artifact, ready to be pushed into tooltool. This avoids engineers building this critical part of the toolchain locally themselves, and will also feed into ongoing work to push toolchain artifacts into build jobs in Task Cluster. MozReview-Commit-ID: B6FC0ugaCef

# -*- 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('**'):
    BUG_COMPONENT = ('Core', 'Build Config')

DIST_INSTALL = False
# For sanity's sake, we compile nsinstall without the wrapped system
# headers, so that we can use it to set up the wrapped system headers.
NO_VISIBILITY_FLAGS = True

CONFIGURE_SUBST_FILES += [
    'doxygen.cfg',
    'makefiles/test/Makefile',
    'tests/src-simple/Makefile',
]

if CONFIG['HOST_OS_ARCH'] != 'WINNT':
    HOST_SOURCES += [
        'nsinstall.c',
        'pathsub.c',
    ]
    # stdc++compat depends on config/export, so avoid a circular
    # dependency added by HostProgram depending on stdc++compat,
    # while the program here is in C.
    HostProgram('nsinstall_real', c_only=True)

if CONFIG['MOZ_SYSTEM_ICU']:
    DEFINES['MOZ_SYSTEM_ICU'] = True

PYTHON_UNITTEST_MANIFESTS += [
    'tests/python.ini',
]

if CONFIG['GNU_CC'] and CONFIG['MOZ_OPTIMIZE']:
    CFLAGS += ['-O3']

HOST_DEFINES = {
    'UNICODE': True,
    '_UNICODE': True,
}