mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
Update embedded SDK
New features: * Smart Audio Source Switching. * Fast Pair for BLE-only devices. * Two byte salt size for improved security. Other changes: * Added optional encryption modules based on mbedtls. * Fixed build issues. * More verbose and readable logs.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
# Use MBEDTLS for test SSL implementation instead of OPENSSL
|
||||
# Compiles in mbedtls implementation of a number of functions in se.h
|
||||
NEARBY_PLATFORM_USE_MBEDTLS ?= 0
|
||||
# Use the hardware SE to generate the secp256r1 secret. Alternatively, generate
|
||||
# the secret in software.
|
||||
NEARBY_PLATFORM_HAS_SE ?= 1
|
||||
|
||||
CFLAGS_EXTRA ?=
|
||||
CFLAGS += -g \
|
||||
-MD \
|
||||
@@ -19,10 +26,22 @@ else
|
||||
CFLAGS += -O0
|
||||
endif
|
||||
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
CFLAGS += -DNEARBY_PLATFORM_USE_MBEDTLS
|
||||
endif
|
||||
|
||||
ifeq ($(NEARBY_PLATFORM_HAS_SE),1)
|
||||
CFLAGS += -DNEARBY_PLATFORM_HAS_SE
|
||||
endif
|
||||
|
||||
TEST_INCLUDES = \
|
||||
-I$(GTEST_DIR)/include -I$(GTEST_DIR) \
|
||||
-I$(GMOCK_DIR)/include -I$(GMOCK_DIR) \
|
||||
$(CLIENT_INCLUDES) \
|
||||
-Iclient/tests/ \
|
||||
-Iclient/tests/$(ARCH)/ \
|
||||
-Iclient/tests/mocks/
|
||||
-Iclient/tests/mocks/
|
||||
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
TEST_INCLUDES += -I$(MBEDTLS_DIR)/include
|
||||
endif
|
||||
@@ -8,22 +8,34 @@ TEST_SRCS := $(filter-out $(TEST_SRCS_EXCLUDE), $(TEST_SRCS))
|
||||
|
||||
TEST_OBJS += $(patsubst %.cc,$(OUT_DIR)/%.o,$(TEST_SRCS))
|
||||
GLINUX_TARGET_SRCS := $(wildcard client/tests/glinux/*.cc)
|
||||
MBEDTLS_TARGET_SRCS := $(wildcard common/source/mbedtls/*.c)
|
||||
GTEST_SRCS = $(GTEST_DIR)/src/gtest-all.cc $(GMOCK_DIR)/src/gmock-all.cc
|
||||
EMPTY_TARGET_SRCS := $(wildcard client/tests/empty_target/*.c)
|
||||
|
||||
GTEST_OBJS := $(patsubst %.cc,$(OUT_DIR)/%.o,$(GTEST_SRCS))
|
||||
|
||||
GLINUX_TARGET_OBJS := $(patsubst %.cc,$(OUT_DIR)/%.o,$(GLINUX_TARGET_SRCS))
|
||||
MBEDTLS_TARGET_OBJS := $(patsubst %.c,$(OUT_DIR)/%.o,$(MBEDTLS_TARGET_SRCS))
|
||||
EMPTY_TARGET_OBJS := $(patsubst %.c,$(OUT_DIR)/%.o,$(EMPTY_TARGET_SRCS))
|
||||
|
||||
ALL_TEST_OBJS += $(GLINUX_TARGET_OBJS)
|
||||
|
||||
ALL_TEST_OBJS += $(TEST_OBJS)
|
||||
ALL_TEST_OBJS += $(GTEST_OBJS)
|
||||
ALL_TEST_OBJS += $(EMPTY_TARGET_OBJS)
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
ALL_TEST_OBJS += $(MBEDTLS_TARGET_OBJS)
|
||||
endif
|
||||
|
||||
# The glinux target layer
|
||||
$(GLINUX_TARGET_OBJS) : $(OUT_DIR)/%.o: %.cc
|
||||
$(call compile_c,$(TEST_INCLUDES) -I. -std=c++14 -c $(CFLAGS))
|
||||
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
# Mbed TLS interface files
|
||||
$(MBEDTLS_TARGET_OBJS) : $(OUT_DIR)/%.o: %.c
|
||||
$(call compile_c,$(TEST_INCLUDES) -I. -std=c99 -c $(CFLAGS))
|
||||
endif
|
||||
|
||||
$(EMPTY_TARGET_OBJS) : $(OUT_DIR)/%.o: %.c
|
||||
$(info "compiling empty target object $<")
|
||||
@@ -45,16 +57,25 @@ $(TESTS_TO_RUN) : %_run : %
|
||||
./$< --gtest_output=xml:$(OUT_DIR)/test_logs/$(notdir $<)_logs/sponge_log.xml
|
||||
|
||||
TARGET_OBJS ?= $(GLINUX_TARGET_OBJS)
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
TARGET_OBJS += $(MBEDTLS_TARGET_OBJS)
|
||||
endif
|
||||
|
||||
TARGET_OS_SRCS := $(wildcard client/tests/gLinux/*.cc)
|
||||
TARGET_MBEDTLS_SRCS += $(wildcard common/source/mbedtls/*.c)
|
||||
TARGET_OS_OBJS ?= $(patsubst %.cc,$(OUT_DIR)/%.o,$(TARGET_OS_SRCS))
|
||||
TARGET_MBEDTLS_OBJS ?= $(patsubst %.c,$(OUT_DIR)/%.o,$(TARGET_MBEDTLS_SRCS))
|
||||
$(TARGET_OS_OBJS) : $(OUT_DIR)/%.o: %.cc
|
||||
$(call compile_c,$(TEST_INCLUDES) -I. -std=c++14 $(CFLAGS))
|
||||
$(TARGET_MBED_OBJS) : $(OUT_DIR)/%.o: %.c
|
||||
$(call compile_c,$(TEST_INCLUDES) -I. -std=c++14 $(CFLAGS))
|
||||
|
||||
ALL_TEST_OBJS += $(TEST_OBJS)
|
||||
ALL_TEST_OBJS += $(TARGET_OS_OBJS)
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
ALL_TEST_OBJS += $(TARGET_MBEDTLS_OBJS)
|
||||
endif
|
||||
|
||||
ALL_TEST_OBJS += $(TARGET_OS_OBJS)
|
||||
ALL_OBJS += $(ALL_TEST_OBJS)
|
||||
# Must include the .d files for test sources here since gLinux.rules is included
|
||||
# by makefile after after it includes $(DEPFILES).
|
||||
@@ -64,9 +85,23 @@ EMPTY_TARGET_TEST = $(OUT_DIR)/client/tests/empty_target_test
|
||||
$(EMPTY_TARGET_TEST) : TARGET_OBJS = $(EMPTY_TARGET_OBJS)
|
||||
$(EMPTY_TARGET_TEST) : $(EMPTY_TARGET_OBJS)
|
||||
TEST_BINARIES = $(patsubst %.cc,$(OUT_DIR)/%,$(TEST_SRCS))
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
$(TEST_BINARIES) : $(NAME) $(GTEST_OBJS) $(GLINUX_TARGET_OBJS) $(MBEDTLS_TARGET_OBJS)
|
||||
else
|
||||
$(TEST_BINARIES) : $(NAME) $(GTEST_OBJS) $(GLINUX_TARGET_OBJS)
|
||||
endif
|
||||
$(TEST_BINARIES) : $(TARGET_OS_OBJS)
|
||||
|
||||
LIBS ?= -L $(OUT_DIR) -lnearby -lcrypto -lssl -lpthread -lstdc++
|
||||
|
||||
ifeq ($(NEARBY_PLATFORM_USE_MBEDTLS),1)
|
||||
MBEDTLS_LIBS = $(MBEDTLS_DIR)/library/libmbedtls.a $(MBEDTLS_DIR)/library/libmbedcrypto.a
|
||||
$(MBEDTLS_LIBS) &:
|
||||
cd $(MBEDTLS_DIR) && $(MAKE)
|
||||
$(TEST_BINARIES) : $(MBEDTLS_LIBS)
|
||||
LIBS += -L $(MBEDTLS_DIR)/library -lmbedtls -lmbedcrypto
|
||||
endif
|
||||
|
||||
$(TEST_BINARIES) : % : %.o
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) -o $@ $< \
|
||||
@@ -74,10 +109,10 @@ $(TEST_BINARIES) : % : %.o
|
||||
$(TEST_INCLUDES) \
|
||||
$(GTEST_OBJS) \
|
||||
$(TARGET_OBJS) \
|
||||
$(TARGET_OS_OBJS) \
|
||||
$(TARGET_OS_OBJS) \
|
||||
-L /usr/local/lib \
|
||||
-std=c++14 \
|
||||
-L $(OUT_DIR) -lnearby -lcrypto -lssl -lpthread -lstdc++
|
||||
$(LIBS)
|
||||
|
||||
run_tests: $(TESTS_TO_RUN)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user