mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-29 07:42:04 +00:00
27283de2b8
The new HAL interface allows for starting, stopping, and querying the status of system services. How these operations are performed depends on the underlying system. The current implementation for Gonk already contains a workaround from Bluetooth, where quickly restarted system services require a cool-down time between retrys.
188 lines
5.3 KiB
Python
188 lines
5.3 KiB
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/.
|
|
|
|
XPIDL_SOURCES += [
|
|
'gonk/nsIRecoveryService.idl',
|
|
]
|
|
|
|
XPIDL_MODULE = 'hal'
|
|
|
|
EXPORTS.mozilla += [
|
|
'Hal.h',
|
|
'HalImpl.h',
|
|
'HalSandbox.h',
|
|
'HalScreenConfiguration.h',
|
|
'HalSensor.h',
|
|
'HalTypes.h',
|
|
'HalWakeLock.h',
|
|
]
|
|
|
|
TEST_DIRS += ['tests']
|
|
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/AndroidAlarm.cpp',
|
|
'android/AndroidSensor.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'linux/LinuxMemory.cpp',
|
|
]
|
|
# AndroidHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
|
|
SOURCES += [
|
|
'android/AndroidHal.cpp',
|
|
]
|
|
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
UNIFIED_SOURCES += [
|
|
'gonk/GonkDiskSpaceWatcher.cpp',
|
|
'gonk/GonkFMRadio.cpp',
|
|
'gonk/GonkSensor.cpp',
|
|
'gonk/GonkSwitch.cpp',
|
|
'gonk/SystemService.cpp',
|
|
'gonk/UeventPoller.cpp',
|
|
'linux/LinuxMemory.cpp',
|
|
'linux/LinuxPower.cpp',
|
|
]
|
|
# GonkHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
|
|
SOURCES += [
|
|
'gonk/GonkHal.cpp',
|
|
]
|
|
elif CONFIG['OS_TARGET'] == 'Linux':
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackAlarm.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackSensor.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
'linux/LinuxMemory.cpp',
|
|
'linux/LinuxPower.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/FallbackAlarm.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackVibration.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/FallbackAlarm.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
]
|
|
elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'):
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackAlarm.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.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/FallbackAlarm.cpp',
|
|
'fallback/FallbackBattery.cpp',
|
|
'fallback/FallbackMemory.cpp',
|
|
'fallback/FallbackPower.cpp',
|
|
'fallback/FallbackScreenConfiguration.cpp',
|
|
'fallback/FallbackSensor.cpp',
|
|
'fallback/FallbackVibration.cpp',
|
|
]
|
|
|
|
# Fallbacks for backends implemented on Gonk only.
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
|
|
UNIFIED_SOURCES += [
|
|
'fallback/FallbackDiskSpaceWatcher.cpp',
|
|
'fallback/FallbackFactoryReset.cpp',
|
|
'fallback/FallbackFMRadio.cpp',
|
|
'fallback/FallbackProcessPriority.cpp',
|
|
'fallback/FallbackScreenPower.cpp',
|
|
'fallback/FallbackSwitch.cpp',
|
|
'fallback/FallbackSystemService.cpp',
|
|
'fallback/FallbackThreadPriority.cpp',
|
|
'fallback/FallbackTime.cpp',
|
|
'fallback/FallbackWakeLocks.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'
|
|
|
|
if CONFIG['MOZ_GAMEPAD']:
|
|
LOCAL_INCLUDES += [
|
|
'/dom/base',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
# So that we can call nsScreenManagerGonk::GetConfiguration().
|
|
LOCAL_INCLUDES += [
|
|
'/widget',
|
|
'/widget/gonk',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
LOCAL_INCLUDES += ['%' + '%s/hardware/libhardware_legacy/include' % CONFIG['ANDROID_SOURCE']]
|
|
|
|
CFLAGS += CONFIG['GLIB_CFLAGS']
|
|
CFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
|
|
CXXFLAGS += CONFIG['GLIB_CFLAGS']
|
|
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
|
|
|
|
if CONFIG['GNU_CXX']:
|
|
CXXFLAGS += ['-Wshadow']
|