Raw File
gyp.mozbuild
# -*- 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/.

gyp_vars = {
    'build_with_mozilla': 1,
    'build_with_chromium': 0,
    'have_clock_monotonic': 1 if CONFIG['HAVE_CLOCK_MONOTONIC'] else 0,
    'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0,
    'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0,
    'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0,
    # basic stuff for everything
    'include_internal_video_render': 0,
    'clang_use_chrome_plugins': 0,
    'enable_protobuf': 0,
    'include_tests': 0,
    'enable_android_opensl': 1,
    'enable_android_opensl_output': 0,
    # use_system_lib* still seems to be in use in trunk/build
    'use_system_libjpeg': 0,
    'use_system_libvpx': 0,
    'build_libjpeg': 0,
    'build_libvpx': 0,
    # saves 4MB when webrtc_trace is off
    'enable_lazy_trace_alloc': 1,

     # turn off mandatory use of NEON and instead use NEON detection
    'arm_neon': 0,

    'moz_widget_toolkit_gonk': 0,

    # (for vp8) chromium sets to 0 also
    'use_temporal_layers': 0,
    # Creates AEC internal sample dump files in current directory
    # 'aec_debug_dump': 1,

    # codec enable/disables:
    'include_g711': 1,
    'include_opus': 1,
    'include_g722': 0,
    'include_ilbc': 0,
    'include_isac': 0,
    'include_pcm16b': 1,
}

os = CONFIG['OS_TARGET']

if os == 'WINNT':
    gyp_vars.update(
        MSVS_VERSION=CONFIG['_MSVS_VERSION'],
        MSVS_OS_BITS=64 if CONFIG['HAVE_64BIT_OS'] else 32,
    )
elif os == 'Android':
    if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
        gyp_vars['build_with_gonk'] = 1
        gyp_vars['moz_widget_toolkit_gonk'] = 1
    else:
        gyp_vars.update(
            gtest_target_type='executable',
            android_toolchain=CONFIG['ANDROID_TOOLCHAIN'],
        )

flavors = {
    'WINNT': 'win',
    'Android': 'linux' if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' else 'android',
    'Linux': 'linux',
    'Darwin': 'mac' if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa' else 'ios',
    'SunOS': 'solaris',
    'GNU_kFreeBSD': 'freebsd',
    'DragonFly': 'dragonfly',
    'FreeBSD': 'freebsd',
    'NetBSD': 'netbsd',
    'OpenBSD': 'openbsd',
}
gyp_vars['OS'] = flavors[os]

arches = {
    'x86_64': 'x64',
    'arm': 'arm',
    'x86': 'ia32',
    'ppc': 'ppc',
    'ppc64': 'ppc',
    'ia64': 'ia64',
}

gyp_vars['target_arch'] = arches[CONFIG['CPU_ARCH']]

if CONFIG['ARM_ARCH']:
    if int(CONFIG['ARM_ARCH']) < 7:
        gyp_vars['armv7'] = 0
    elif os == 'Android':
        gyp_vars['armv7'] = 1
    else:
        # CPU detection for ARM works on Android only.  armv7 always uses CPU
        # detection, so we have to set armv7=0 for non-Android target
        gyp_vars['armv7'] = 0

# Don't try to compile ssse3/sse4.1 code if toolchain doesn't support
if CONFIG['INTEL_ARCHITECTURE']:
    if not CONFIG['HAVE_TOOLCHAIN_SUPPORT_MSSSE3'] or not CONFIG['HAVE_TOOLCHAIN_SUPPORT_MSSE4_1']:
        gyp_vars['yuv_disable_asm'] = 1

if CONFIG['MACOS_SDK_DIR']:
    gyp_vars['mac_sdk_path'] = CONFIG['MACOS_SDK_DIR']
back to top