forked from platformio/platformio-core
Merge branch 'develop' of https://github.com/ivankravets/platformio into develop
This commit is contained in:
commit
a9b98afa42
14 files changed
+188
-59
No files matched your search
@@ -9,7 +9,7 @@ from os.path import join
|
||||
from time import sleep
|
||||
|
||||
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
|
||||
DefaultEnvironment, Exit)
|
||||
DefaultEnvironment)
|
||||
|
||||
from platformio.util import get_serialports
|
||||
|
||||
@@ -52,8 +52,9 @@ env.Replace(
|
||||
|
||||
LINKFLAGS=[
|
||||
"-Os",
|
||||
"-mmcu=$BOARD_MCU",
|
||||
"-Wl,--gc-sections",
|
||||
"-mmcu=$BOARD_MCU"
|
||||
"-Wl,--start-group"
|
||||
],
|
||||
|
||||
UPLOADER=join("$PIOPACKAGES_DIR", "tool-avrdude", "avrdude"),
|
||||
@@ -189,8 +190,8 @@ if is_uptarget:
|
||||
break
|
||||
|
||||
if "UPLOAD_PORT" not in env:
|
||||
Exit("Please specify environment 'upload_port' or use global "
|
||||
"--upload-port option.")
|
||||
print("WARNING!!! Please specify environment 'upload_port' or use "
|
||||
"global --upload-port option.\n")
|
||||
|
||||
#
|
||||
# Setup default targets
|
||||
|
||||
@@ -56,14 +56,16 @@ def GlobCXXFiles(env, path):
|
||||
return files
|
||||
|
||||
|
||||
def VariantDirRecursive(env, variant_dir, src_dir, duplicate=True):
|
||||
ignore_pattern = (".git", ".svn", "examples")
|
||||
def VariantDirRecursive(env, variant_dir, src_dir, duplicate=True,
|
||||
ignore_pattern=None):
|
||||
if not ignore_pattern:
|
||||
ignore_pattern = (".git", ".svn")
|
||||
variants = []
|
||||
src_dir = env.subst(src_dir)
|
||||
for root, _, _ in walk(src_dir):
|
||||
_src_dir = root
|
||||
_var_dir = variant_dir + root.replace(src_dir, "")
|
||||
if any([s in _src_dir.lower() for s in ignore_pattern]):
|
||||
if any([s in _var_dir.lower() for s in ignore_pattern]):
|
||||
continue
|
||||
env.VariantDir(_var_dir, _src_dir, duplicate)
|
||||
variants.append(_var_dir)
|
||||
@@ -72,7 +74,8 @@ def VariantDirRecursive(env, variant_dir, src_dir, duplicate=True):
|
||||
|
||||
def BuildLibrary(env, variant_dir, library_dir):
|
||||
lib = env.Clone()
|
||||
vdirs = lib.VariantDirRecursive(variant_dir, library_dir)
|
||||
vdirs = lib.VariantDirRecursive(
|
||||
variant_dir, library_dir, ignore_pattern=(".git", ".svn", "examples"))
|
||||
return lib.Library(
|
||||
lib.subst(variant_dir),
|
||||
[lib.GlobCXXFiles(vdir) for vdir in vdirs]
|
||||
@@ -208,7 +211,7 @@ def BuildDependentLibraries(env, src_dir): # pylint: disable=R0914
|
||||
if isdir(join(ld, "utility"))])
|
||||
|
||||
libs = []
|
||||
for (libname, inc_dir) in deplibs:
|
||||
for (libname, inc_dir) in reversed(deplibs):
|
||||
lib = env.BuildLibrary(
|
||||
join("$BUILD_DIR", libname), inc_dir)
|
||||
env.Clean(libname, lib)
|
||||
|
||||
Reference in new issue
Block a user