Skip to content

Commit 068f1ac

Browse files
committed
Added missing symbols, change fix for double def
1 parent cb9d1b0 commit 068f1ac

File tree

3 files changed

+76
-89
lines changed

3 files changed

+76
-89
lines changed

CMakeLists.txt

Lines changed: 74 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,6 @@ add_option(
128128
add_option("DEBUG_UART" "Enable trace debugging over a UART (default: disabled)" "no" "yes;no")
129129
add_option("BUILD_TEST_APPS" "Build the wolfBoot image and test apps (default: disabled)" "no" "yes;no")
130130
add_option("BUILD_IMAGE" "Build the wolfBoot image (default: disabled)" "no" "yes;no")
131-
add_option("PYTHON_KEYTOOLS" "Use wolfCrypt-py for key generation and signing (default: disabled)"
132-
"no" "yes;no")
133131
add_option(
134132
"PULL_LINKER_DEFINES"
135133
"Pull partition addresses from the linker script instead of defining fixed addresses in target.h (default: disabled)"
@@ -633,15 +631,9 @@ target_compile_definitions(wolfboothal PRIVATE ${WOLFBOOT_DEFS})
633631
target_include_directories(wolfboothal PRIVATE ${WOLFBOOT_ROOT} include)
634632
target_compile_options(wolfboothal PRIVATE ${WOLFBOOT_COMPILE_OPTIONS} ${EXTRA_COMPILE_OPTIONS})
635633

636-
if(PYTHON_KEYTOOLS)
637-
message(STATUS "Using Python Keytools")
638-
set(SIGN_TOOL ${WOLFBOOT_ROOT}/tools/keytools/sign.py)
639-
set(KEYGEN_TOOL ${WOLFBOOT_ROOT}/tools/keytools/keygen.py)
640-
else()
641-
message(STATUS "Using C Keytools")
642-
set(SIGN_TOOL ${CMAKE_CURRENT_BINARY_DIR}/sign)
643-
set(KEYGEN_TOOL ${CMAKE_CURRENT_BINARY_DIR}/keygen)
644-
endif()
634+
message(STATUS "Using C Keytools")
635+
set(SIGN_TOOL ${CMAKE_CURRENT_BINARY_DIR}/sign)
636+
set(KEYGEN_TOOL ${CMAKE_CURRENT_BINARY_DIR}/keygen)
645637

646638
list(APPEND WOLFBOOT_INCLUDE_DIRS ${WOLFBOOT_ROOT} ${WOLFBOOT_ROOT}/include)
647639

@@ -711,76 +703,75 @@ target_include_directories(target BEFORE INTERFACE ${CMAKE_CURRENT_BINARY_DIR})
711703

712704
set(KEYSTORE ${CMAKE_CURRENT_BINARY_DIR}/keystore.c)
713705

714-
if(NOT PYTHON_KEYTOOLS)
715-
list(
716-
APPEND
717-
KEYTOOL_SOURCES
718-
src/delta.c
719-
lib/wolfssl/wolfcrypt/src/asn.c
720-
lib/wolfssl/wolfcrypt/src/aes.c
721-
lib/wolfssl/wolfcrypt/src/ecc.c
722-
lib/wolfssl/wolfcrypt/src/coding.c
723-
lib/wolfssl/wolfcrypt/src/chacha.c
724-
lib/wolfssl/wolfcrypt/src/ed25519.c
725-
lib/wolfssl/wolfcrypt/src/ed448.c
726-
lib/wolfssl/wolfcrypt/src/fe_operations.c
727-
lib/wolfssl/wolfcrypt/src/ge_operations.c
728-
lib/wolfssl/wolfcrypt/src/fe_448.c
729-
lib/wolfssl/wolfcrypt/src/ge_448.c
730-
lib/wolfssl/wolfcrypt/src/hash.c
731-
lib/wolfssl/wolfcrypt/src/logging.c
732-
lib/wolfssl/wolfcrypt/src/memory.c
733-
lib/wolfssl/wolfcrypt/src/random.c
734-
lib/wolfssl/wolfcrypt/src/rsa.c
735-
lib/wolfssl/wolfcrypt/src/sp_int.c
736-
lib/wolfssl/wolfcrypt/src/sp_c32.c
737-
lib/wolfssl/wolfcrypt/src/sp_c64.c
738-
lib/wolfssl/wolfcrypt/src/sha3.c
739-
lib/wolfssl/wolfcrypt/src/sha256.c
740-
lib/wolfssl/wolfcrypt/src/sha512.c
741-
lib/wolfssl/wolfcrypt/src/tfm.c
742-
lib/wolfssl/wolfcrypt/src/wc_port.c
743-
lib/wolfssl/wolfcrypt/src/wolfmath.c)
744-
745-
list(
746-
APPEND
747-
KEYTOOL_FLAGS
748-
-Wall
749-
-Wextra
750-
-Werror
751-
-Itools/keytools
752-
-DWOLFSSL_USER_SETTINGS
753-
-Ilib/wolfssl/
754-
-Iinclude
755-
-I${CMAKE_CURRENT_BINARY_DIR}
756-
-DWOLFBOOT_KEYTOOLS
757-
-O2
758-
-DIMAGE_HEADER_SIZE=${IMAGE_HEADER_SIZE}
759-
-DDELTA_UPDATES)
760-
761-
add_custom_command(
762-
OUTPUT ${SIGN_TOOL}
763-
COMMAND gcc -o ${CMAKE_CURRENT_BINARY_DIR}/sign tools/keytools/sign.c ${KEYTOOL_SOURCES}
764-
${KEYTOOL_FLAGS}
765-
WORKING_DIRECTORY ${WOLFBOOT_ROOT}
766-
COMMENT "Building signing tool")
767-
768-
add_custom_command(
769-
OUTPUT ${KEYGEN_TOOL}
770-
COMMAND gcc -o ${CMAKE_CURRENT_BINARY_DIR}/keygen tools/keytools/keygen.c ${KEYTOOL_SOURCES}
771-
${KEYTOOL_FLAGS}
772-
WORKING_DIRECTORY ${WOLFBOOT_ROOT}
773-
COMMENT "Building keygen tool")
774-
775-
add_custom_target(keytools ALL DEPENDS ${SIGN_TOOL} ${KEYGEN_TOOL})
776-
endif()
706+
list(
707+
APPEND
708+
KEYTOOL_SOURCES
709+
src/delta.c
710+
lib/wolfssl/wolfcrypt/src/asn.c
711+
lib/wolfssl/wolfcrypt/src/aes.c
712+
lib/wolfssl/wolfcrypt/src/ecc.c
713+
lib/wolfssl/wolfcrypt/src/coding.c
714+
lib/wolfssl/wolfcrypt/src/chacha.c
715+
lib/wolfssl/wolfcrypt/src/ed25519.c
716+
lib/wolfssl/wolfcrypt/src/ed448.c
717+
lib/wolfssl/wolfcrypt/src/fe_operations.c
718+
lib/wolfssl/wolfcrypt/src/ge_operations.c
719+
lib/wolfssl/wolfcrypt/src/fe_448.c
720+
lib/wolfssl/wolfcrypt/src/ge_448.c
721+
lib/wolfssl/wolfcrypt/src/hash.c
722+
lib/wolfssl/wolfcrypt/src/logging.c
723+
lib/wolfssl/wolfcrypt/src/memory.c
724+
lib/wolfssl/wolfcrypt/src/random.c
725+
lib/wolfssl/wolfcrypt/src/rsa.c
726+
lib/wolfssl/wolfcrypt/src/sp_int.c
727+
lib/wolfssl/wolfcrypt/src/sp_c32.c
728+
lib/wolfssl/wolfcrypt/src/sp_c64.c
729+
lib/wolfssl/wolfcrypt/src/sha3.c
730+
lib/wolfssl/wolfcrypt/src/sha256.c
731+
lib/wolfssl/wolfcrypt/src/sha512.c
732+
lib/wolfssl/wolfcrypt/src/tfm.c
733+
lib/wolfssl/wolfcrypt/src/wc_port.c
734+
lib/wolfssl/wolfcrypt/src/wolfmath.c
735+
lib/wolfssl/wolfcrypt/src/dilithium.c
736+
lib/wolfssl/wolfcrypt/src/wc_lms.c
737+
lib/wolfssl/wolfcrypt/src/wc_lms_impl.c
738+
lib/wolfssl/wolfcrypt/src/wc_xmss.c
739+
lib/wolfssl/wolfcrypt/src/wc_xmss_impl.c
740+
)
741+
742+
list(
743+
APPEND
744+
KEYTOOL_FLAGS
745+
-Wall
746+
-Wextra
747+
-Werror
748+
-Itools/keytools
749+
-DWOLFSSL_USER_SETTINGS
750+
-Ilib/wolfssl/
751+
-Iinclude
752+
-I${CMAKE_CURRENT_BINARY_DIR}
753+
-O2
754+
-DIMAGE_HEADER_SIZE=${IMAGE_HEADER_SIZE}
755+
-DDELTA_UPDATES)
756+
757+
add_custom_command(
758+
OUTPUT ${SIGN_TOOL}
759+
COMMAND gcc -o ${CMAKE_CURRENT_BINARY_DIR}/sign tools/keytools/sign.c ${KEYTOOL_SOURCES}
760+
${KEYTOOL_FLAGS}
761+
WORKING_DIRECTORY ${WOLFBOOT_ROOT}
762+
COMMENT "Building signing tool")
763+
764+
add_custom_command(
765+
OUTPUT ${KEYGEN_TOOL}
766+
COMMAND gcc -o ${CMAKE_CURRENT_BINARY_DIR}/keygen tools/keytools/keygen.c ${KEYTOOL_SOURCES}
767+
${KEYTOOL_FLAGS}
768+
WORKING_DIRECTORY ${WOLFBOOT_ROOT}
769+
COMMENT "Building keygen tool")
770+
771+
add_custom_target(keytools ALL DEPENDS ${SIGN_TOOL} ${KEYGEN_TOOL})
777772

778773
if(NOT SIGN STREQUAL "NONE")
779-
if(PYTHON_KEYTOOLS)
780-
add_custom_target(keystore DEPENDS ${KEYSTORE})
781-
else()
782-
add_custom_target(keystore DEPENDS ${SIGN_TOOL} ${KEYGEN_TOOL} ${KEYSTORE})
783-
endif()
774+
add_custom_target(keystore DEPENDS ${SIGN_TOOL} ${KEYGEN_TOOL} ${KEYSTORE})
784775

785776
# generate keystore if it does not already exist
786777
if(NOT EXISTS ${KEYSTORE})
@@ -791,12 +782,10 @@ if(NOT SIGN STREQUAL "NONE")
791782
WORKING_DIRECTORY ${WOLFBOOT_ROOT}
792783
COMMENT "Generating keystore.c and signing private key")
793784

794-
if(NOT PYTHON_KEYTOOLS)
795-
add_custom_command(
796-
OUTPUT ${KEYSTORE} ${WOLFBOOT_SIGNING_PRIVATE_KEY}
797-
DEPENDS ${KEYGEN_TOOL}
798-
APPEND)
799-
endif()
785+
add_custom_command(
786+
OUTPUT ${KEYSTORE} ${WOLFBOOT_SIGNING_PRIVATE_KEY}
787+
DEPENDS ${KEYGEN_TOOL}
788+
APPEND)
800789
endif()
801790

802791
add_library(public_key)

test-app/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ if(BUILD_TEST_APPS)
120120
target_compile_definitions(image PRIVATE TARGET_${WOLFBOOT_TARGET}
121121
${TEST_APP_COMPILE_DEFINITIONS} ${WOLFBOOT_DEFS})
122122

123-
target_compile_options(image PRIVATE -Wall -Wstack-usage=1024 -ffreestanding -Wno-unused
123+
target_compile_options(image PRIVATE -Wall -Wstack-usage=1024 -ffreestanding -Wno-unused -nostartfiles -fomit-frame-pointer
124124
-nostartfiles)
125125

126126
if(WOLFBOOT_TARGET STREQUAL "sim")

tools/keytools/user_settings.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@
2929
#include <stdint.h>
3030

3131
/* System */
32-
#ifndef WOLFBOOT_KEYTOOLS
33-
#define WOLFBOOT_KEYTOOLS
34-
#endif
32+
#define WOLFBOOT_KEYTOOLS
3533
#define SINGLE_THREADED
3634
#define WOLFCRYPT_ONLY
3735

0 commit comments

Comments
 (0)