When I originally implemented bug 1458161, this is how it was done, but it was suggested to use a configure-time check. This turned out to not be great, because the rust compiler changes regularly, and we don't run the configure tests when the version changes. When people upgraded their rust compiler to 1.27, the code subsequently failed to build because the features were still set for the previous version they had installed.
28 lines
964 B
Python
28 lines
964 B
Python
# -*- 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/.
|
|
|
|
gkrust_features = ['servo', 'bindgen']
|
|
|
|
if CONFIG['MOZ_DEBUG']:
|
|
gkrust_features += ['gecko_debug']
|
|
|
|
if CONFIG['MOZ_BUILD_WEBRENDER']:
|
|
gkrust_features += ['quantum_render']
|
|
|
|
if CONFIG['MOZ_PULSEAUDIO']:
|
|
gkrust_features += ['cubeb_pulse_rust']
|
|
|
|
if CONFIG['MOZ_RUST_SIMD']:
|
|
gkrust_features += ['simd-accel']
|
|
|
|
# This feature is only supported on Linux and macOS, and this check needs to
|
|
# match MOZ_CUBEB_REMOTING in CubebUtils.cpp.
|
|
if (CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TARGET'] != 'Android') or CONFIG['OS_ARCH'] == 'Darwin':
|
|
gkrust_features += ['cubeb-remoting']
|
|
|
|
if CONFIG['MOZ_MEMORY']:
|
|
gkrust_features += ['moz_memory']
|