gecko-dev/hal/moz.build
Andi-Bogdan Postelnicu 2fc4f70e9b Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium
Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.

This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.

Differential Revision: https://phabricator.services.mozilla.com/D122345
2021-08-25 10:46:17 +00:00

136 lines
3.7 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",
"HalNetworkInformation.h",
"HalSandbox.h",
"HalScreenConfiguration.h",
"HalSensor.h",
"HalTypes.h",
"HalWakeLock.h",
"HalWakeLockInformation.h",
]
EXPORTS.mozilla.fallback += [
"fallback/FallbackScreenConfiguration.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/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/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",
]
elif CONFIG["OS_TARGET"] == "WINNT":
REQUIRES_UNIFIED_BUILD = True
UNIFIED_SOURCES += [
"fallback/FallbackScreenConfiguration.cpp",
"fallback/FallbackVibration.cpp",
"windows/WindowsProcessPriority.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",
"fallback/FallbackProcessPriority.cpp",
"fallback/FallbackScreenConfiguration.cpp",
"fallback/FallbackVibration.cpp",
]
elif CONFIG["OS_TARGET"] in ("OpenBSD", "NetBSD", "FreeBSD", "DragonFly"):
UNIFIED_SOURCES += [
"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/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",
]
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_DBUS_GLIB_CFLAGS"]
CXXFLAGS += CONFIG["GLIB_CFLAGS"]
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]