acassis opened a new pull request, #19569: URL: https://github.com/apache/nuttx/pull/19569
## Summary During the Toybox port to NuttX, Claude noticed that changes in the menuconfig weren't taking affect. This issue exists for a long time on NuttX, in fact BayLibre's presentation from 2017 makes jokes about our building system not been reliable: https://www.youtube.com/watch?v=XUJK2htXxKw&t=320s Stale archive members from $(AR)'s additive-only behavior can linger after Kconfig toggles change which files provide a symbol, causing dead weight or "multiple definition" link errors on incremental builds. Fixed by splitting ARCHIVE into two macros: ARCHIVE keeps the original additive behavior for apps/libapps.a, which many independent subdirectories contribute to across a build, while the new ARCHIVE_REBUILD deletes then archives for the far more common case of a single Makefile building its own self-contained $(OBJS) - all 39 such call sites now use it. ## Impact Improvement ## Testing ``` LD: nuttx Pac SIM with dynamic libs.. '/lib/x86_64-linux-gnu/libz.so.1' -> 'sim-pac/libs/libz.so.1' '/lib/x86_64-linux-gnu/libc.so.6' -> 'sim-pac/libs/libc.so.6' '/lib64/ld-linux-x86-64.so.2' -> 'sim-pac/ld-linux-x86-64.so.2' SIM elf with dynamic libs archive in nuttx.tgz $ ./nuttx NuttShell (NSH) NuttX-13.0.0 nsh> ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
