Allow own libs per framework's core // Resolve #133

This commit is contained in:
Valeriy Koval
2015-03-23 19:40:13 +02:00
parent 06812b7a02
commit 4d91c336be
2 changed files with 19 additions and 2 deletions

View File

@ -71,7 +71,7 @@ DefaultEnvironment(
LIBSOURCE_DIRS=[ LIBSOURCE_DIRS=[
join("$PROJECT_DIR", "lib"), join("$PROJECT_DIR", "lib"),
util.get_lib_dir(), util.get_lib_dir(),
join("$PLATFORMFW_DIR", "libraries"), join("$PLATFORMFW_DIR", "libraries")
] ]
) )

View File

@ -12,7 +12,7 @@ http://arduino.cc/en/Reference/HomePage
""" """
from os import listdir, walk from os import listdir, walk
from os.path import isfile, join from os.path import isdir, isfile, join
from SCons.Script import DefaultEnvironment from SCons.Script import DefaultEnvironment
@ -20,6 +20,7 @@ env = DefaultEnvironment()
BOARD_OPTS = env.get("BOARD_OPTIONS", {}) BOARD_OPTS = env.get("BOARD_OPTIONS", {})
BOARD_BUILDOPTS = BOARD_OPTS.get("build", {}) BOARD_BUILDOPTS = BOARD_OPTS.get("build", {})
BOARD_CORELIBDIRNAME = BOARD_BUILDOPTS.get("core")
# #
# Determine framework directory # Determine framework directory
@ -30,6 +31,7 @@ PLATFORMFW_DIR = join("$PIOPACKAGES_DIR",
"framework-arduino${PLATFORM.replace('atmel', '')}") "framework-arduino${PLATFORM.replace('atmel', '')}")
if "digispark" in BOARD_BUILDOPTS.get("core"): if "digispark" in BOARD_BUILDOPTS.get("core"):
BOARD_CORELIBDIRNAME = "digispark"
PLATFORMFW_DIR = join( PLATFORMFW_DIR = join(
"$PIOPACKAGES_DIR", "$PIOPACKAGES_DIR",
"framework-arduino%s" % ( "framework-arduino%s" % (
@ -43,6 +45,21 @@ elif env.get("PLATFORM") == "timsp430":
env.Replace(PLATFORMFW_DIR=PLATFORMFW_DIR) env.Replace(PLATFORMFW_DIR=PLATFORMFW_DIR)
#
# Lookup for specific core's libraries
#
if isdir(join(env.subst("$PLATFORMFW_DIR"), "libraries", "__cores__",
BOARD_CORELIBDIRNAME)):
lib_dirs = env.get("LIBSOURCE_DIRS")
lib_dirs.insert(
lib_dirs.index(join("$PLATFORMFW_DIR", "libraries")),
join(PLATFORMFW_DIR, "libraries", "__cores__", BOARD_CORELIBDIRNAME)
)
env.Replace(
LIBSOURCE_DIRS=lib_dirs
)
# #
# Base # Base
# #