moz.build
author Jim Blandy <jimb@mozilla.com>
Thu, 19 Mar 2015 02:12:53 -0700
changeset 234941 5e45fba743aaa512910782fa01cd189ca15900ac
parent 231479 7a4c862d6cf323cafd477359ee961caf0d13b16d
child 239621 8fcb10ac4ee5b8e2630c7eae30a8054249f05f04
permissions -rw-r--r--
Bug 1134039: Make SpiderMonkey standalone (JS_STANDALONE) builds use jemalloc and mozglue by default. r=glandium JS_STANDALONE builds don't need everything in mozglue; have mozglue omit the unneeded code for such builds. Since the SpiderMonkey binaries are now more like the other Gecko binaries, we can remove some special cases for JS_STANDALONE in GeckoSharedLibrary, GeckoProgram, etc. All Gecko binaries now use mozglue, which contains mfbt, so we no longer need mention mfbt explicitly. Add a property to the getBuildConfiguration testing function's result that indicates whether we're using jemalloc or not. Include the newly necessary source directories in the SpiderMonkey source package.

# -*- 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/.

with Files('**/Makefile.in'):
    BUG_COMPONENT = ('Core', 'Build Config')
    FINAL = True

CONFIGURE_SUBST_FILES += [
    'config/autoconf.mk',
    'config/emptyvars.mk',
]

if CONFIG['ENABLE_CLANG_PLUGIN']:
    DIRS += ['build/clang-plugin']

DIRS += [
    'config',
    'python',
]

if not CONFIG['JS_STANDALONE']:
    CONFIGURE_SUBST_FILES += [
        'mozilla-config.h',
        'tools/update-packaging/Makefile',
    ]

    DIRS += [
        'build',
        'probes',
    ]

if not CONFIG['LIBXUL_SDK']:
    DIRS += [
        'mozglue',
        'mfbt',
        'config/external/zlib',
    ]

    if CONFIG['MOZ_MEMORY']:
        DIRS += ['memory']

    if not CONFIG['JS_STANDALONE']:
        if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
            DIRS += ['other-licenses/android']

        DIRS += [
            'memory/fallible',
            'memory/mozalloc',
            'memory/volatile',
        ]

if not CONFIG['JS_STANDALONE']:
    DIRS += ['xpcom/xpidl']

if CONFIG['COMPILE_ENVIRONMENT'] and not CONFIG['LIBXUL_SDK']:
    DIRS += ['config/external/nspr']

    if not CONFIG['JS_STANDALONE']:
        DIRS += [
            'config/external',
            'config/external/nss',
        ]

    if CONFIG['BUILD_CTYPES']:
        DIRS += ['config/external/ffi']
    if CONFIG['USE_ICU']:
        DIRS += ['config/external/icu']
    DIRS += ['js/src']

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')

include('build/templates.mozbuild')