Convert nanostack and lwipstack to STATIC libraries

pull/15339/head
Jamie Smith 2022-05-30 00:04:01 -07:00 committed by Jay Sridharan
parent dd66013d9c
commit e97e9424b4
36 changed files with 162 additions and 126 deletions

View File

@ -6,44 +6,21 @@ add_library(mbed-802.15.4-rf INTERFACE)
add_library(mbed-ble INTERFACE)
add_library(mbed-ble-cordio INTERFACE)
add_library(mbed-ble-cordio_ll INTERFACE)
add_library(mbed-cellular INTERFACE)
add_library(mbed-coap INTERFACE)
add_library(mbed-emac INTERFACE)
add_library(mbed-lorawan INTERFACE)
add_library(mbed-lwipstack INTERFACE)
add_library(mbed-mbedtls STATIC EXCLUDE_FROM_ALL)
add_library(mbed-nanostack INTERFACE)
add_library(mbed-nanostack-coap_service INTERFACE)
add_library(mbed-nanostack-mbed_mesh_api INTERFACE)
add_library(mbed-nanostack-hal_mbed_cmsis_rtos INTERFACE)
add_library(mbed-nanostack-sal_stack INTERFACE)
add_library(mbed-nanostack-sal_stack-event_loop INTERFACE)
add_library(mbed-nanostack-libservice INTERFACE)
add_library(mbed-netsocket INTERFACE)
add_library(mbed-nfc INTERFACE)
add_library(mbed-ppp INTERFACE)
add_library(mbed-wifi INTERFACE)
if(MBED_OS_ENABLE_TESTS)
# Add these subdirectories for tests
add_subdirectory(cellular)
add_subdirectory(drivers)
add_subdirectory(FEATURE_BLE)
add_subdirectory(libraries)
add_subdirectory(lorawan)
add_subdirectory(mbedtls)
add_subdirectory(netsocket)
add_subdirectory(nfc)
else()
# The directories below contain optional target libraries
add_subdirectory(FEATURE_BLE EXCLUDE_FROM_ALL)
add_subdirectory(cellular EXCLUDE_FROM_ALL)
add_subdirectory(drivers EXCLUDE_FROM_ALL)
add_subdirectory(libraries EXCLUDE_FROM_ALL)
add_subdirectory(lorawan EXCLUDE_FROM_ALL)
add_subdirectory(lwipstack EXCLUDE_FROM_ALL)
add_subdirectory(mbedtls EXCLUDE_FROM_ALL)
add_subdirectory(nanostack EXCLUDE_FROM_ALL)
add_subdirectory(netsocket EXCLUDE_FROM_ALL)
add_subdirectory(nfc EXCLUDE_FROM_ALL)
endif()
add_subdirectory(nanostack)
add_subdirectory(cellular)
add_subdirectory(drivers)
add_subdirectory(FEATURE_BLE)
add_subdirectory(libraries)
add_subdirectory(lorawan)
add_subdirectory(lwipstack)
add_subdirectory(mbedtls)
add_subdirectory(netsocket)
add_subdirectory(nfc)

View File

