Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
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/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/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"]