gecko/dom/bluetooth2/moz.build
Thomas Zimmermann 0794d15765 Bug 1126720: Implement Bluetooth backend selection; use Bluedroid by default (under bluetooth2/), r=btian
This patch adds proper selection of the Bluetooth backend. The backend
is configurable via environment property 'ro.moz.bluetooth.backend'. The
default value is still Bluedroid.

On systems that are not Android 4.2 or later, the code does not return
a backend. These systems should use BlueZ instead.

This patch is based on bug 1065336, patch [01] and bug 1124565,
patch [01]. It also contains an extra fix in 'moz.build' to set
the pre-processor constant 'MOZ_B2G_BT_DAEMON'.
2015-02-12 10:12:07 +01:00

145 lines
4.7 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/.
if CONFIG['MOZ_B2G_BT']:
SOURCES += [
'BluetoothAdapter.cpp',
'BluetoothClassOfDevice.cpp',
'BluetoothDevice.cpp',
'BluetoothDiscoveryHandle.cpp',
'BluetoothHidManager.cpp',
'BluetoothInterface.cpp',
'BluetoothManager.cpp',
'BluetoothPairingHandle.cpp',
'BluetoothPairingListener.cpp',
'BluetoothProfileController.cpp',
'BluetoothReplyRunnable.cpp',
'BluetoothService.cpp',
'BluetoothUtils.cpp',
'BluetoothUuid.cpp',
'ipc/BluetoothChild.cpp',
'ipc/BluetoothParent.cpp',
'ipc/BluetoothServiceChildProcess.cpp',
'ObexBase.cpp'
]
if CONFIG['MOZ_B2G_RIL']:
SOURCES += [
'BluetoothRilListener.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
if CONFIG['MOZ_B2G_BT_BLUEZ']:
CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
SOURCES += [
'bluez/BluetoothA2dpManager.cpp',
'bluez/BluetoothDBusService.cpp',
'bluez/BluetoothHfpManager.cpp',
'bluez/BluetoothOppManager.cpp',
'bluez/BluetoothSocket.cpp',
'bluez/BluetoothUnixSocketConnector.cpp'
]
LOCAL_INCLUDES += [
'bluez',
]
DEFINES['MOZ_B2G_BT_BLUEZ'] = True
elif CONFIG['MOZ_B2G_BT_BLUEDROID']:
SOURCES += [
'bluedroid/BluetoothA2dpHALInterface.cpp',
'bluedroid/BluetoothA2dpManager.cpp',
'bluedroid/BluetoothAvrcpHALInterface.cpp',
'bluedroid/BluetoothDaemonA2dpInterface.cpp',
'bluedroid/BluetoothDaemonAvrcpInterface.cpp',
'bluedroid/BluetoothDaemonHandsfreeInterface.cpp',
'bluedroid/BluetoothDaemonHelpers.cpp',
'bluedroid/BluetoothDaemonInterface.cpp',
'bluedroid/BluetoothDaemonSetupInterface.cpp',
'bluedroid/BluetoothDaemonSocketInterface.cpp',
'bluedroid/BluetoothGattHALInterface.cpp',
'bluedroid/BluetoothGattManager.cpp',
'bluedroid/BluetoothHALHelpers.cpp',
'bluedroid/BluetoothHALInterface.cpp',
'bluedroid/BluetoothHandsfreeHALInterface.cpp',
'bluedroid/BluetoothOppManager.cpp',
'bluedroid/BluetoothServiceBluedroid.cpp',
'bluedroid/BluetoothSocket.cpp',
'bluedroid/BluetoothSocketHALInterface.cpp',
'bluedroid/BluetoothSocketMessageWatcher.cpp'
]
LOCAL_INCLUDES += [
'bluedroid',
]
if CONFIG['MOZ_B2G_RIL']:
SOURCES += [
'bluedroid/hfp/BluetoothHfpManager.cpp',
]
LOCAL_INCLUDES += [
'bluedroid/hfp',
]
else:
SOURCES += [
'bluedroid/hfp-fallback/BluetoothHfpManager.cpp',
]
LOCAL_INCLUDES += [
'bluedroid/hfp-fallback',
]
DEFINES['MOZ_B2G_BT_BLUEDROID'] = True
if CONFIG['MOZ_B2G_BT_DAEMON']:
DEFINES['MOZ_B2G_BT_DAEMON'] = True
elif CONFIG['MOZ_ENABLE_DBUS']:
CFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
CFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
SOURCES += [
'bluez/BluetoothDBusService.cpp',
'bluez/BluetoothHfpManager.cpp',
]
LOCAL_INCLUDES += [
'bluez',
]
DEFINES['MOZ_BLUETOOTH_DBUS'] = True
DEFINES['HAVE_PTHREADS'] = True
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'ipc',
]
EXPORTS.mozilla.dom.bluetooth.ipc += [
'ipc/BluetoothMessageUtils.h',
]
EXPORTS.mozilla.dom.bluetooth += [
'BluetoothAdapter.h',
'BluetoothClassOfDevice.h',
'BluetoothCommon.h',
'BluetoothDevice.h',
'BluetoothDiscoveryHandle.h',
'BluetoothManager.h',
'BluetoothPairingHandle.h',
'BluetoothPairingListener.h',
]
IPDL_SOURCES += [
'ipc/BluetoothTypes.ipdlh',
'ipc/PBluetooth.ipdl',
'ipc/PBluetoothRequest.ipdl',
]
FAIL_ON_WARNINGS = True
LOCAL_INCLUDES += [
'../base',
'../network',
'../system/gonk',
]
include('/ipc/chromium/chromium-config.mozbuild')