mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Merge branch 'release/v2.4.1'
This commit is contained in:
@ -4,6 +4,11 @@ Release History
|
||||
PlatformIO 2.0
|
||||
--------------
|
||||
|
||||
2.4.1 (2015-12-01)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Restored ``PLATFORMIO`` macros with the current version
|
||||
|
||||
2.4.0 (2015-12-01)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
VERSION = (2, 4, 0)
|
||||
VERSION = (2, 4, 1)
|
||||
__version__ = ".".join([str(s) for s in VERSION])
|
||||
|
||||
__title__ = "platformio"
|
||||
|
@ -114,12 +114,6 @@ 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:
|
||||
try:
|
||||
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)
|
||||
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_HEADER_EXT = ["h", "hpp"]
|
||||
SRC_DEFAULT_FILTER = " ".join([
|
||||
@ -44,9 +46,7 @@ def BuildProgram(env):
|
||||
env.get("BUILD_FLAGS"),
|
||||
getenv("PLATFORMIO_BUILD_FLAGS"),
|
||||
])
|
||||
|
||||
env.BuildFrameworks([
|
||||
f.lower().strip() for f in env.get("FRAMEWORK", "").split(",")])
|
||||
env.BuildFramework()
|
||||
|
||||
# build dependent libs
|
||||
deplibs = env.BuildDependentLibraries("$PROJECTSRC_DIR")
|
||||
@ -73,6 +73,11 @@ def BuildProgram(env):
|
||||
getenv("PLATFORMIO_SRC_BUILD_FLAGS"),
|
||||
])
|
||||
|
||||
env.Append(
|
||||
CPPDEFINES=["PLATFORMIO={0:02d}{1:02d}{2:02d}".format(
|
||||
*pioversion_to_intstr())]
|
||||
)
|
||||
|
||||
return env.Program(
|
||||
join("$BUILD_DIR", env.subst("$PROGNAME")),
|
||||
env.LookupSources(
|
||||
@ -166,24 +171,23 @@ def LookupSources(env, variant_dir, src_dir, duplicate=True, src_filter=None):
|
||||
return sources
|
||||
|
||||
|
||||
def BuildFrameworks(env, frameworks):
|
||||
if not frameworks or "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||
def BuildFramework(env):
|
||||
if "FRAMEWORK" not in env or "uploadlazy" in COMMAND_LINE_TARGETS:
|
||||
return
|
||||
|
||||
board_frameworks = env.get("BOARD_OPTIONS", {}).get("frameworks")
|
||||
if frameworks == ["platformio"]:
|
||||
if board_frameworks:
|
||||
frameworks.insert(0, board_frameworks[0])
|
||||
if env['FRAMEWORK'].lower() in ("arduino", "energia"):
|
||||
env.ConvertInoToCpp()
|
||||
|
||||
for f in frameworks:
|
||||
if f in ("arduino", "energia"):
|
||||
env.ConvertInoToCpp()
|
||||
|
||||
if f in board_frameworks:
|
||||
SConscript(env.subst(
|
||||
join("$PIOBUILDER_DIR", "scripts", "frameworks", "%s.py" % f)))
|
||||
for f in env['FRAMEWORK'].split(","):
|
||||
framework = f.strip().lower()
|
||||
if framework in env.get("BOARD_OPTIONS", {}).get("frameworks"):
|
||||
SConscript(
|
||||
env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks",
|
||||
"%s.py" % framework))
|
||||
)
|
||||
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):
|
||||
@ -347,7 +351,7 @@ def generate(env):
|
||||
env.AddMethod(IsFileWithExt)
|
||||
env.AddMethod(VariantDirWrap)
|
||||
env.AddMethod(LookupSources)
|
||||
env.AddMethod(BuildFrameworks)
|
||||
env.AddMethod(BuildFramework)
|
||||
env.AddMethod(BuildLibrary)
|
||||
env.AddMethod(BuildDependentLibraries)
|
||||
return env
|
||||
|
Reference in New Issue
Block a user