@ -9,10 +9,12 @@ if(MBED_OS_ENABLE_TESTS)
endif()
endif()
add_library(mbed-cellular STATIC EXCLUDE_FROM_ALL)
add_subdirectory(source/framework)
target_include_directories(mbed-cellular
INTERFACE
PUBLIC
.
./include
./include/cellular
@ -24,12 +26,17 @@ target_include_directories(mbed-cellular
)
target_compile_definitions(mbed-cellular
INTERFACE
PUBLIC
MBED_CONF_CELLULAR_PRESENT=1
)
target_sources(mbed-cellular
PUBLIC
source/CellularNonIPSocket.cpp
)
target_link_libraries(mbed-cellular
INTERFACE
PUBLIC
mbed-netsocket
mbed-core-flags
)

View File

@ -19,7 +19,7 @@
#if MBED_CONF_CELLULAR_PRESENT
#include "platform/Callback.h"
#include "netsocket/CellularNonIPSocket.h"
#include "CellularNonIPSocket.h"
#include <stdio.h>
using namespace mbed;

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-cellular
INTERFACE
PRIVATE
AT_CellularContext.cpp
AT_CellularDevice.cpp
AT_CellularInformation.cpp

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-cellular
INTERFACE
PRIVATE
APN_db.cpp
CellularLog.cpp
CellularUtil.cpp

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-cellular
INTERFACE
PRIVATE
ATHandler.cpp
CellularContext.cpp
CellularDevice.cpp

View File

@ -1,15 +1,17 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-coap STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-coap
INTERFACE
PUBLIC
.
./mbed-coap
./source/include
)
target_sources(mbed-coap
INTERFACE
PRIVATE
source/sn_coap_builder.c
source/sn_coap_header_check.c
source/sn_coap_parser.c
@ -17,6 +19,13 @@ target_sources(mbed-coap
)
target_compile_definitions(mbed-coap
INTERFACE
PUBLIC
MBED_CONF_COAP_PRESENT=1
)
target_link_libraries(mbed-coap
PUBLIC
mbed-nanostack-libservice
mbed-core-flags
mbed-randlib
)

View File

@ -1,15 +1,17 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-nanostack-libservice STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-nanostack-libservice
INTERFACE
PUBLIC
.
./mbed-client-libservice
./mbed-client-libservice/platform
)
target_sources(mbed-nanostack-libservice
INTERFACE
PRIVATE
source/IPv6_fcf_lib/ip_fsc.c
source/libList/ns_list.c
source/libip4string/ip4tos.c

View File

@ -1,8 +1,10 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-lwipstack STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-lwipstack
INTERFACE
PUBLIC
.
./include
./include/lwipstack
@ -13,7 +15,7 @@ target_include_directories(mbed-lwipstack
)
target_sources(mbed-lwipstack
INTERFACE
PRIVATE
lwip/src/api/lwip_api_lib.c
lwip/src/api/lwip_api_msg.c
lwip/src/api/lwip_err.c
@ -88,13 +90,15 @@ target_sources(mbed-lwipstack
)
target_compile_definitions(mbed-lwipstack
INTERFACE
PUBLIC
MBED_CONF_LWIPSTACK_PRESENT=1
)
target_link_libraries(mbed-lwipstack
INTERFACE
PUBLIC
mbed-netsocket
mbed-ppp
mbed-randlib
PRIVATE
mbed-rtos-flags
)

View File

@ -1,6 +1,8 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-nanostack STATIC EXCLUDE_FROM_ALL)
add_subdirectory(coap-service)
add_subdirectory(mbed-mesh-api)
add_subdirectory(nanostack-hal-mbed-cmsis-rtos)
@ -8,24 +10,24 @@ add_subdirectory(sal-stack-nanostack)
add_subdirectory(sal-stack-nanostack-eventloop)
target_include_directories(mbed-nanostack
INTERFACE
PUBLIC
.
./include
./include/nanostack-interface
)
target_sources(mbed-nanostack
INTERFACE
PRIVATE
source/Nanostack.cpp
)
target_compile_definitions(mbed-nanostack
INTERFACE
PUBLIC
MBED_CONF_NANOSTACK_PRESENT=1
)
target_link_libraries(mbed-nanostack
INTERFACE
PUBLIC
mbed-nanostack-mbed_mesh_api
mbed-nanostack-sal_stack-event_loop
mbed-nanostack-sal_stack

View File

@ -1,22 +1,29 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-nanostack-coap_service STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-nanostack-coap_service
INTERFACE
PUBLIC
.
./coap-service
./source/include
)
target_sources(mbed-nanostack-coap_service
INTERFACE
PRIVATE
source/coap_connection_handler.c
source/coap_message_handler.c
source/coap_security_handler.c
source/coap_service_api.c
)
target_link_libraries(mbed-nanostack
INTERFACE
target_link_libraries(mbed-nanostack-coap_service
PUBLIC
mbed-nanostack-libservice
mbed-nanostack-sal_stack
mbed-coap
mbed-nanostack-sal_stack-event_loop
mbed-randlib
mbed-mbedtls
)

View File

@ -1,15 +1,18 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-nanostack-mbed_mesh_api STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-nanostack-mbed_mesh_api
INTERFACE
PUBLIC
.
./mbed-mesh-api
./source/include
)
../include/nanostack-interface
)
target_sources(mbed-nanostack-mbed_mesh_api
INTERFACE
PRIVATE
source/CallbackHandler.cpp
source/LoWPANNDInterface.cpp
source/MeshInterfaceNanostack.cpp
@ -27,7 +30,12 @@ target_sources(mbed-nanostack-mbed_mesh_api
source/wisun_tasklet.c
)
target_link_libraries(mbed-nanostack
INTERFACE
target_link_libraries(mbed-nanostack-mbed_mesh_api
PUBLIC
mbed-nanostack-hal_mbed_cmsis_rtos
mbed-nanostack-sal_stack
mbed-netsocket
mbed-core-flags
PRIVATE
mbed-rtos-flags
)

View File

@ -1,13 +1,15 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-nanostack-hal_mbed_cmsis_rtos STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-nanostack-hal_mbed_cmsis_rtos
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-hal_mbed_cmsis_rtos
INTERFACE
PRIVATE
arm_hal_fhss_timer.cpp
arm_hal_interrupt.c
arm_hal_random.c
@ -20,3 +22,10 @@ target_sources(mbed-nanostack-hal_mbed_cmsis_rtos
nvm/nvm_ram.c
)
target_link_libraries(mbed-nanostack-hal_mbed_cmsis_rtos
PUBLIC
mbed-core-flags
PRIVATE
mbed-rtos-flags
)

View File

@ -1,7 +1,9 @@
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-nanostack-sal_stack-event_loop STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-nanostack-sal_stack-event_loop
INTERFACE
PUBLIC
.
./nanostack-event-loop
./nanostack-event-loop/platform
@ -9,9 +11,14 @@ target_include_directories(mbed-nanostack-sal_stack-event_loop
)
target_sources(mbed-nanostack-sal_stack-event_loop
INTERFACE
PRIVATE
source/event.c
source/ns_timeout.c
source/ns_timer.c
source/system_timer.c
)
target_link_libraries(mbed-nanostack-sal_stack-event_loop
PUBLIC
mbed-core-flags
)

View File

@ -1,6 +1,8 @@
# Copyright (c) 2020-2021, Pelion and affiliates.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-nanostack-sal_stack STATIC EXCLUDE_FROM_ALL)
add_subdirectory(source/6LoWPAN)
add_subdirectory(source/BorderRouter)
add_subdirectory(source/Common_Protocols)
@ -20,14 +22,19 @@ add_subdirectory(source/libDHCPv6)
add_subdirectory(source/libNET)
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./nanostack
./nanostack/platform
./source
)
target_link_libraries(mbed-nanostack
INTERFACE
target_link_libraries(mbed-nanostack-sal_stack
PUBLIC
mbed-nanostack-libservice
mbed-core-flags
mbed-nanostack-sal_stack-event_loop
mbed-randlib
mbed-mbedtls
mbed-nanostack-coap_service
)

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./Bootstraps
./Fragmentation
@ -16,7 +16,7 @@ target_include_directories(mbed-nanostack-sal_stack
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
adaptation_interface.c
Bootstraps/Generic/network_lib.c

View File

@ -2,11 +2,11 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
border_router.c
)

View File

@ -2,12 +2,12 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
icmpv6.c
icmpv6_prefix.c
icmpv6_radv.c

View File

@ -2,13 +2,13 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./include
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
buffer_dyn.c
ns_address_internal.c
ns_monitor.c

View File

@ -2,11 +2,11 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
DHCPv6_Server_service.c
)

View File

@ -2,11 +2,11 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
dhcpv6_client_service.c
)

