Hi, Can someone explain me how to setup cyclic references between lib archives? We can tell gcc-linker which libs should be "cyclic" via --start-group archives --end-group.
I use gcc for linking and these options should pass to "linker", not to "compiler". In this case it looks like: -Wl,--start-group archives -Wl,--end-group ==== SCons ====== For example, "LINKFLAGS" for Atmel AVR platform looks like: https://github.com/ivankravets/platformio/blob/develop/platformio/builder/scripts/atmelavr.py#L58 The "console" output looks like: avr-g++ -o .pioenvs/autogen_uno/firmware.elf -Os -mmcu=atmega2560 -Wl,--gc-sections -Wl,--start-group .pioenvs/autogen_uno/src/Piccolo.o -L.pioenvs/autogen_uno .pioenvs/autogen_uno/libAdafruit_LED_Backpack_ID128.a .pioenvs/autogen_uno/libAdafruit_GFX_ID13.a .pioenvs/autogen_uno/libWire.a .pioenvs/autogen_uno/libffft.a .pioenvs/autogen_uno/libFrameworkArduino.a -lm Source code for "Build Program" is here: https://github.com/ivankravets/platformio/blob/develop/platformio/builder/tools/platformio.py#L45 src.Program( join("$BUILD_DIR", "firmware"), [src.GlobCXXFiles(vdir) for vdir in vdirs], LIBS=deplibs + corelibs, LIBPATH="$BUILD_DIR", PROGSUFFIX=".elf") .... The question: which is correct way to pass "-Wl,--end-group" after ".pioenvs/autogen_uno/libffft.a" ? P.S: I'm not sure that pass "-Wl,--end-group" to "LIBS" is good idea. Thanks a lot! With best regards, Ivan Kravets - "Creativity comes from talent and never from knowledge" (c) ________________________ http://www.ikravets.com _______________________________________________ Scons-dev mailing list [email protected] https://pairlist2.pair.net/mailman/listinfo/scons-dev
