gecko-dev/hal/moz.build
Emilio Cobos Álvarez 9ddc42292b Bug 1760839 - Use more automatic memory management in GTK code. r=stransky
This fixes a couple potential leaks (e.g., see the UPowerClient changes,
we weren't freeing all the devices properly).

Differential Revision: https://phabricator.services.mozilla.com/D141775
2022-03-23 16:14:34 +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",
"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/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_GTK3_CFLAGS"]
CFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
CXXFLAGS += CONFIG["GLIB_CFLAGS"]
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]