From 7e58eb8094248e12be9078fd7a44847ab430b55d Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 17:50:15 +0200 Subject: [PATCH] Add checking incompatibility between board and frameworks // Resolve #112 --- platformio/builder/tools/platformio.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index e83bf8d4..ca464b25 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -6,7 +6,7 @@ import re from os import getenv, listdir, remove, sep, walk from os.path import basename, dirname, isdir, isfile, join, normpath -from SCons.Script import SConscript, SConscriptChdir +from SCons.Script import Exit, SConscript, SConscriptChdir from SCons.Util import case_sensitive_suffixes @@ -94,11 +94,16 @@ def BuildFramework(env): env.ConvertInoToCpp() for f in env['FRAMEWORK'].split(","): - SConscriptChdir(0) - SConscript( - env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks", - "%s.py" % f.strip().lower())) - ) + framework = f.strip().lower() + if framework in env.get("BOARD_OPTIONS", {}).get("frameworks"): + SConscriptChdir(0) + SConscript( + env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks", + "%s.py" % framework)) + ) + else: + Exit("Error: This board doesn't support %s framework!" % + framework) def BuildLibrary(env, variant_dir, library_dir, ignore_files=None):