Skip to content

apps: add missing module metadata for executable tools#3519

Draft
aviralgarg05 wants to merge 1 commit into
apache:masterfrom
aviralgarg05:gsoc/module-support-cleanup-pr2
Draft

apps: add missing module metadata for executable tools#3519
aviralgarg05 wants to merge 1 commit into
apache:masterfrom
aviralgarg05:gsoc/module-support-cleanup-pr2

Conversation

@aviralgarg05
Copy link
Copy Markdown

@aviralgarg05 aviralgarg05 commented Jun 3, 2026

Summary

This patch is one of the smaller upstream slices being extracted from the ongoing GSoC 2026 Dynamic ELF loading and nxpkg work for NuttX.

An earlier draft PR (#3474) carries the initial nxpkg package lifecycle helper. This PR is a follow-up apps/ cleanup from the same broader effort, and it is intended to merge after #3474.

Series order for this PR:

The change itself fills in missing module metadata for a small set of executable tools that are already selectable from apps/, but were still treated as builtin-only in their Kconfig or Makefile paths.

Concretely, it:

  • adds missing MODULE assignments for the affected executables
  • switches a few command/demo Kconfig entries from bool to tristate where module-capable builds need that distinction
  • updates the matching Makefile conditionals from ifeq(...,y) to ifneq(...,) where the build should accept either builtin or module selection

The affected commands are limited to existing executable entry points in:

  • crypto/libtomcrypt
  • crypto/tinycrypt
  • database/sqlite
  • logging/embedlog
  • math/libtommath
  • system/fdt
  • system/libuv
  • videoutils/x264

Impact

This makes the affected tools participate correctly in module-capable builds instead of silently behaving as builtin-only selections.

There is no intended functional change for configurations that continue to build these commands in the normal builtin path.

This patch does not change board logic, runtime loader behavior, or package-management behavior. It is limited to apps/ Kconfig and Makefile metadata.

Keeping this cleanup separate from the larger Dynamic ELF / nxpkg series should make review easier, while still preserving the intended merge order after #3474.

Testing

Host:

  • macOS 26.5
  • Apple Silicon (arm64)
  • xtensa-esp-elf-gcc (crosstool-NG esp-14.2.0_20241119) 14.2.0
  • esptool.py v4.11.0

Focused verification for this PR:

  • xtensa
  • esp32s3-xiao:usbnsh
  • clean detached apache/nuttx master worktree paired with a clean detached apps worktree at this commit

Build steps:

./tools/configure.sh -E -a ../apps-clean esp32s3-xiao:usbnsh
make olddefconfig
make -j8

Build result:

LD: nuttx
CP: nuttx.hex
MKIMAGE: ESP32-S3 binary
Generated: nuttx.bin

Broader series context:

  • while preparing the overall Dynamic ELF / nxpkg series, this cleanup was also present in the integrated branch validated on the Seeed XIAO ESP32S3 Sense
  • that broader board validation covered rebuild, flash, and runtime elf / nxpkg flows for the current series

This PR itself only adjusts apps module metadata, so the focused verification for this slice is the clean build above.

@lupyuen
Copy link
Copy Markdown
Member

lupyuen commented Jun 4, 2026

FYI: I restarted the CI Build to fix the Docker Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants