# -*- 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)') XPIDL_SOURCES += [ 'gonk/nsIRecoveryService.idl', ] XPIDL_MODULE = 'hal' EXPORTS.mozilla += [ 'Hal.h', 'HalImpl.h', 'HalSandbox.h', 'HalScreenConfiguration.h', 'HalSensor.h', 'HalTypes.h', 'HalWakeLock.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/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['OS_TARGET'] == 'Linux': UNIFIED_SOURCES += [ '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/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/FallbackMemory.cpp', 'fallback/FallbackPower.cpp', 'fallback/FallbackScreenConfiguration.cpp', 'fallback/FallbackVibration.cpp', ] elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'): UNIFIED_SOURCES += [ '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/FallbackBattery.cpp', 'fallback/FallbackMemory.cpp', 'fallback/FallbackPower.cpp', 'fallback/FallbackScreenConfiguration.cpp', 'fallback/FallbackSensor.cpp', 'fallback/FallbackVibration.cpp', ] # Fallbacks for backends implemented on Gonk only. UNIFIED_SOURCES += [ 'fallback/FallbackDiskSpaceWatcher.cpp', 'fallback/FallbackFactoryReset.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' LOCAL_INCLUDES += [ '/dom/base', ] CFLAGS += CONFIG['GLIB_CFLAGS'] CFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS'] CXXFLAGS += CONFIG['GLIB_CFLAGS'] CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']