| # -*- 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 = { |
| 'lsan': 0, |
| 'asan': 0, |
| 'build_with_mozilla': 1, |
| 'build_with_chromium': 0, |
| 'use_official_google_api_keys': 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_json': 0, |
| 'build_libjpeg': 0, |
| 'build_libyuv': 0, |
| 'build_libvpx': 0, |
| 'build_ssl': 0, |
| 'build_json': 0, |
| 'build_icu': 0, |
| 'build_opus': 0, |
| 'libyuv_dir': '/media/libyuv', |
| 'yuv_disable_avx2': 0 if CONFIG['HAVE_X86_AVX2'] else 1, |
| # don't use openssl |
| 'use_openssl': 0, |
| |
| 'use_x11': 1 if CONFIG['MOZ_X11'] else 0, |
| 'use_glib': 1 if CONFIG['GLIB_LIBS'] else 0, |
| |
| # turn off mandatory use of NEON and instead use NEON detection |
| 'arm_neon': 0, |
| 'arm_neon_optional': 1, |
| |
| 'moz_widget_toolkit_gonk': 0, |
| 'moz_webrtc_omx': 0, |
| 'moz_webrtc_mediacodec': 0, |
| |
| # Turn off multi monitor screen share |
| 'multi_monitor_screenshare%' : 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, |
| |
| # Enable and force use of hardware AEC |
| 'hardware_aec_ns': 1 if CONFIG['MOZ_WEBRTC_HARDWARE_AEC_NS'] else 0, |
| |
| # codec enable/disables: |
| 'include_g711': 1, |
| 'include_opus': 1, |
| 'include_g722': 1, |
| 'include_ilbc': 0, |
| # We turn on ISAC because the AGC uses parts of it, and depend on the |
| # linker to throw away uneeded bits. |
| 'include_isac': 1, |
| '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_BUILD'] else 32, |
| ) |
| elif os == 'Android': |
| if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': |
| gyp_vars['build_with_gonk'] = 1 |
| gyp_vars['moz_widget_toolkit_gonk'] = 1 |
| gyp_vars['opus_complexity'] = 1 |
| if int(CONFIG['ANDROID_VERSION']) >= 18: |
| gyp_vars['moz_webrtc_omx'] = 1 |
| else: |
| gyp_vars.update( |
| gtest_target_type='executable', |
| moz_webrtc_mediacodec=1, |
| 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.get(os) |
| |
| arches = { |
| 'x86_64': 'x64', |
| 'x86': 'ia32', |
| } |
| |
| gyp_vars['target_arch'] = arches.get(CONFIG['CPU_ARCH'], CONFIG['CPU_ARCH']) |
| |
| if CONFIG['ARM_ARCH']: |
| if int(CONFIG['ARM_ARCH']) < 7: |
| gyp_vars['armv7'] = 0 |
| gyp_vars['arm_neon_optional'] = 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 |
| # For libyuv |
| gyp_vars['arm_version'] = int(CONFIG['ARM_ARCH']) |
| |
| # 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'] |