Skip to content

Exports part of mbedtls to the user application #1833

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion crypto-dynalib/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ CRYPTO_DYNALIB_MODULE_PATH=.
TARGET_TYPE = a
BUILD_PATH_EXT=$(CRYPTO_DYNALIB_BUILD_PATH_EXT)

DEPENDENCIES = crypto dynalib hal
DEPENDENCIES = crypto dynalib hal platform

include ../build/arm-tlm.mk
27 changes: 27 additions & 0 deletions crypto/inc/crypto_dynalib.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,15 @@
#endif

#ifdef USE_MBEDTLS
#include "mbedtls_config.h"
#if !defined(DYNALIB_IMPORT)
#include "mbedtls/aes.h"
#include "mbedtls/rsa.h"
#include "mbedtls/sha1.h"
#include "mbedtls/sha256.h"
#include "mbedtls/bignum.h"
#include "mbedtls_util.h"
#include "mbedtls/ecjpake.h"
#if PLATFORM_ID == 6 || PLATFORM_ID == 8
#include "mbedtls/md4.h"
#include "mbedtls/md5.h"
Expand Down Expand Up @@ -132,6 +134,7 @@ DYNALIB_FN(70, crypto, mbedtls_sha256_process, void(mbedtls_sha256_context*, con
DYNALIB_FN(71, crypto, mbedtls_rsa_check_pubkey, int(const mbedtls_rsa_context*))
DYNALIB_FN(72, crypto, mbedtls_rsa_check_privkey, int(const mbedtls_rsa_context*))
DYNALIB_FN(73, crypto, mbedtls_rsa_check_pub_priv, int(const mbedtls_rsa_context*, const mbedtls_rsa_context*))

#if PLATFORM_ID == 6 || PLATFORM_ID == 8
// MD4
DYNALIB_FN(74, crypto, mbedtls_md4_init, void(mbedtls_md4_context*))
Expand Down Expand Up @@ -202,7 +205,31 @@ DYNALIB_FN(122, crypto, mbedtls_md5_update_ret, int(mbedtls_md5_context*, const
DYNALIB_FN(123, crypto, mbedtls_md5_finish_ret, int(mbedtls_md5_context*, unsigned char[16]))
DYNALIB_FN(124, crypto, mbedtls_internal_md5_process, int(mbedtls_md5_context*, const unsigned char[64]))

#define BASE_IDX 125
#else
#define BASE_IDX 74
#endif // PLATFORM_ID == 6 || PLATFORM_ID == 8

#ifdef MBEDTLS_ECJPAKE_C
DYNALIB_FN(BASE_IDX + 0, crypto, mbedtls_ecjpake_init, void(mbedtls_ecjpake_context*))
DYNALIB_FN(BASE_IDX + 1, crypto, mbedtls_ecjpake_setup, int(mbedtls_ecjpake_context*, mbedtls_ecjpake_role, mbedtls_md_type_t, mbedtls_ecp_group_id, const unsigned char*, size_t))
DYNALIB_FN(BASE_IDX + 2, crypto, mbedtls_ecjpake_check, int(const mbedtls_ecjpake_context*))
DYNALIB_FN(BASE_IDX + 3, crypto, mbedtls_ecjpake_write_round_one, int(mbedtls_ecjpake_context*, unsigned char*, size_t, size_t*, int (*f_rng)(void *, unsigned char *, size_t), void*))
DYNALIB_FN(BASE_IDX + 4, crypto, mbedtls_ecjpake_read_round_one, int(mbedtls_ecjpake_context*, const unsigned char*, size_t))
DYNALIB_FN(BASE_IDX + 5, crypto, mbedtls_ecjpake_write_round_two, int(mbedtls_ecjpake_context*, unsigned char*, size_t, size_t*, int (*f_rng)(void *, unsigned char *, size_t), void*))
DYNALIB_FN(BASE_IDX + 6, crypto, mbedtls_ecjpake_read_round_two, int(mbedtls_ecjpake_context*, const unsigned char*, size_t))
DYNALIB_FN(BASE_IDX + 7, crypto, mbedtls_ecjpake_derive_secret, int(mbedtls_ecjpake_context*, unsigned char*, size_t, size_t*, int (*f_rng)(void *, unsigned char *, size_t), void*))
DYNALIB_FN(BASE_IDX + 8, crypto, mbedtls_ecjpake_free, void(mbedtls_ecjpake_context*))
#define BASE_IDX2 (BASE_IDX + 9)
#else
#define BASE_IDX2 (BASE_IDX)
#endif // MBEDTLS_ECJPAKE_C

DYNALIB_FN(BASE_IDX2 + 0, crypto, mbedtls_default_rng, int(void*, unsigned char*, size_t))

#undef BASE_IDX
#undef BASE_IDX2

DYNALIB_END(crypto)

#ifdef __cplusplus
Expand Down
6 changes: 3 additions & 3 deletions crypto/inc/mbedtls_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@
#include <stdint.h>
#include "mbedtls/md.h"

// Random number generator callback
int mbedtls_default_rng(void*, unsigned char* data, size_t size);

typedef struct {
uint16_t version;
uint16_t size;
Expand All @@ -40,6 +37,9 @@ typedef struct {
extern "C" {
#endif

// Random number generator callback
int mbedtls_default_rng(void*, unsigned char* data, size_t size);

int mbedtls_set_callbacks(mbedtls_callbacks_t* callbacks, void* reserved);
mbedtls_callbacks_t* mbedtls_get_callbacks(void* reserved);

Expand Down
2 changes: 1 addition & 1 deletion crypto/src/mbedtls_util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#include "rng_hal.h"
#include "timer_hal.h"

int mbedtls_default_rng(void*, unsigned char* data, size_t size) {
__attribute__((weak)) int mbedtls_default_rng(void*, unsigned char* data, size_t size) {
while (size >= 4) {
*((uint32_t*)data) = HAL_RNG_GetRandomNumber();
data += 4;
Expand Down
24 changes: 24 additions & 0 deletions hal/src/nRF52840/mbedtls/sha1_alt_cc310.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,28 @@ int mbedtls_internal_sha1_process( mbedtls_sha1_context *ctx,
return mbedtls_sha1_update_ret( ctx, data, 64 );
}

void mbedtls_sha1_process( mbedtls_sha1_context *ctx,
const unsigned char data[64] )
{
mbedtls_internal_sha1_process( ctx, data );
}

void mbedtls_sha1_starts( mbedtls_sha1_context *ctx )
{
mbedtls_sha1_starts_ret( ctx );
}

void mbedtls_sha1_update( mbedtls_sha1_context *ctx,
const unsigned char *input,
size_t ilen )
{
mbedtls_sha1_update_ret( ctx, input, ilen );
}

void mbedtls_sha1_finish( mbedtls_sha1_context *ctx,
unsigned char output[20] )
{
mbedtls_sha1_finish_ret( ctx, output );
}

#endif // MBEDTLS_SHA1_ALT
1 change: 1 addition & 0 deletions modules/argon/system-part1/module_system_part1_export.ld
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ PROVIDE ( dynalib_location_hal_wlan = system_part1_module_table + 92 );
PROVIDE ( dynalib_location_hal_ble = system_part1_module_table + 96 );
PROVIDE ( dynalib_location_hal_nfc = system_part1_module_table + 100 );
PROVIDE ( dynalib_location_hal_mesh = system_part1_module_table + 104 );
PROVIDE ( dynalib_location_crypto = system_part1_module_table + 108 );
19 changes: 19 additions & 0 deletions modules/argon/system-part1/src/export_crypto.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2019 Particle Industries, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation, either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/

#define DYNALIB_EXPORT
#include "crypto_dynalib.h"
6 changes: 3 additions & 3 deletions modules/argon/user-part/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ PLATFORM_DFU_LEAVE = y
export COMPILE_LTO=n

# communication used only for header declarations
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/argon/system-part1 platform wiring_globals
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/argon/system-part1 platform wiring_globals crypto-dynalib
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals crypto-dynalib
include ../modular.mk
include $(PROJECT_ROOT)/build/platform-id.mk

LIBS += $(MAKE_DEPENDENCIES)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP) $(CRYPTO_DYNALIB_LIB_DEP)
LIB_DIRS += $(dir $(LIB_DEPS))


Expand Down
1 change: 1 addition & 0 deletions modules/boron/system-part1/module_system_part1_export.ld
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ PROVIDE ( dynalib_location_hal_cellular = system_part1_module_table + 92 );
PROVIDE ( dynalib_location_hal_ble = system_part1_module_table + 96 );
PROVIDE ( dynalib_location_hal_nfc = system_part1_module_table + 100 );
PROVIDE ( dynalib_location_hal_mesh = system_part1_module_table + 104 );
PROVIDE ( dynalib_location_crypto = system_part1_module_table + 108 );
19 changes: 19 additions & 0 deletions modules/boron/system-part1/src/export_crypto.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2019 Particle Industries, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation, either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/

#define DYNALIB_EXPORT
#include "crypto_dynalib.h"
6 changes: 3 additions & 3 deletions modules/boron/user-part/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ PLATFORM_DFU_LEAVE = y
export COMPILE_LTO=n

# communication used only for header declarations
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/boron/system-part1 platform wiring_globals
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/boron/system-part1 platform wiring_globals crypto-dynalib
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals crypto-dynalib
include ../modular.mk
include $(PROJECT_ROOT)/build/platform-id.mk

LIBS += $(MAKE_DEPENDENCIES)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP) $(CRYPTO_DYNALIB_LIB_DEP)
LIB_DIRS += $(dir $(LIB_DEPS))


Expand Down
6 changes: 3 additions & 3 deletions modules/electron/user-part/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ PLATFORM_DFU = $(USER_FIRMWARE_IMAGE_LOCATION)
PLATFORM_DFU_LEAVE = y

# communication used only for header declarations
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/electron/system-part1 modules/electron/system-part2 modules/electron/system-part3 platform wiring_globals
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/electron/system-part1 modules/electron/system-part2 modules/electron/system-part3 platform wiring_globals crypto-dynalib
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals crypto-dynalib
include ../modular.mk
include $(PROJECT_ROOT)/build/platform-id.mk

LIBS += $(MAKE_DEPENDENCIES)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP) $(CRYPTO_DYNALIB_LIB_DEP)
LIB_DIRS += $(dir $(LIB_DEPS))


Expand Down
6 changes: 3 additions & 3 deletions modules/photon/user-part/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ PLATFORM_DFU_LEAVE = y
export COMPILE_LTO=n

# communication used only for header declarations
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/photon/system-part1 modules/photon/system-part2 platform wiring_globals
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/photon/system-part1 modules/photon/system-part2 platform wiring_globals crypto-dynalib
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals crypto-dynalib
include ../modular.mk
include $(PROJECT_ROOT)/build/platform-id.mk

LIBS += $(MAKE_DEPENDENCIES)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP) $(CRYPTO_DYNALIB_LIB_DEP)
LIB_DEPS += $(PROJECT_ROOT)/hal/src/photon/lib/STM32F2xx_Peripheral_Libraries.a
LIB_DIRS += $(dir $(LIB_DEPS))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ DYNALIB_TABLE_EXTERN(hal_nfc);
#if HAL_PLATFORM_MESH
DYNALIB_TABLE_EXTERN(hal_mesh);
#endif
DYNALIB_TABLE_EXTERN(crypto);

// strange that this is needed given that the entire block is scoped extern "C"
// without it, the section name doesn't match *.system_part2_module as expected in the linker script
Expand Down Expand Up @@ -97,6 +98,7 @@ extern "C" __attribute__((externally_visible)) const void* const system_part1_mo
#if HAL_PLATFORM_MESH
, DYNALIB_TABLE_NAME(hal_mesh)
#endif
, DYNALIB_TABLE_NAME(crypto)
};

#include "system_part1_loader.c"
Expand Down
1 change: 1 addition & 0 deletions modules/xenon/system-part1/module_system_part1_export.ld
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@ PROVIDE ( dynalib_location_hal_resolvapi = system_part1_module_table + 88 );
PROVIDE ( dynalib_location_hal_ble = system_part1_module_table + 92 );
PROVIDE ( dynalib_location_hal_nfc = system_part1_module_table + 96 );
PROVIDE ( dynalib_location_hal_mesh = system_part1_module_table + 100 );
PROVIDE ( dynalib_location_crypto = system_part1_module_table + 104 );
19 changes: 19 additions & 0 deletions modules/xenon/system-part1/src/export_crypto.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2019 Particle Industries, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation, either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/

#define DYNALIB_EXPORT
#include "crypto_dynalib.h"
7 changes: 3 additions & 4 deletions modules/xenon/user-part/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ PLATFORM_DFU_LEAVE = y
export COMPILE_LTO=n

# communication used only for header declarations
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/xenon/system-part1 platform wiring_globals
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals
DEPENDENCIES = user dynalib services services-dynalib hal hal-dynalib system system-dynalib rt-dynalib wiring communication-dynalib modules/xenon/system-part1 platform wiring_globals crypto-dynalib
MAKE_DEPENDENCIES = user hal-dynalib services-dynalib system-dynalib rt-dynalib wiring communication-dynalib platform wiring_globals crypto-dynalib
include ../modular.mk
include $(PROJECT_ROOT)/build/platform-id.mk

LIBS += $(MAKE_DEPENDENCIES)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP)
LIB_DEPS += $(USER_LIB_DEP) $(SERVICES_DYNALIB_LIB_DEP) $(HAL_DYNALIB_LIB_DEP) $(SYSTEM_DYNALIB_LIB_DEP) $(RT_DYNALIB_LIB_DEP) $(WIRING_LIB_DEP) $(COMMUNICATION_DYNALIB_LIB_DEP) $(PLATFORM_LIB_DEP) $(WIRING_GLOBALS_LIB_DEP) $(CRYPTO_DYNALIB_LIB_DEP)
LIB_DIRS += $(dir $(LIB_DEPS))


Expand Down Expand Up @@ -55,4 +55,3 @@ $(TARGET_BASE)_fi.elf: $(ALLOBJ) $(LIB_DEPS) $(LINKER_DEPS) $(TARGET_BASE).elf $
$(call echo,)

.PHONY: elf_fi

6 changes: 1 addition & 5 deletions user/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@ USER_MODULE_PATH=.

BUILD_PATH_EXT = $(USER_BUILD_PATH_EXT)

DEPENDENCIES = wiring system services communication hal

ifdef TEST
DEPENDENCIES += crypto
endif
DEPENDENCIES = wiring system services communication hal crypto

include ../build/platform-id.mk

Expand Down