mirror of https://github.com/google/pebble
94 lines
3.3 KiB
Python
94 lines
3.3 KiB
Python
def configure(conf):
|
|
pass
|
|
|
|
def build(bld):
|
|
# Generate Pebble Protocol endpoints table:
|
|
bld.recurse('common/comm_session')
|
|
|
|
def _build_services(bld, sources):
|
|
bld.gettext(source=sources, target='services.pot')
|
|
bld.stlib(source=sources,
|
|
target='fw_services',
|
|
use=['fw_includes',
|
|
'freertos_includes',
|
|
'bt_driver',
|
|
'root_includes'])
|
|
|
|
def _build_normal_recovery_services(bld):
|
|
def _get_excludes(bld):
|
|
excludes = []
|
|
|
|
# Platform based excludes
|
|
if bld.is_tintin():
|
|
excludes.append('normal/activity/**')
|
|
excludes.append('normal/weather/**')
|
|
excludes.append('normal/voice/**')
|
|
excludes.append('normal/accessory/**')
|
|
excludes.append('prf/accessory/**')
|
|
excludes.append('common/compositor/default/**')
|
|
excludes.append('normal/vibes/vibe_client.c')
|
|
excludes.append('normal/vibes/vibe_score.c')
|
|
excludes.append('normal/vibes/vibe_score_info.c')
|
|
else:
|
|
excludes.append('common/legacy/*registry*.c')
|
|
if bld.is_silk():
|
|
excludes.append('common/compositor/default/compositor_modal_transitions.*')
|
|
else:
|
|
excludes.append('common/compositor/legacy/compositor_modal_slide_transitions.*')
|
|
|
|
# Capability based excludes
|
|
if bld.capability('HAS_SPRF_V3'):
|
|
excludes.append('common/shared_prf_storage/v2_sprf/**')
|
|
else:
|
|
excludes.append('common/shared_prf_storage/v3_sprf/**')
|
|
|
|
if not bld.capability('HAS_BUILTIN_HRM'):
|
|
excludes.append('common/hrm/**')
|
|
excludes.append('normal/bluetooth/ble_hrm.c')
|
|
|
|
if not bld.capability('HAS_MAGNETOMETER'):
|
|
excludes.append('common/ecompass.c')
|
|
|
|
return excludes
|
|
|
|
excludes = _get_excludes(bld)
|
|
|
|
# get common services
|
|
sources = []
|
|
sources.extend(bld.path.ant_glob('common/**/*.c', excl=excludes))
|
|
|
|
if bld.variant == 'prf':
|
|
# get recovery services
|
|
sources.extend(bld.path.ant_glob('prf/**/*.c', excl=excludes))
|
|
else:
|
|
# get normal services
|
|
sources.extend(bld.path.ant_glob('normal/**/*.c', excl=excludes))
|
|
|
|
if bld.env.QEMU:
|
|
# get qemu services
|
|
sources.extend(bld.path.ant_glob('qemu/**/*.c', excl=excludes))
|
|
|
|
sources.extend(bld.path.ant_glob('*.c', excl=excludes))
|
|
|
|
# This could really be based on what accel driver is in use
|
|
if bld.is_tintin():
|
|
accel_manager_to_remove = 'common/accel_manager.c'
|
|
else:
|
|
accel_manager_to_remove = 'legacy/accel_manager.c'
|
|
|
|
sources = [x for x in sources if not x.abspath().endswith(accel_manager_to_remove)]
|
|
|
|
_build_services(bld, sources)
|
|
|
|
if bld.env.VOICE_CODEC_TESTS:
|
|
voice_sample_target = bld.path.get_bld().make_node('normal/voice/voice_test_sample.auto.h')
|
|
bld(features='binary_header',
|
|
source='normal/voice/sample.pcm',
|
|
target=voice_sample_target,
|
|
array_name='s_voice_test_sample')
|
|
|
|
_build_normal_recovery_services(bld)
|
|
|
|
|
|
# vim:filetype=python
|