mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-31 02:27:13 +02:00
Merge branch 'release/v2.4.1'
This commit is contained in:
@ -4,6 +4,11 @@ Release History
|
|||||||
PlatformIO 2.0
|
PlatformIO 2.0
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
2.4.1 (2015-12-01)
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* Restored ``PLATFORMIO`` macros with the current version
|
||||||
|
|
||||||
2.4.0 (2015-12-01)
|
2.4.0 (2015-12-01)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
VERSION = (2, 4, 0)
|
VERSION = (2, 4, 1)
|
||||||
__version__ = ".".join([str(s) for s in VERSION])
|
__version__ = ".".join([str(s) for s in VERSION])
|
||||||
|
|
||||||
__title__ = "platformio"
|
__title__ = "platformio"
|
||||||
|
@ -114,12 +114,6 @@ DefaultEnvironment(
|
|||||||
|
|
||||||
env = DefaultEnvironment()
|
env = DefaultEnvironment()
|
||||||
|
|
||||||
# Append PlatformIO version
|
|
||||||
env.Append(
|
|
||||||
CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format(
|
|
||||||
*util.pioversion_to_intstr())]
|
|
||||||
)
|
|
||||||
|
|
||||||
if "BOARD" in env:
|
if "BOARD" in env:
|
||||||
try:
|
try:
|
||||||
env.Replace(BOARD_OPTIONS=util.get_boards(env.subst("$BOARD")))
|
env.Replace(BOARD_OPTIONS=util.get_boards(env.subst("$BOARD")))
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
# Copyright 2014-2015 Ivan Kravets <me@ikravets.com>
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""
|
|
||||||
PlatformIO
|
|
||||||
|
|
||||||
PlatformIO Framework is an open source light-weight framework with
|
|
||||||
high-level API for cross-platform embedded programming. It lies above popular
|
|
||||||
middleware (HAL, SDK) and leverages all its benefits. This approach allowed to
|
|
||||||
incorporate different development platforms ranging from 8-bits AVR to powerful
|
|
||||||
32-bit ARM into the one embedded ecosystem.
|
|
||||||
|
|
||||||
http://platformio.org
|
|
||||||
"""
|
|
||||||
|
|
||||||
from os.path import join
|
|
||||||
|
|
||||||
from SCons.Script import DefaultEnvironment
|
|
||||||
|
|
||||||
env = DefaultEnvironment()
|
|
||||||
|
|
||||||
env.Replace(
|
|
||||||
PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-platformio")
|
|
||||||
)
|
|
||||||
|
|
||||||
env.VariantDirWrap(
|
|
||||||
join("$BUILD_DIR", "FrameworkPlatformIO"),
|
|
||||||
join("$PLATFORMFW_DIR", "src", "api")
|
|
||||||
)
|
|
||||||
|
|
||||||
env.Append(
|
|
||||||
CPPPATH=[
|
|
||||||
join("$BUILD_DIR", "FrameworkCMSIS"),
|
|
||||||
join("$BUILD_DIR", "FrameworkCMSISVariant")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
envsafe = env.Clone()
|
|
||||||
|
|
||||||
#
|
|
||||||
# Target: Build Core Library
|
|
||||||
#
|
|
||||||
|
|
||||||
libs = []
|
|
||||||
libs.append(envsafe.BuildLibrary(
|
|
||||||
join("$BUILD_DIR", "FrameworkCMSISVariant"),
|
|
||||||
join("$PLATFORMFW_DIR", "variants", "${BOARD_OPTIONS['build']['variant']}")
|
|
||||||
))
|
|
||||||
|
|
||||||
env.Append(LIBS=libs)
|
|
@ -23,6 +23,8 @@ from SCons.Script import (COMMAND_LINE_TARGETS, DefaultEnvironment, Exit,
|
|||||||
SConscript)
|
SConscript)
|
||||||
from SCons.Util import case_sensitive_suffixes
|
from SCons.Util import case_sensitive_suffixes
|
||||||
|
|
||||||
|
from platformio.util import pioversion_to_intstr
|
||||||
|
|
||||||
SRC_BUILD_EXT = ["c", "cpp", "S", "spp", "SPP", "sx", "s", "asm", "ASM"]
|
SRC_BUILD_EXT = ["c", "cpp", "S", "spp", "SPP", "sx", "s", "asm", "ASM"]
|
||||||
SRC_HEADER_EXT = ["h", "hpp"]
|
SRC_HEADER_EXT = ["h", "hpp"]
|
||||||
SRC_DEFAULT_FILTER = " ".join([
|
SRC_DEFAULT_FILTER = " ".join([
|
||||||
@ -44,9 +46,7 @@ def BuildProgram(env):
|
|||||||
env.get("BUILD_FLAGS"),
|
env.get("BUILD_FLAGS"),
|
||||||
getenv("PLATFORMIO_BUILD_FLAGS"),
|
getenv("PLATFORMIO_BUILD_FLAGS"),
|
||||||
])
|
])
|
||||||
|
env.BuildFramework()
|
||||||
env.BuildFrameworks([
|
|
||||||
f.lower().strip() for f in env.get("FRAMEWORK", "").split(",")])
|
|
||||||
|
|
||||||
# build dependent libs
|
# build dependent libs
|
||||||
deplibs = env.BuildDependentLibraries("$PROJECTSRC_DIR")
|
deplibs = env.BuildDependentLibraries("$PROJECTSRC_DIR")
|
||||||
@ -73,6 +73,11 @@ def BuildProgram(env):
|
|||||||
getenv("PLATFORMIO_SRC_BUILD_FLAGS"),
|
getenv("PLATFORMIO_SRC_BUILD_FLAGS"),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
env.Append(
|
||||||
|
CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format(
|
||||||
|
*pioversion_to_intstr())]
|
||||||
|
)
|
||||||
|
|
||||||
return env.Program(
|
return env.Program(
|
||||||
join("$BUILD_DIR", env.subst("$PROGNAME")),
|
join("$BUILD_DIR", env.subst("$PROGNAME")),
|
||||||
env.LookupSources(
|
env.LookupSources(
|
||||||
@ -166,24 +171,23 @@ def LookupSources(env, variant_dir, src_dir, duplicate=True, src_filter=None):
|
|||||||
return sources
|
return sources
|
||||||
|
|
||||||
|
|
||||||
def BuildFrameworks(env, frameworks):
|
def BuildFramework(env):
|
||||||
if not frameworks or "uploadlazy" in COMMAND_LINE_TARGETS:
|
if "FRAMEWORK" not in env or "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||||
return
|
return
|
||||||
|
|
||||||
board_frameworks = env.get("BOARD_OPTIONS", {}).get("frameworks")
|
if env['FRAMEWORK'].lower() in ("arduino", "energia"):
|
||||||
if frameworks == ["platformio"]:
|
|
||||||
if board_frameworks:
|
|
||||||
frameworks.insert(0, board_frameworks[0])
|
|
||||||
|
|
||||||
for f in frameworks:
|
|
||||||
if f in ("arduino", "energia"):
|
|
||||||
env.ConvertInoToCpp()
|
env.ConvertInoToCpp()
|
||||||
|
|
||||||
if f in board_frameworks:
|
for f in env['FRAMEWORK'].split(","):
|
||||||
SConscript(env.subst(
|
framework = f.strip().lower()
|
||||||
join("$PIOBUILDER_DIR", "scripts", "frameworks", "%s.py" % f)))
|
if framework in env.get("BOARD_OPTIONS", {}).get("frameworks"):
|
||||||
|
SConscript(
|
||||||
|
env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks",
|
||||||
|
"%s.py" % framework))
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
Exit("Error: This board doesn't support %s framework!" % f)
|
Exit("Error: This board doesn't support %s framework!" %
|
||||||
|
framework)
|
||||||
|
|
||||||
|
|
||||||
def BuildLibrary(env, variant_dir, src_dir, src_filter=None):
|
def BuildLibrary(env, variant_dir, src_dir, src_filter=None):
|
||||||
@ -347,7 +351,7 @@ def generate(env):
|
|||||||
env.AddMethod(IsFileWithExt)
|
env.AddMethod(IsFileWithExt)
|
||||||
env.AddMethod(VariantDirWrap)
|
env.AddMethod(VariantDirWrap)
|
||||||
env.AddMethod(LookupSources)
|
env.AddMethod(LookupSources)
|
||||||
env.AddMethod(BuildFrameworks)
|
env.AddMethod(BuildFramework)
|
||||||
env.AddMethod(BuildLibrary)
|
env.AddMethod(BuildLibrary)
|
||||||
env.AddMethod(BuildDependentLibraries)
|
env.AddMethod(BuildDependentLibraries)
|
||||||
return env
|
return env
|
||||||
|
Reference in New Issue
Block a user