View File

@ -2,14 +2,14 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./IEEE802_15_4
./virtual_rf
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
rf_driver_storage.c
IEEE802_15_4/mac_cca_threshold.c

View File

@ -2,12 +2,12 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
mle.c
mle_tlv.c
)

View File

@ -2,11 +2,11 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
mpl.c
)

View File

@ -2,13 +2,13 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./Include
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
protocol_core.c
protocol_core_sleep.c
protocol_stats.c

View File

@ -2,12 +2,12 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
rpl_control.c
rpl_data.c
rpl_downward.c

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./Common
./PANA
@ -19,7 +19,7 @@ target_include_directories(mbed-nanostack-sal_stack
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
Common/security_lib.c
PANA/eap_protocol.c

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./Neighbor_cache
./Trickle
@ -36,7 +36,7 @@ target_include_directories(mbed-nanostack-sal_stack
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
CCM_lib/ccm_security.c
CCM_lib/mbedOS/aes_mbedtls_adapter.c

View File

@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./base
)

View File

@ -2,12 +2,12 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
ipv6_routing_table.c
protocol_ipv6.c
)

View File

@ -2,12 +2,12 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
dhcp_service_api.c
libDHCPv6.c
libDHCPv6_server.c

View File

@ -2,13 +2,13 @@
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-nanostack-sal_stack
INTERFACE
PUBLIC
.
./src
)
target_sources(mbed-nanostack-sal_stack
INTERFACE
PRIVATE
src/multicast_api.c
src/net_6lowpan_parameter_api.c
src/net_dns.c

View File

@ -9,21 +9,17 @@ if(MBED_OS_ENABLE_TESTS)
endif()
endif()
# TODO CMake: Perhaps move this/these file(s) into connectivity/drivers/cellular
target_sources(mbed-cellular
INTERFACE
source/CellularNonIPSocket.cpp
)
add_library(mbed-netsocket STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-netsocket
INTERFACE
PUBLIC
.
./include
./include/netsocket
)
target_sources(mbed-netsocket
INTERFACE
PRIVATE
source/DTLSSocket.cpp
source/DTLSSocketWrapper.cpp
source/EMACInterface.cpp
@ -49,26 +45,27 @@ target_sources(mbed-netsocket
)
target_compile_definitions(mbed-netsocket
INTERFACE
PUBLIC
MBED_CONF_NSAPI_PRESENT=1
)
target_link_libraries(mbed-netsocket
INTERFACE
PUBLIC
mbed-mbedtls
mbed-lwipstack
mbed-events
mbed-core-flags
)
if("DEVICE_EMAC=1" IN_LIST MBED_TARGET_DEFINITIONS)
target_link_libraries(mbed-netsocket
INTERFACE
PUBLIC
mbed-emac
)
endif()
target_link_libraries(mbed-netsocket
INTERFACE
PUBLIC
mbed-wifi
mbed-cellular
mbed-nanostack-libservice

View File

@ -9,10 +9,10 @@ if(MBED_OS_ENABLE_TESTS)
endif()
endif()
add_library(mbed-events INTERFACE)
add_library(mbed-events STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-events
INTERFACE
PUBLIC
.
./include
./include/events
@ -20,7 +20,7 @@ target_include_directories(mbed-events
)
target_sources(mbed-events
INTERFACE
PRIVATE
source/EventQueue.cpp
source/equeue.c
source/equeue_mbed.cpp
@ -29,6 +29,11 @@ target_sources(mbed-events
)
target_compile_definitions(mbed-events
INTERFACE
PUBLIC
MBED_CONF_EVENTS_PRESENT=1
)
target_link_libraries(mbed-events
PUBLIC
mbed-core-flags
)

View File

@ -1,21 +1,16 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-randlib INTERFACE)
add_library(mbed-randlib STATIC EXCLUDE_FROM_ALL)
target_include_directories(mbed-randlib
INTERFACE
PUBLIC
include
include/mbed-client-randlib
include/mbed-client-randlib/platform
)
target_sources(mbed-randlib
INTERFACE
PRIVATE
source/randLIB.c
)
target_link_libraries(mbed-randlib
INTERFACE
mbed-nanostack
)