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]

Reply via email to