summaryrefslogtreecommitdiffstats
path: root/build/gyp.mozbuild
diff options
context:
space:
mode:
Diffstat (limited to 'build/gyp.mozbuild')
-rw-r--r--build/gyp.mozbuild136
1 files changed, 136 insertions, 0 deletions
diff --git a/build/gyp.mozbuild b/build/gyp.mozbuild
new file mode 100644
index 000000000..ff04f6aac
--- /dev/null
+++ b/build/gyp.mozbuild
@@ -0,0 +1,136 @@
+# -*- 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/.
+
+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.get('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',
+ 'aarch64': 'arm64',
+}
+
+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']