You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2023/07/15 15:32:44 UTC
[nuttx] 03/04: cmake: fix CMake build break
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit f10b54a0812ddbb1654774df2c93b1ca568ceaf9
Author: chao an <an...@xiaomi.com>
AuthorDate: Thu Jul 13 16:31:02 2023 +0800
cmake: fix CMake build break
Signed-off-by: chao an <an...@xiaomi.com>
---
arch/sim/src/cmake/Toolchain.cmake | 94 ++++++++++++++++
arch/sim/src/sim/CMakeLists.txt | 52 ++++++---
boards/sim/sim/sim/src/CMakeLists.txt | 4 +
drivers/misc/CMakeLists.txt | 20 ++++
drivers/motor/foc/CMakeLists.txt | 9 +-
drivers/mtd/CMakeLists.txt | 33 ++++--
drivers/note/CMakeLists.txt | 16 ++-
drivers/power/CMakeLists.txt | 151 +-------------------------
drivers/power/battery/CMakeLists.txt | 89 +++++++++++++++
drivers/{misc => power/pm}/CMakeLists.txt | 53 +++++----
drivers/{note => power/relay}/CMakeLists.txt | 17 ++-
drivers/{note => power/supply}/CMakeLists.txt | 32 ++++--
drivers/spi/CMakeLists.txt | 13 +++
fs/mmap/CMakeLists.txt | 6 +-
fs/vfs/CMakeLists.txt | 22 ++--
libs/libc/pthread/CMakeLists.txt | 5 +-
mm/kasan/CMakeLists.txt | 4 +-
openamp/CMakeLists.txt | 2 +-
openamp/libmetal.cmake | 2 +
openamp/open-amp.cmake | 66 +++++++++--
sched/group/CMakeLists.txt | 6 +-
21 files changed, 446 insertions(+), 250 deletions(-)
diff --git a/arch/sim/src/cmake/Toolchain.cmake b/arch/sim/src/cmake/Toolchain.cmake
index b0e228a357..14cff55a6f 100644
--- a/arch/sim/src/cmake/Toolchain.cmake
+++ b/arch/sim/src/cmake/Toolchain.cmake
@@ -22,3 +22,97 @@ if(APPLE)
find_program(CMAKE_C_ELF_COMPILER x86_64-elf-gcc)
find_program(CMAKE_CXX_ELF_COMPILER x86_64-elf-g++)
endif()
+
+if(WIN32)
+ return()
+endif()
+
+add_compile_options(-fno-common)
+
+if(CONFIG_DEBUG_SYMBOLS)
+ add_compile_options(-g)
+endif()
+
+if(CONFIG_SIM_M32)
+ add_compile_options(-m32)
+endif()
+
+if(CONFIG_DEBUG_CUSTOMOPT)
+ add_compile_options(${CONFIG_DEBUG_OPTLEVEL})
+elseif(CONFIG_DEBUG_FULLOPT)
+ if(CONFIG_ARCH_TOOLCHAIN_CLANG)
+ add_compile_options(-Oz)
+ else()
+ add_compile_options(-Os)
+ endif()
+endif()
+
+if(NOT CONFIG_DEBUG_NOOPT)
+ add_compile_options(-fno-strict-aliasing)
+endif()
+
+if(CONFIG_FRAME_POINTER)
+ add_compile_options(-fno-omit-frame-pointer -fno-optimize-sibling-calls)
+else()
+ add_compile_options(-fomit-frame-pointer)
+endif()
+
+if(CONFIG_STACK_CANARIES)
+ add_compile_options(-fstack-protector-all)
+endif()
+
+if(CONFIG_STACK_USAGE)
+ add_compile_options(-fstack-usage)
+endif()
+
+if(CONFIG_ARCH_COVERAGE)
+ add_compile_options(-fprofile-generate -ftest-coverage)
+endif()
+
+if(CONFIG_SIM_ASAN)
+ add_compile_options(-fsanitize=address)
+ add_compile_options(-fsanitize-address-use-after-scope)
+ add_compile_options(-fsanitize=pointer-compare)
+ add_compile_options(-fsanitize=pointer-subtract)
+elseif(CONFIG_MM_KASAN_ALL)
+ add_compile_options(-fsanitize=kernel-address)
+endif()
+
+if(CONFIG_SIM_UBSAN)
+ add_compile_options(-fsanitize=undefined)
+else()
+ if(CONFIG_MM_UBSAN_ALL)
+ add_compile_options(${CONFIG_MM_UBSAN_OPTION})
+ endif()
+
+ if(CONFIG_MM_UBSAN_TRAP_ON_ERROR)
+ add_compile_options(-fsanitize-undefined-trap-on-error)
+ endif()
+endif()
+
+set(ARCHCFLAGS "-Wstrict-prototypes")
+set(ARCHCXXFLAGS "-nostdinc++")
+
+if(CONFIG_CXX_EXCEPTION)
+ string(APPEND ARCHCXXFLAGS " -fno-exceptions -fcheck-new")
+endif()
+
+if(CONFIG_CXX_RTTI)
+ string(APPEND ARCHCXXFLAGS " -fno-rtti")
+endif()
+
+if(NOT "${CMAKE_C_FLAGS}" STREQUAL "")
+ string(REGEX MATCH "${ARCHCFLAGS}" EXISTS_FLAGS "${CMAKE_C_FLAGS}")
+endif()
+
+if(NOT EXISTS_FLAGS)
+ set(CMAKE_ASM_FLAGS
+ "${CMAKE_ASM_FLAGS}${ARCHCFLAGS}"
+ CACHE STRING "" FORCE)
+ set(CMAKE_C_FLAGS
+ "${CMAKE_C_FLAGS}${ARCHCFLAGS}"
+ CACHE STRING "" FORCE)
+ set(CMAKE_CXX_FLAGS
+ "${CMAKE_CXX_FLAGS}${ARCHCXXFLAGS}"
+ CACHE STRING "" FORCE)
+endif()
diff --git a/arch/sim/src/sim/CMakeLists.txt b/arch/sim/src/sim/CMakeLists.txt
index 989e11fa2c..0babbd8e9d 100644
--- a/arch/sim/src/sim/CMakeLists.txt
+++ b/arch/sim/src/sim/CMakeLists.txt
@@ -71,7 +71,7 @@ if(CONFIG_SCHED_BACKTRACE)
list(APPEND SRCS sim_backtrace.c)
endif()
-if(CONFIG_ARCH_HAVE_FORK AND CONFIG_SCHED_WAITPID)
+if(CONFIG_ARCH_HAVE_FORK)
list(APPEND SRCS sim_fork.c)
endif()
@@ -111,9 +111,11 @@ if(CONFIG_RPTUN)
endif()
if(CONFIG_SIM_SOUND_ALSA)
- list(APPEND SRCS sim_alsa.c)
+ list(APPEND SRCS posix/sim_alsa.c)
+ list(APPEND SRCS posix/sim_offload.c)
list(APPEND STDLIBS asound)
list(APPEND STDLIBS mad)
+ list(APPEND STDLIBS mp3lame)
endif()
# host sources ###############################################################
@@ -127,6 +129,12 @@ list(
sim_hosttime.c
sim_hostuart.c)
+if(CONFIG_SIM_CAMERA_V4L2)
+ list(APPEND HOSTSRCS sim_host_v4l2.c)
+ list(APPEND SRCS sim_camera.c)
+ list(APPEND STDLIBS v4l2)
+endif()
+
if(CONFIG_SPINLOCK)
list(APPEND HOSTSRCS sim_testset.c)
endif()
@@ -149,6 +157,10 @@ if(CONFIG_SIM_X11FB)
elseif(CONFIG_SIM_BUTTONS)
list(APPEND HOSTSRCS sim_x11eventloop.c)
endif()
+
+ if(CONFIG_SIM_KEYBOARD)
+ list(APPEND SRCS sim_keyboard.c)
+ endif()
endif()
if(CONFIG_SIM_NETDEV_TAP)
@@ -168,31 +180,37 @@ elseif(CONFIG_SIM_NETDEV_VPNKIT)
list(APPEND HOSTSRCS sim_vpnkit.c vpnkit/protocol.c vpnkit/negotiate.c)
endif()
-if(CONFIG_SIM_HCISOCKET)
- list(APPEND HOSTSRCS sim_hcisocket_host.c)
- list(APPEND SRCS sim_hcisocket.c)
-endif()
-
if(CONFIG_SIM_NETUSRSOCK)
- list(APPEND HOSTSRCS sim_usrsock_host.c)
+ list(APPEND HOSTSRCS sim_hostusrsock.c)
list(APPEND SRCS sim_usrsock.c)
endif()
-if(CONFIG_SIM_BTUART)
- list(APPEND HOSTSRCS sim_hcisocket_host.c)
- list(APPEND SRCS sim_btuart.c)
-endif()
-
-if(CONFIG_I2C_RESET)
- list(APPEND HOST_DEFINITIONS CONFIG_I2C_RESET=1)
+if(CONFIG_SIM_HCISOCKET)
+ list(APPEND HOSTSRCS sim_hosthcisocket.c)
+ list(APPEND SRCS sim_hcisocket.c)
endif()
if(CONFIG_SIM_I2CBUS_LINUX)
- list(APPEND HOSTSRCS sim_i2cbuslinux.c)
+ list(APPEND HOSTSRCS sim_linuxi2c.c)
endif()
if(CONFIG_SIM_SPI_LINUX)
- list(APPEND HOSTSRCS sim_spilinux.c)
+ list(APPEND HOSTSRCS sim_linuxspi.c)
+endif()
+
+if(CONFIG_SIM_USB_DEV)
+ list(APPEND SRCS sim_usbdev.c)
+ if(CONFIG_SIM_USB_RAW_GADGET)
+ list(APPEND HOSTSRCS sim_rawgadget.c)
+ endif()
+endif()
+
+if(CONFIG_SIM_USB_HOST)
+ list(APPEND SRCS sim_usbhost.c)
+ if(CONFIG_SIM_LIBUSB)
+ list(APPEND HOSTSRCS sim_libusb.c)
+ list(APPEND STDLIBS usb-1.0)
+ endif()
endif()
if(CONFIG_SIM_HOSTFS)
diff --git a/boards/sim/sim/sim/src/CMakeLists.txt b/boards/sim/sim/sim/src/CMakeLists.txt
index 51a1cb393b..a984ba7af3 100644
--- a/boards/sim/sim/sim/src/CMakeLists.txt
+++ b/boards/sim/sim/sim/src/CMakeLists.txt
@@ -56,6 +56,10 @@ if(CONFIG_MOTOR_FOC_DUMMY)
list(APPEND SRCS sim_foc.c)
endif()
+if(CONFIG_USBDEV_COMPOSITE)
+ list(APPEND SRCS sim_composite.c)
+endif()
+
target_sources(board PRIVATE ${SRCS})
set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/gnu-elf.ld")
diff --git a/drivers/misc/CMakeLists.txt b/drivers/misc/CMakeLists.txt
index f4f027b025..f4debb2d73 100644
--- a/drivers/misc/CMakeLists.txt
+++ b/drivers/misc/CMakeLists.txt
@@ -31,6 +31,10 @@ if(CONFIG_DEV_ZERO)
list(APPEND SRCS dev_zero.c)
endif()
+if(CONFIG_DEV_ASCII)
+ list(APPEND SRCS dev_ascii.c)
+endif()
+
if(CONFIG_LWL_CONSOLE)
list(APPEND SRCS lwl_console.c)
endif()
@@ -48,4 +52,20 @@ elseif(CONFIG_DRVR_READAHEAD)
list(APPEND SRCS rwbuffer.c)
endif()
+if(CONFIG_DEV_RPMSG)
+ list(APPEND SRCS rpmsgdev.c)
+endif()
+
+if(CONFIG_DEV_RPMSG_SERVER)
+ list(APPEND SRCS rpmsgdev_server.c)
+endif()
+
+if(CONFIG_BLK_RPMSG)
+ list(APPEND SRCS rpmsgblk.c)
+endif()
+
+if(CONFIG_BLK_RPMSG_SERVER)
+ list(APPEND SRCS rpmsgblk_server.c)
+endif()
+
target_sources(drivers PRIVATE ${SRCS})
diff --git a/drivers/motor/foc/CMakeLists.txt b/drivers/motor/foc/CMakeLists.txt
index f77e50b505..9f5c8f323b 100644
--- a/drivers/motor/foc/CMakeLists.txt
+++ b/drivers/motor/foc/CMakeLists.txt
@@ -17,6 +17,13 @@
# the License.
#
# ##############################################################################
+
if(CONFIG_MOTOR_FOC)
- target_sources(drivers PRIVATE foc_dev.c)
+ set(SRCS foc_dev.c)
+ if(CONFIG_MOTOR_FOC_DUMMY)
+ list(APPEND SRCS foc_dummy.c)
+ endif()
+
+ target_include_directories(drivers PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+ target_sources(drivers PRIVATE ${SRCS})
endif()
diff --git a/drivers/mtd/CMakeLists.txt b/drivers/mtd/CMakeLists.txt
index 201bfc9775..bf8307ffdf 100644
--- a/drivers/mtd/CMakeLists.txt
+++ b/drivers/mtd/CMakeLists.txt
@@ -21,7 +21,13 @@
# ##############################################################################
if(CONFIG_MTD)
- set(SRCS ftl.c mtd_config.c)
+ set(SRCS ftl.c)
+
+ if(CONFIG_MTD_CONFIG_FAIL_SAFE)
+ list(APPEND SRCS mtd_config_fs.c)
+ elseif(CONFIG_MTD_CONFIG)
+ list(APPEND SRCS mtd_config.c)
+ endif()
if(CONFIG_MTD_PARTITION)
list(APPEND SRCS mtd_partition.c)
@@ -33,10 +39,8 @@ if(CONFIG_MTD)
if(CONFIG_MTD_WRBUFFER)
list(APPEND SRCS mtd_rwbuffer.c)
- else()
- if(CONFIG_MTD_READAHEAD)
- list(APPEND SRCS mtd_rwbuffer.c)
- endif()
+ elseif(CONFIG_MTD_READAHEAD)
+ list(APPEND SRCS mtd_rwbuffer.c)
endif()
if(CONFIG_MTD_PROGMEM)
@@ -52,7 +56,6 @@ if(CONFIG_MTD)
mtd_nandscheme.c
mtd_nandmodel.c
mtd_modeltab.c)
-
if(CONFIG_MTD_NAND_SWECC)
list(APPEND SRCS mtd_nandecc.c hamming.c)
endif()
@@ -66,6 +69,18 @@ if(CONFIG_MTD)
list(APPEND SRCS filemtd.c)
endif()
+ if(CONFIG_NULLMTD)
+ list(APPEND SRCS nullmtd.c)
+ endif()
+
+ if(CONFIG_RPMSGMTD)
+ list(APPEND SRCS rpmsgmtd.c)
+ endif()
+
+ if(CONFIG_RPMSGMTD_SERVER)
+ list(APPEND SRCS rpmsgmtd_server.c)
+ endif()
+
if(CONFIG_MTD_AT24XX)
list(APPEND SRCS at24xx.c)
endif()
@@ -142,10 +157,8 @@ if(CONFIG_MTD)
list(APPEND SRCS is25xp.c)
endif()
- if(CONFIG_MTD_SMART)
- if(CONFIG_FS_SMARTFS)
- list(APPEND SRCS smart.c)
- endif()
+ if(CONFIG_MTD_SMART AND CONFIG_FS_SMARTFS)
+ list(APPEND SRCS smart.c)
endif()
target_sources(drivers PRIVATE ${SRCS})
diff --git a/drivers/note/CMakeLists.txt b/drivers/note/CMakeLists.txt
index 5215e75ef5..e2651cd981 100644
--- a/drivers/note/CMakeLists.txt
+++ b/drivers/note/CMakeLists.txt
@@ -19,16 +19,26 @@
# ##############################################################################
set(SRCS)
-if(CONFIG_DRIVER_NOTE)
+if(CONFIG_DRIVERS_NOTE)
list(APPEND SRCS note_driver.c)
+ list(APPEND SRCS note_initialize.c)
endif()
-if(CONFIG_DRIVER_NOTERAM)
+if(CONFIG_DRIVERS_NOTERAM)
list(APPEND SRCS noteram_driver.c)
endif()
-if(CONFIG_DRIVER_NOTECTL)
+if(CONFIG_DRIVERS_NOTELOG)
+ list(APPEND SRCS notelog_driver.c)
+endif()
+
+if(CONFIG_DRIVERS_NOTECTL)
list(APPEND SRCS notectl_driver.c)
endif()
+if(CONFIG_DRIVERS_NOTESNAP)
+ list(APPEND SRCS notesnap_driver.c)
+endif()
+
target_sources(drivers PRIVATE ${SRCS})
+target_include_directories(drivers PRIVATE ${NUTTX_DIR}/sched)
diff --git a/drivers/power/CMakeLists.txt b/drivers/power/CMakeLists.txt
index e841ddf71a..c52c4fdce3 100644
--- a/drivers/power/CMakeLists.txt
+++ b/drivers/power/CMakeLists.txt
@@ -20,153 +20,4 @@
# Include power management sources
-set(SRCS)
-
-if(CONFIG_PM)
-
- list(
- APPEND
- SRCS
- pm_initialize.c
- pm_activity.c
- pm_changestate.c
- pm_checkstate.c
- pm_register.c
- pm_unregister.c
- pm_autoupdate.c
- pm_governor.c
- pm_lock.c)
-
- if(CONFIG_PM_PROCFS)
- list(APPEND SRCS pm_procfs.c)
- endif()
-
- # Governor implementations
-
- if(CONFIG_PM_GOVERNOR_ACTIVITY)
-
- list(APPEND SRCS activity_governor.c)
-
- endif()
-
- if(CONFIG_PM_GOVERNOR_GREEDY)
-
- list(APPEND SRCS greedy_governor.c)
-
- endif()
-
-endif()
-
-# Add switched-mode power supply support
-
-if(CONFIG_DRIVERS_SMPS)
-
- list(APPEND SRCS smps.c)
-
-endif()
-
-# Add powerled support
-
-if(CONFIG_DRIVERS_POWERLED)
-
- list(APPEND SRCS powerled.c)
-
-endif()
-
-if(CONFIG_REGULATOR)
-
- list(APPEND SRCS regulator.c)
-
-endif()
-
-if(CONFIG_REGULATOR_RPMSG)
-
- list(APPEND SRCS regulator_rpmsg.c)
-
-endif()
-
-if(CONFIG_REGULATOR_GPIO)
-
- list(APPEND SRCS regulator_gpio.c)
-
-endif()
-
-# Add battery charger drivers
-
-if(CONFIG_BATTERY_CHARGER)
-
- list(APPEND SRCS battery_charger.c)
-
- # Add the MCP73871 battery charger driver
-
- if(CONFIG_MCP73871)
- list(APPEND SRCS mcp73871.c)
- endif()
-
- # Add I2C-based battery charger drivers
-
- if(CONFIG_I2C)
-
- # Add the BQ2425x I2C-based battery charger driver
-
- if(CONFIG_I2C_BQ2425X)
- list(APPEND SRCS bq2425x.c)
- endif()
-
- # Add the BQ2429x I2C-based battery charger driver
-
- if(CONFIG_I2C_BQ2429X)
- list(APPEND SRCS bq2429x.c)
- endif()
-
- # Add the axp202 I2C-based battery charger driver
-
- if(CONFIG_I2C_AXP202)
- list(APPEND SRCS axp202.c)
- endif()
-
- endif()
-
-endif()
-
-# Add battery gauge drivers
-
-if(CONFIG_BATTERY_GAUGE)
-
- list(APPEND SRCS battery_gauge.c)
-
- # Add I2C-based battery gauge drivers
-
- if(CONFIG_I2C)
-
- # Add the MAX1704x I2C-based battery gauge driver
-
- if(CONFIG_I2C_MAX1704X)
- list(APPEND SRCS max1704x.c)
- endif()
-
- # Add the bq27426 I2C-based battery gauge driver
-
- if(CONFIG_BQ27426)
- list(APPEND SRCS bq27426.c)
- endif()
-
- endif()
-
-endif()
-
-# Add battery monitor drivers
-
-if(CONFIG_BATTERY_MONITOR)
- list(APPEND SRCS battery_monitor.c)
- # Add I2C-based battery monitor drivers
-
- if(CONFIG_I2C)
- # Add the BQ769x0 I2C-based battery monitor driver
- if(CONFIG_I2C_BQ769X0)
- list(APPEND SRCS bq769x0.c)
- endif()
- endif()
-endif()
-
-target_sources(drivers PRIVATE ${SRCS})
+nuttx_add_subdirectory()
diff --git a/drivers/power/battery/CMakeLists.txt b/drivers/power/battery/CMakeLists.txt
new file mode 100644
index 0000000000..b782fd502b
--- /dev/null
+++ b/drivers/power/battery/CMakeLists.txt
@@ -0,0 +1,89 @@
+# ##############################################################################
+# drivers/power/battery/CMakeLists.txt
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more contributor
+# license agreements. See the NOTICE file distributed with this work for
+# additional information regarding copyright ownership. The ASF licenses this
+# file to you under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+# ##############################################################################
+
+# Include power management sources
+
+set(SRCS)
+
+# Add battery charger drivers
+
+if(CONFIG_BATTERY_CHARGER)
+
+ list(APPEND SRCS battery_charger.c)
+
+ # Add the MCP73871 battery charger driver
+
+ if(CONFIG_MCP73871)
+ list(APPEND SRCS mcp73871.c)
+ endif()
+
+ # Add the BQ2425x I2C-based battery charger driver
+
+ if(CONFIG_I2C_BQ2425X)
+ list(APPEND SRCS bq2425x.c)
+ endif()
+
+ # Add the BQ2429x I2C-based battery charger driver
+
+ if(CONFIG_I2C_BQ2429X)
+ list(APPEND SRCS bq2429x.c)
+ endif()
+
+ # Add the axp202 I2C-based battery charger driver
+
+ if(CONFIG_I2C_AXP202)
+ list(APPEND SRCS axp202.c)
+ endif()
+
+endif()
+
+# Add battery gauge drivers
+
+if(CONFIG_BATTERY_GAUGE)
+
+ list(APPEND SRCS battery_gauge.c)
+
+ # Add the MAX1704x I2C-based battery gauge driver
+
+ if(CONFIG_I2C_MAX1704X)
+ list(APPEND SRCS max1704x.c)
+ endif()
+
+ # Add the bq27426 I2C-based battery gauge driver
+
+ if(CONFIG_BQ27426)
+ list(APPEND SRCS bq27426.c)
+ endif()
+
+endif()
+
+# Add battery monitor drivers
+
+if(CONFIG_BATTERY_MONITOR)
+ list(APPEND SRCS battery_monitor.c)
+ # Add I2C-based battery monitor drivers
+
+ # Add the BQ769x0 I2C-based battery monitor driver
+ if(CONFIG_I2C_BQ769X0)
+ list(APPEND SRCS bq769x0.c)
+ endif()
+endif()
+
+target_sources(drivers PRIVATE ${SRCS})
diff --git a/drivers/misc/CMakeLists.txt b/drivers/power/pm/CMakeLists.txt
similarity index 65%
copy from drivers/misc/CMakeLists.txt
copy to drivers/power/pm/CMakeLists.txt
index f4f027b025..94df6762aa 100644
--- a/drivers/misc/CMakeLists.txt
+++ b/drivers/power/pm/CMakeLists.txt
@@ -1,5 +1,5 @@
# ##############################################################################
-# drivers/misc/CMakeLists.txt
+# drivers/power/pm/CMakeLists.txt
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for
@@ -17,35 +17,44 @@
# the License.
#
# ##############################################################################
+
+# Include power management sources
+
set(SRCS)
-if(CONFIG_DEV_SIMPLE_ADDRENV)
- list(APPEND SRCS addrenv.c)
-endif()
+if(CONFIG_PM)
-if(CONFIG_DEV_NULL)
- list(APPEND SRCS dev_null.c)
-endif()
+ list(
+ APPEND
+ SRCS
+ pm_initialize.c
+ pm_activity.c
+ pm_changestate.c
+ pm_checkstate.c
+ pm_register.c
+ pm_unregister.c
+ pm_autoupdate.c
+ pm_governor.c
+ pm_lock.c)
-if(CONFIG_DEV_ZERO)
- list(APPEND SRCS dev_zero.c)
-endif()
+ if(CONFIG_PM_PROCFS)
+ list(APPEND SRCS pm_procfs.c)
+ endif()
-if(CONFIG_LWL_CONSOLE)
- list(APPEND SRCS lwl_console.c)
-endif()
+ # Governor implementations
+
+ if(CONFIG_PM_GOVERNOR_ACTIVITY)
+
+ list(APPEND SRCS activity_governor.c)
+
+ endif()
+
+ if(CONFIG_PM_GOVERNOR_GREEDY)
+
+ list(APPEND SRCS greedy_governor.c)
-if(NOT CONFIG_DISABLE_MOUNTPOINT)
- list(APPEND SRCS ramdisk.c)
- if(CONFIG_DRVR_MKRD)
- list(APPEND SRCS mkrd.c)
endif()
-endif()
-if(CONFIG_DRVR_WRITEBUFFER)
- list(APPEND SRCS rwbuffer.c)
-elseif(CONFIG_DRVR_READAHEAD)
- list(APPEND SRCS rwbuffer.c)
endif()
target_sources(drivers PRIVATE ${SRCS})
diff --git a/drivers/note/CMakeLists.txt b/drivers/power/relay/CMakeLists.txt
similarity index 82%
copy from drivers/note/CMakeLists.txt
copy to drivers/power/relay/CMakeLists.txt
index 5215e75ef5..b21047a387 100644
--- a/drivers/note/CMakeLists.txt
+++ b/drivers/power/relay/CMakeLists.txt
@@ -1,5 +1,5 @@
# ##############################################################################
-# drivers/note/CMakeLists.txt
+# drivers/power/relay/CMakeLists.txt
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for
@@ -17,18 +17,17 @@
# the License.
#
# ##############################################################################
-set(SRCS)
-if(CONFIG_DRIVER_NOTE)
- list(APPEND SRCS note_driver.c)
-endif()
+# Include power management sources
+
+set(SRCS)
-if(CONFIG_DRIVER_NOTERAM)
- list(APPEND SRCS noteram_driver.c)
+if(CONFIG_RELAY)
+ list(APPEND SRCS relay.c)
endif()
-if(CONFIG_DRIVER_NOTECTL)
- list(APPEND SRCS notectl_driver.c)
+if(CONFIG_RELAY_GPIO)
+ list(APPEND SRCS relay_gpio.c)
endif()
target_sources(drivers PRIVATE ${SRCS})
diff --git a/drivers/note/CMakeLists.txt b/drivers/power/supply/CMakeLists.txt
similarity index 67%
copy from drivers/note/CMakeLists.txt
copy to drivers/power/supply/CMakeLists.txt
index 5215e75ef5..2c2b1a76c5 100644
--- a/drivers/note/CMakeLists.txt
+++ b/drivers/power/supply/CMakeLists.txt
@@ -1,5 +1,5 @@
# ##############################################################################
-# drivers/note/CMakeLists.txt
+# drivers/power/supply/CMakeLists.txt
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for
@@ -17,18 +17,36 @@
# the License.
#
# ##############################################################################
+
+# Include power management sources
+
set(SRCS)
-if(CONFIG_DRIVER_NOTE)
- list(APPEND SRCS note_driver.c)
+# Add powerled support
+
+if(CONFIG_DRIVERS_POWERLED)
+ list(APPEND SRCS powerled.c)
endif()
-if(CONFIG_DRIVER_NOTERAM)
- list(APPEND SRCS noteram_driver.c)
+if(CONFIG_DRIVERS_SMPS)
+ list(APPEND SRCS smps.c)
endif()
-if(CONFIG_DRIVER_NOTECTL)
- list(APPEND SRCS notectl_driver.c)
+if(CONFIG_REGULATOR)
+ list(APPEND SRCS regulator.c)
+
+ if(CONFIG_REGULATOR_GPIO)
+ list(APPEND SRCS regulator_gpio.c)
+ endif()
+
+ if(CONFIG_REGULATOR_RPMSG)
+ list(APPEND SRCS regulator_rpmsg.c)
+ endif()
+
+ if(CONFIG_REGULATOR_ACT8945A)
+ list(APPEND SRCS act8945a.c)
+ endif()
+
endif()
target_sources(drivers PRIVATE ${SRCS})
diff --git a/drivers/spi/CMakeLists.txt b/drivers/spi/CMakeLists.txt
index 15e066bbae..e546489420 100644
--- a/drivers/spi/CMakeLists.txt
+++ b/drivers/spi/CMakeLists.txt
@@ -29,11 +29,24 @@ if(CONFIG_SPI)
endif()
endif()
+ if(CONFIG_SPI_SLAVE_DRIVER)
+ list(APPEND SRCS spi_slave_driver.c)
+ endif()
+
# Include the selected SPI drivers
if(CONFIG_SPI_BITBANG)
list(APPEND SRCS spi_bitbang.c)
endif()
+ if(CONFIG_SPI_FLASH)
+ list(APPEND SRCS spi_flash.c)
+ endif()
+
+ if(CONFIG_QSPI_FLASH)
+ list(APPEND SRCS qspi_flash.c)
+ endif()
+
target_sources(drivers PRIVATE ${SRCS})
+ target_include_directories(drivers PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
endif()
diff --git a/fs/mmap/CMakeLists.txt b/fs/mmap/CMakeLists.txt
index 527f828db5..4417703553 100644
--- a/fs/mmap/CMakeLists.txt
+++ b/fs/mmap/CMakeLists.txt
@@ -18,10 +18,14 @@
#
# ##############################################################################
-set(SRCS fs_mmap.c fs_munmap.c)
+set(SRCS fs_mmap.c fs_munmap.c fs_mmisc.c)
if(CONFIG_FS_RAMMAP)
list(APPEND SRCS fs_rammap.c)
endif()
+if(CONFIG_FS_ANONMAP)
+ list(APPEND SRCS fs_anonmap.c)
+endif()
+
target_sources(fs PRIVATE ${SRCS})
diff --git a/fs/vfs/CMakeLists.txt b/fs/vfs/CMakeLists.txt
index 283bee92a8..6e4bb967ed 100644
--- a/fs/vfs/CMakeLists.txt
+++ b/fs/vfs/CMakeLists.txt
@@ -21,12 +21,11 @@
set(SRCS
fs_chstat.c
fs_close.c
- fs_dir.c
- fs_dup2.c
fs_dup.c
+ fs_dup2.c
+ fs_fcntl.c
fs_epoll.c
fs_fchstat.c
- fs_fcntl.c
fs_fstat.c
fs_fstatfs.c
fs_ioctl.c
@@ -44,16 +43,15 @@ set(SRCS
fs_stat.c
fs_statfs.c
fs_unlink.c
- fs_write.c)
+ fs_write.c
+ fs_dir.c
+ fs_fsync.c
+ fs_truncate.c)
# Certain interfaces are not available if there is no mountpoint support
-if(NOT CONFIG_DISABLE_MOUNTPOINT)
- list(APPEND SRCS fs_fsync.c fs_truncate.c)
-endif()
-
if(NOT "${CONFIG_PSEUDOFS_SOFTLINKS}" STREQUAL "0")
- list(APPEND SRCS fs_symlink.c fs_readlink.c)
+ list(APPEND SRCS fs_link.c fs_symlink.c fs_readlink.c)
endif()
# Stream support
@@ -74,4 +72,10 @@ if(CONFIG_TIMER_FD)
list(APPEND SRCS fs_timerfd.c)
endif()
+# Support for signalfd
+
+if(CONFIG_SIGNAL_FD)
+ list(APPEND SRCS fs_signalfd.c)
+endif()
+
target_sources(fs PRIVATE ${SRCS})
diff --git a/libs/libc/pthread/CMakeLists.txt b/libs/libc/pthread/CMakeLists.txt
index 5395178949..c6d8a92331 100644
--- a/libs/libc/pthread/CMakeLists.txt
+++ b/libs/libc/pthread/CMakeLists.txt
@@ -92,7 +92,8 @@ if(NOT CONFIG_DISABLE_PTHREAD)
pthread_rwlock_wrlock.c
pthread_setcancelstate.c
pthread_setcanceltype.c
- pthread_testcancel.c)
+ pthread_testcancel.c
+ pthread_getcpuclockid.c)
if(CONFIG_SMP)
list(APPEND SRCS pthread_attr_getaffinity.c pthread_attr_setaffinity.c)
@@ -102,7 +103,7 @@ if(NOT CONFIG_DISABLE_PTHREAD)
list(APPEND SRCS pthread_spinlock.c)
endif()
- if(CONFIG_PTHREAD_CLEANUP)
+ if(NOT CONFIG_PTHREAD_CLEANUP_STACKSIZE EQUAL 0)
list(APPEND SRCS pthread_cleanup.c)
endif()
endif()
diff --git a/mm/kasan/CMakeLists.txt b/mm/kasan/CMakeLists.txt
index 3ccf404de7..47fe790d78 100644
--- a/mm/kasan/CMakeLists.txt
+++ b/mm/kasan/CMakeLists.txt
@@ -19,5 +19,7 @@
# ##############################################################################
if(CONFIG_MM_KASAN)
target_sources(mm PRIVATE kasan.c)
- target_compile_options(kasan PRIVATE -fno-sanitize=kernel-address)
+ set_source_files_properties(kasan.c PROPERTIES COMPILE_FLAGS
+ -fno-sanitize=kernel-address)
+ set_source_files_properties(kasan.c PROPERTIES COMPILE_FLAGS -fno-lto)
endif()
diff --git a/openamp/CMakeLists.txt b/openamp/CMakeLists.txt
index 808cd85b61..782f807ff7 100644
--- a/openamp/CMakeLists.txt
+++ b/openamp/CMakeLists.txt
@@ -19,7 +19,7 @@
# ##############################################################################
if(CONFIG_OPENAMP)
- set(OPENAMP_VERSION 2022.04.0)
+ set(OPENAMP_VERSION 2022.10.0)
include(libmetal.cmake)
include(open-amp.cmake)
diff --git a/openamp/libmetal.cmake b/openamp/libmetal.cmake
index 6f58439859..60cf7fd009 100644
--- a/openamp/libmetal.cmake
+++ b/openamp/libmetal.cmake
@@ -47,6 +47,8 @@ if("${CONFIG_ARCH}" STREQUAL "sim")
set(LIBMETAL_ARCH x86_64)
elseif("${CONFIG_ARCH}" STREQUAL "risc-v")
set(LIBMETAL_ARCH riscv)
+elseif("${CONFIG_ARCH}" STREQUAL "arm64")
+ set(LIBMETAL_ARCH aarch64)
else()
set(LIBMETAL_ARCH ${CONFIG_ARCH})
endif()
diff --git a/openamp/open-amp.cmake b/openamp/open-amp.cmake
index 8d1bbe5fba..74227e3b52 100644
--- a/openamp/open-amp.cmake
+++ b/openamp/open-amp.cmake
@@ -50,51 +50,79 @@ if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/open-amp/.git)
COMMAND touch ${CMAKE_CURRENT_LIST_DIR}/.openamp_patch
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0001-openamp-add-ns_unbind_notify-support.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0001-ns-acknowledge-the-received-creation-message.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0002-ns-acknowledge-the-received-creation-message.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-Negotiate-individual-buffer-size-dynamically.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0003-Negotiate-individual-buffer-size-dynamically.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0003-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0004-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0004-openamp-add-new-ops-notify_wait-support.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0005-openamp-add-new-ops-notify_wait-support.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0005-rpmsg_virtio-don-t-need-check-status-when-get_tx_pay.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0006-openamp-divide-shram-to-TX-shram-RX-shram-by-config-.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0006-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0007-openamp-don-t-need-check-status-when-get_tx_payload.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0007-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0008-openamp-add-available_idx-to-dump.patch >
+ ${CMAKE_CURRENT_LIST_DIR}/0008-remoteproc-make-all-elf_-functions-static-except-elf.patch >
/dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0009-openamp-firstly-take-all-buffer-from-shram-pool.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0009-Fix-warn-declaration-of-vring_rsc-shadows-a-previous.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0010-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0010-rptun-fix-rptun-don-t-wait-issue-when-get-tx-patyloa.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0011-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0011-rpmsg-fix-rpmsg_virtio_get_tx_buffer-no-idx-return.patch
> /dev/null || (exit 0)
COMMAND
patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
- ${CMAKE_CURRENT_LIST_DIR}/0012-remoteproc-make-all-elf_-functions-static-except-elf.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0012-rpmsg-add-new-API-rpdev_release_tx-rx_buffer.patch
+ > /dev/null || (exit 0)
+ COMMAND
+ patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
+ ${CMAKE_CURRENT_LIST_DIR}/0013-openamp-add-error-log-when-ept-cb-return-error.patch
+ > /dev/null || (exit 0)
+ COMMAND
+ patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
+ ${CMAKE_CURRENT_LIST_DIR}/0014-rpmsg-add-cache-flash-when-hold-rx-buffer.patch
+ > /dev/null || (exit 0)
+ COMMAND
+ patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
+ ${CMAKE_CURRENT_LIST_DIR}/0015-rpmsg-do-cache_invalidate-when-real-data-returned.patch
+ > /dev/null || (exit 0)
+ COMMAND
+ patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
+ ${CMAKE_CURRENT_LIST_DIR}/0016-openamp-add-new-API-rpmsg_virtio_get_rxbuffer_size.patch
+ > /dev/null || (exit 0)
+ COMMAND
+ patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
+ ${CMAKE_CURRENT_LIST_DIR}/0017-virtio-follow-virtio-1.2-spec-add-more-virtio-status.patch
+ > /dev/null || (exit 0)
+ COMMAND
+ patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
+ ${CMAKE_CURRENT_LIST_DIR}/0018-virtio-decoupling-the-transport-layer-and-virtio-dev.patch
+ > /dev/null || (exit 0)
+ COMMAND
+ patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} <
+ ${CMAKE_CURRENT_LIST_DIR}/0019-virtio.h-add-version-in-device-id-table.patch
> /dev/null || (exit 0)
DEPENDS open-amp)
add_custom_target(openamp_patch
@@ -103,6 +131,20 @@ if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/open-amp/.git)
endif()
nuttx_add_kernel_library(openamp)
+
+if (CONFIG_OPENAMP_CACHE)
+ target_compile_options(openamp PRIVATE -DVIRTIO_CACHED_BUFFERS)
+ target_compile_options(openamp PRIVATE -DVIRTIO_CACHED_VRINGS)
+endif()
+
+if (CONFIG_OPENAMP_RPMSG_DEBUG)
+ target_compile_options(openamp PRIVATE -DRPMSG_DEBUG)
+endif()
+
+if (CONFIG_OPENAMP_VQUEUE_DEBUG)
+ target_compile_options(openamp PRIVATE -DVQUEUE_DEBUG)
+endif()
+
target_sources(
openamp
PRIVATE open-amp/lib/remoteproc/elf_loader.c
diff --git a/sched/group/CMakeLists.txt b/sched/group/CMakeLists.txt
index 03b1ac816c..e9958ad24b 100644
--- a/sched/group/CMakeLists.txt
+++ b/sched/group/CMakeLists.txt
@@ -43,10 +43,6 @@ if(CONFIG_SCHED_USER_IDENTITY)
list(APPEND SRCS group_setuid.c group_setgid.c group_getuid.c group_getgid.c)
endif()
-if(CONFIG_ARCH_ADDRENV)
- list(APPEND SRCS group_addrenv.c)
-endif()
-
if(CONFIG_SIG_SIGSTOP_ACTION)
list(APPEND SRCS group_suspendchildren.c group_continue.c)
endif()
@@ -55,7 +51,7 @@ if(CONFIG_BINFMT_LOADABLE)
list(APPEND SRCS group_exitinfo.c)
endif()
-if(NOT CONFIG_BUILD_FLAT)
+if(CONFIG_MM_KERNEL_HEAP)
list(APPEND SRCS group_malloc.c group_realloc.c group_zalloc.c group_free.c)
endif()