-
Notifications
You must be signed in to change notification settings - Fork 89
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
Initial wolfSSH Espressif Component Publish #599
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,13 +31,21 @@ libtool | |
libtool.m4 | ||
*.log | ||
*.gz | ||
*.zip | ||
*.bak | ||
*.dummy | ||
*.xcworkspace | ||
Makefile | ||
Makefile.in | ||
*.deps | ||
.dirstamp | ||
*.libs | ||
stamp-h* | ||
src/stamp-h1 | ||
build-aux/ | ||
wolfmqtt-config | ||
build-test/ | ||
build/ | ||
wolfssh-config | ||
aminclude.am | ||
|
||
|
@@ -48,19 +56,34 @@ tags | |
diff | ||
.vimrc | ||
|
||
# examples | ||
# wolfSSL examples | ||
examples/client/client | ||
examples/echoserver/echoserver | ||
examples/server/server | ||
examples/portfwd/portfwd | ||
examples/sftpclient/wolfsftp | ||
examples/scpclient/wolfscp | ||
|
||
# applications | ||
# wolfSSH applications | ||
apps/wolfssh/wolfssh | ||
apps/wolfsshd/wolfsshd | ||
apps/wolfsshd/test/test_configuration | ||
|
||
# wolfMQTT examples | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why are these in the wolfSSH project? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There might be value in having a consistent |
||
examples/aws/awsiot | ||
examples/azure/azureiothub | ||
examples/firmware/fwclient | ||
examples/firmware/fwpush | ||
examples/mqttclient/mqttclient | ||
examples/mqttsimple/mqttsimple | ||
examples/nbclient/nbclient | ||
examples/sn-client/sn-client | ||
examples/sn-client/sn-client_qos-1 | ||
examples/sn-client/sn-multithread | ||
examples/multithread/multithread | ||
examples/wiot/wiot | ||
|
||
|
||
# test output | ||
tests/*.test | ||
*.trs | ||
|
@@ -71,6 +94,18 @@ client.plist | |
# misc | ||
.DS_Store | ||
|
||
# Visual Studio Code Workspace Files | ||
*.vscode | ||
*.userprefs | ||
*.exe | ||
*.dll | ||
.vs | ||
Backup | ||
UpgradeLog.htm | ||
*.aps | ||
*.VC.db | ||
*.filters | ||
|
||
# VS debris | ||
*.sdf | ||
*.v11.suo | ||
|
@@ -84,7 +119,80 @@ Release | |
DLL Debug | ||
DLL Release | ||
|
||
# Eclipse | ||
*.trs | ||
firmware.bin | ||
wolfmqtt/options.h | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is wolfSSH not wolfMQTT. |
||
IDE/ARDUINO/wolfMQTT | ||
IDE/Microchip-Harmony/wolfmqtt_client/firmware/mqtt_client.X/dist/default/ | ||
build/ | ||
|
||
# eclipse | ||
.cproject | ||
.project | ||
.settings | ||
|
||
|
||
# auto-created CMake backups | ||
**/CMakeLists.txt.old | ||
|
||
# VisualGDB | ||
**/.visualgdb | ||
**/*.vgdbproj.*.user | ||
|
||
|
||
# Espressif sdk config default should be saved in sdkconfig.defaults | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The following items are pathed from root, not local to the git repo, why are they here? Git shouldn't see these. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm pretty sure "root" (leading |
||
# we won't track the actual working sdkconfig files | ||
/IDE/Espressif/**/out/ | ||
/ide/Espressif/**/sdkconfig | ||
|
||
# Espressif managed components to exclude: | ||
/ide/Espressif/**/managed_components/** | ||
|
||
# Espressif managed component lock files to exclude. | ||
# "In general, it's ok to have it under version control, however, it ties | ||
# the solution to the exact version of ESP-IDF and will be ignored if an | ||
# example is built against another IDF version or for a different target. | ||
# So it's better to git ignore it for the examples." | ||
/ide/Espressif/**/dependencies.lock | ||
|
||
# exclude any local oqs components | ||
/ide/Espressif/ESP-IDF/examples/**/components/oqs | ||
|
||
/ide/Espressif/**/sdkconfig.old | ||
|
||
# ESP Registry Files | ||
|
||
# Temporary wolfssl component install directories that are copied locally at install time | ||
/ide/Espressif/wolfssl | ||
/ide/Espressif/component-manager/wolfssl | ||
/ide/Espressif/component-manager/wolfcrypt | ||
/ide/Espressif/component-manager/src | ||
/ide/Espressif/component-manager/dist | ||
|
||
# Exclude most of the example files that are copied at install time | ||
# from https://github.com/wolfSSL/wolfssl/tree/master/ide/Espressif/ESP-IDF/examples | ||
/ide/Espressif/component-manager/examples/**/CMakeLists.txt | ||
/ide/Espressif/component-manager/examples/**/partitions_singleapp_large.csv | ||
/ide/Espressif/component-manager/examples/**/sdkconfig.defaults | ||
/ide/Espressif/component-manager/examples/**/main/CMakeLists.txt | ||
/ide/Espressif/component-manager/examples/**/main/*.c | ||
/ide/Espressif/component-manager/examples/**/main/*.h | ||
/ide/Espressif/component-manager/examples/**/main/include/*.h | ||
/ide/Espressif/component-manager/examples/**/main/component.mk | ||
/ide/Espressif/component-manager/examples/**/VisualGDB/*.sln | ||
/ide/Espressif/component-manager/examples/**/VisualGDB/*.vgdbproj | ||
|
||
# The only ESP Registry Files specific to this location | ||
/ide/Espressif/ESP-IDF/examples/wolfssl_test/**/components/cryptoauthlib | ||
|
||
# Never include the build failure semaphore file | ||
/ide/build_failed.txt | ||
/ide/Espressif/ESP-IDF/component-manager/dist.bak | ||
/ide/Espressif/ESP-IDF/component-manager/src | ||
/ide/Espressif/ESP-IDF/component-manager/wolfcrypt | ||
/ide/Espressif/ESP-IDF/component-manager/wolfssl | ||
/ide/Espressif/ESP-IDF/component-manager/dist | ||
|
||
/ide/Espressif/component-manager/wolfssh | ||
/ide/Espressif/component-manager/examples/**/* | ||
/ide/Espressif/ESP-IDF/examples |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# | ||
# Copyright (C) 2006-2022 wolfSSL Inc. All rights reserved. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's 2023. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And this is the commercial licensing header. Everything in wolfSSH must be GPLv3. |
||
# | ||
# This file is part of wolfSSH. | ||
# | ||
# Contact [email protected] with any questions or comments. | ||
# | ||
# https://www.wolfssl.com | ||
#/ | ||
|
||
# | ||
# This is the CMakeLists.txt for the Espressif ESP-IDF wolfSSH component | ||
# | ||
cmake_minimum_required(VERSION 3.5) | ||
|
||
if( "$ENV{IDF_COMPONENT_REGISTRY_URL}" STREQUAL "https://components-staging.espressif.com" ) | ||
message(STATUS "Using Staging Component Test for wolfSSL: mywolfssl") | ||
set(WOLFSSL_COMPONENT_NAME "mywolfssl") | ||
else() | ||
set(WOLFSSL_COMPONENT_NAME "wolfssl") | ||
endif() | ||
|
||
# These flags apply only to compiling this component independently. | ||
# be sure to include this like in the root CMakeFiles.txt | ||
# for proper application-wide use of WOLFSSL_USER_SETTINGS: | ||
# | ||
# add_compile_definitions("WOLFSSL_USER_SETTINGS") | ||
# add_compile_definitions("WOLFSSH_USER_SETTINGS") | ||
# | ||
# if using ESP-IDF prior to 4.4, see: | ||
# https://github.com/wolfSSL/wolfssl/issues/5727 | ||
if (CONFIG_DEBUG_WOLFSSH) | ||
message(STATUS "Config DEBUG_WOLFSSH is enabled for components/wolfssh") | ||
endif() | ||
|
||
if (WOLFSSL_USER_SETTINGS) | ||
message(STATUS "Component wolfssh: Found predefined WOLFSSL_USER_SETTINGS") | ||
else() | ||
# wolfSSL settings should have occurred in project makefiles | ||
#message(WARNING "Component wolfssh: Setting WOLFSSL_USER_SETTINGS \ | ||
#(should have been a project-wide setting)") | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSL_USER_SETTINGS") | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSL_USER_SETTINGS") | ||
endif() | ||
|
||
if (WOLFSSH_USER_SETTINGS) | ||
message(STATUS "Component wolfssh: Found predefined WOLFSSH_USER_SETTINGS") | ||
else() | ||
# wolfSSL settings should have occurred in project makefiles. See | ||
message(WARNING "Component wolfssh: Setting WOLFSSH_USER_SETTINGS | ||
(should have been a project-wide setting)") | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWOLFSSH_USER_SETTINGS") | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWOLFSSH_USER_SETTINGS") | ||
endif() | ||
|
||
|
||
message(STATUS "wolfssh CMAKE_C_FLAGS = ${CMAKE_C_FLAGS}") | ||
|
||
set(CMAKE_CURRENT_SOURCE_DIR ".") | ||
set(WOLFSSL_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) | ||
set(INCLUDE_PATH ${WOLFSSL_ROOT}) | ||
|
||
set(COMPONENT_SRCDIRS | ||
"./src/" | ||
) | ||
|
||
|
||
set(COMPONENT_REQUIRES lwip "${WOLFSSL_COMPONENT_NAME}") | ||
|
||
set(COMPONENT_ADD_INCLUDEDIRS | ||
"." | ||
) | ||
|
||
|
||
# list(REMOVE_ITEM ASM_FILES ".*\\.(asm|S)") | ||
|
||
message(STATUS "WOLFSSL_ROOT = ${WOLFSSL_ROOT}") | ||
message(STATUS "ASM_FILES = ${ASM_FILES}") | ||
|
||
|
||
#TODO remove: | ||
#idf_component_register( | ||
#SRC_DIRS "${COMPONENT_SRCDIRS}" | ||
#INCLUDE_DIRS "${COMPONENT_ADD_INCLUDEDIRS}" | ||
#REQUIRES "${COMPONENT_REQUIRES}" | ||
#EXCLUDE_SRCS "${COMPONENT_SRCEXCLUDE}" | ||
## SRCS wolfssl/wolfcrypt/test/test.c | ||
#) | ||
if(CMAKE_BUILD_EARLY_EXPANSION) | ||
message(STATUS "wolfssl component CMAKE_BUILD_EARLY_EXPANSION:") | ||
idf_component_register( | ||
REQUIRES "${COMPONENT_REQUIRES}" | ||
) | ||
else() | ||
idf_component_register( | ||
SRC_DIRS "${COMPONENT_SRCDIRS}" | ||
INCLUDE_DIRS "${COMPONENT_ADD_INCLUDEDIRS}" | ||
REQUIRES "${COMPONENT_REQUIRES}" | ||
EXCLUDE_SRCS "${COMPONENT_SRCEXCLUDE}" | ||
PRIV_REQUIRES "${WOLFSSL_COMPONENT_NAME}" # this will typically only be needed for wolfSSL benchmark | ||
) | ||
endif() | ||
|
||
# check to see if there's both a local copy and EDP-IDF copy of the wolfssh components | ||
if( EXISTS "${CMAKE_HOME_DIRECTORY}/components/wolfssh/" AND EXISTS "$ENV{IDF_PATH}/components/wolfssh/" ) | ||
message(STATUS "") | ||
message(WARNING "WARNING: Found components/wolfssh in both local project and IDF_PATH") | ||
message(STATUS "") | ||
endif() | ||
# end multiple component check | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be "wolfSSH examples".