summaryrefslogtreecommitdiffstats
path: root/hal/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'hal/moz.build')
-rw-r--r--hal/moz.build185
1 files changed, 185 insertions, 0 deletions
diff --git a/hal/moz.build b/hal/moz.build
new file mode 100644
index 000000000..c17379f22
--- /dev/null
+++ b/hal/moz.build
@@ -0,0 +1,185 @@
+# -*- 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/.
+
+XPIDL_SOURCES += [
+ 'gonk/nsIRecoveryService.idl',
+]
+
+XPIDL_MODULE = 'hal'
+
+EXPORTS.mozilla += [
+ 'Hal.h',
+ 'HalImpl.h',
+ 'HalSandbox.h',
+ 'HalScreenConfiguration.h',
+ 'HalSensor.h',
+ 'HalTypes.h',
+ 'HalWakeLock.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/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/GonkSensor.cpp',
+ 'gonk/GonkSensorsHelpers.cpp',
+ 'gonk/GonkSensorsInterface.cpp',
+ 'gonk/GonkSensorsPollInterface.cpp',
+ 'gonk/GonkSensorsRegistryInterface.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/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']