mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Enable linker "cyclic dependencies" for all platforms
This commit is contained in:
@ -55,8 +55,7 @@ env.Replace(
|
||||
LINKFLAGS=[
|
||||
"-Os",
|
||||
"-mmcu=$BOARD_MCU",
|
||||
"-Wl,--gc-sections",
|
||||
"-Wl,--start-group"
|
||||
"-Wl,--gc-sections"
|
||||
],
|
||||
|
||||
SIZEPRINTCMD='"$SIZETOOL" --mcu=$BOARD_MCU -C -d $SOURCES',
|
||||
|
@ -43,21 +43,29 @@ def ProcessGeneral(env):
|
||||
|
||||
|
||||
def BuildFirmware(env, corelibs):
|
||||
src = env.Clone()
|
||||
vdirs = src.VariantDirRecursive(
|
||||
firmenv = env.Clone()
|
||||
vdirs = firmenv.VariantDirRecursive(
|
||||
join("$BUILD_DIR", "src"), join("$PROJECT_DIR", "src"))
|
||||
|
||||
# build dependent libs
|
||||
deplibs = src.BuildDependentLibraries(join("$PROJECT_DIR", "src"))
|
||||
deplibs = firmenv.BuildDependentLibraries(join("$PROJECT_DIR", "src"))
|
||||
if deplibs:
|
||||
firmenv.Prepend(
|
||||
_LIBFLAGS="-Wl,--start-group "
|
||||
)
|
||||
firmenv.Append(
|
||||
_LIBFLAGS=" -Wl,--end-group "
|
||||
)
|
||||
|
||||
src.MergeFlags(getenv("PIOSRCBUILD_FLAGS", "$SRCBUILD_FLAGS"))
|
||||
firmenv.MergeFlags(getenv("PIOSRCBUILD_FLAGS", "$SRCBUILD_FLAGS"))
|
||||
|
||||
return src.Program(
|
||||
return firmenv.Program(
|
||||
join("$BUILD_DIR", "firmware"),
|
||||
[src.GlobCXXFiles(vdir) for vdir in vdirs],
|
||||
[firmenv.GlobCXXFiles(vdir) for vdir in vdirs],
|
||||
LIBS=deplibs + corelibs,
|
||||
LIBPATH="$BUILD_DIR",
|
||||
PROGSUFFIX=".elf")
|
||||
PROGSUFFIX=".elf"
|
||||
)
|
||||
|
||||
|
||||
def GlobCXXFiles(env, path):
|
||||
|
Reference in New Issue
Block a user