Files
tubestation/hal/moz.build
Makoto Kato 736f125c7e Bug 1954534 - Part 1. Move haptic feedback implementation to hal. r=geckoview-reviewers,gsvelto,ohall
Actually, nsIHapticFeedback is called on content process. Then it calls
OS APIs on content process. So if is is isolated process, it doesn't
work or it will crash.

This patch moves haptic feedback implementation to hal to call OS APIs
on chrome process, like vibration.

Differential Revision: https://phabricator.services.mozilla.com/D241929
2025-03-26 10:16:25 +00:00

142 lines
4.1 KiB
Python

# -*- 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/.
with Files("**"):
BUG_COMPONENT = ("Core", "Hardware Abstraction Layer (HAL)")
EXPORTS.mozilla += [
"Hal.h",
"HalBatteryInformation.h",
"HalImpl.h",
"HalIPCUtils.h",
"HalNetworkInformation.h",
"HalSandbox.h",
"HalScreenConfiguration.h",
"HalSensor.h",
"HalTypes.h",
"HalWakeLock.h",
"HalWakeLockInformation.h",
]
UNIFIED_SOURCES += [
"HalWakeLock.cpp",
"sandbox/SandboxHal.cpp",
"WindowIdentifier.cpp",
]
# Hal.cpp cannot be built in unified mode because it relies on HalImpl.h.
SOURCES += [
"Hal.cpp",
]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
LOCAL_INCLUDES += [
"/widget/android",
]
UNIFIED_SOURCES += [
"android/AndroidHapticFeedback.cpp",
"android/AndroidHeterogeneousCpuInfo.cpp",
"android/AndroidPerformanceHintManager.cpp",
"android/AndroidProcessPriority.cpp",
"android/AndroidSensor.cpp",
]
# AndroidHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
SOURCES += [
"android/AndroidHal.cpp",
]
elif CONFIG["OS_TARGET"] == "Linux":
UNIFIED_SOURCES += [
"fallback/FallbackHeterogeneousCpuInfo.cpp",
"fallback/FallbackScreenConfiguration.cpp",
"fallback/FallbackSensor.cpp",
"fallback/FallbackVibration.cpp",
"linux/LinuxProcessPriority.cpp",
]
if CONFIG["MOZ_ENABLE_DBUS"]:
UNIFIED_SOURCES += [
"linux/UPowerClient.cpp",
]
else:
UNIFIED_SOURCES += [
"fallback/FallbackBattery.cpp",
]
elif CONFIG["OS_TARGET"] == "WINNT":
UNIFIED_SOURCES += [
"fallback/FallbackVibration.cpp",
"windows/WindowsHeterogeneousCpuInfo.cpp",
"windows/WindowsProcessPriority.cpp",
"windows/WindowsScreenConfiguration.cpp",
"windows/WindowsSensor.cpp",
]
# WindowsBattery.cpp cannot be built in unified mode because it relies on HalImpl.h.
SOURCES += [
"windows/WindowsBattery.cpp",
]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
UNIFIED_SOURCES += [
"cocoa/CocoaBattery.cpp",
"cocoa/CocoaHeterogeneousCpuInfo.cpp",
"fallback/FallbackProcessPriority.cpp",
"fallback/FallbackScreenConfiguration.cpp",
"fallback/FallbackVibration.cpp",
]
elif CONFIG["OS_TARGET"] in ("OpenBSD", "NetBSD", "FreeBSD", "DragonFly"):
UNIFIED_SOURCES += [
"fallback/FallbackHeterogeneousCpuInfo.cpp",
"fallback/FallbackProcessPriority.cpp",
"fallback/FallbackScreenConfiguration.cpp",
"fallback/FallbackSensor.cpp",
"fallback/FallbackVibration.cpp",
]
if CONFIG["MOZ_ENABLE_DBUS"]:
UNIFIED_SOURCES += [
"linux/UPowerClient.cpp",
]
else:
UNIFIED_SOURCES += [
"fallback/FallbackBattery.cpp",
]
else:
UNIFIED_SOURCES += [
"fallback/FallbackBattery.cpp",
"fallback/FallbackHeterogeneousCpuInfo.cpp",
"fallback/FallbackProcessPriority.cpp",
"fallback/FallbackScreenConfiguration.cpp",
"fallback/FallbackSensor.cpp",
"fallback/FallbackVibration.cpp",
]
# Fallbacks for backends implemented on Android only.
if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android":
UNIFIED_SOURCES += [
"fallback/FallbackHapticFeedback.cpp",
"fallback/FallbackNetwork.cpp",
"fallback/FallbackPerformanceHintManager.cpp",
]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
UNIFIED_SOURCES += [
"cocoa/CocoaSensor.mm",
"cocoa/smslib.mm",
]
IPDL_SOURCES = [
"sandbox/PHal.ipdl",
]
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
"/dom/base",
]
CFLAGS += CONFIG["GLIB_CFLAGS"]
CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
CXXFLAGS += CONFIG["GLIB_CFLAGS"]
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]