hal/moz.build
author Nathan Froyd <froydnj@mozilla.com>
Mon, 22 Apr 2019 23:44:28 +0000
changeset 470426 09240f7397c12707cc0a8ff63051d28568be40e9
parent 436123 3206c9b8db975f6b30bc4ee1a70402ccfdc68e36
permissions -rw-r--r--
Bug 1542958 - fix code section adjustments in elfhack; r=glandium We were never adjusting `last` in this loop, so we were computing the wrong addresses for all sections beyond the first. Which in turn meant that we would compute the wrong size for the section data we needed to allocate. Differential Revision: https://phabricator.services.mozilla.com/D28195

# -*- 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',
    'HalNetworkInformation.h',
    'HalSandbox.h',
    'HalScreenConfiguration.h',
    'HalSensor.h',
    'HalTypes.h',
    'HalWakeLock.h',
    'HalWakeLockInformation.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/FallbackProcessPriority.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':
    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_DBUS_GLIB_CFLAGS']
CXXFLAGS += CONFIG['GLIB_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']