hal/moz.build
author Jonathan Hao <jhao@mozilla.com>
Thu, 13 Oct 2016 01:07:00 -0400
changeset 356097 a9a6e6eda3cb239b1f0b9105fc8c544b7a2e71f4
parent 354361 7452e706f98556cec41158761f700b84d726ec98
child 364831 6f0ab55c4b46692e1888872a299ed764823fbf6e
permissions -rw-r--r--
Bug 1309699 - Add pref for bug 1279568 to address content crashes in Beta50. r=baku, a=jcristau

# -*- 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/GonkFMRadio.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/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']