From 55ad753bf14d6dc6c08c73b3980b01ef7e97d7ae Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Sat, 14 Feb 2015 19:23:59 +0200 Subject: [PATCH] Refactor $PLATFORMFW_DIR logic in SCons env --- HISTORY.rst | 2 +- platformio/builder/main.py | 2 -- .../builder/scripts/frameworks/arduino.py | 7 ++++++ .../builder/scripts/frameworks/cmsis.py | 10 +++++--- .../builder/scripts/frameworks/energia.py | 4 +++ .../builder/scripts/frameworks/opencm3.py | 25 +++++++++---------- platformio/builder/scripts/frameworks/spl.py | 10 +++++--- platformio/platforms/atmelavr.py | 1 - platformio/platforms/atmelsam.py | 1 - platformio/platforms/teensy.py | 1 - platformio/platforms/timsp430.py | 1 - platformio/platforms/titiva.py | 2 -- 12 files changed, 36 insertions(+), 30 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 2b1cb2af..75bc13ca 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -6,7 +6,7 @@ Release History * Added support for *ARM*-based credit-card computers: `Raspberry Pi `_, `BeagleBoard `_ and `CubieBoard `_ -* Added new boards to `atmelavr `_ +* Added new boards to `atmelavr `__ platform: *Arduino NG, Arduino BT, Arduino Esplora, Arduino Ethernet, Arduino Robot Control, Arduino Robot Motor and Arduino Yun* * Refactored *Library Dependency Finder* (issues diff --git a/platformio/builder/main.py b/platformio/builder/main.py index 88698c26..0c3c4c2b 100644 --- a/platformio/builder/main.py +++ b/platformio/builder/main.py @@ -28,7 +28,6 @@ commonvars.AddVariables( # package aliases ("PIOPACKAGE_TOOLCHAIN",), ("PIOPACKAGE_UPLOADER",), - ("PIOPACKAGE_FRAMEWORK",), # options ("FRAMEWORK",), @@ -58,7 +57,6 @@ DefaultEnvironment( PIOBUILDER_DIR=join(util.get_source_dir(), "builder"), PIOPACKAGES_DIR=join("$PIOHOME_DIR", "packages"), - PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "$PIOPACKAGE_FRAMEWORK"), BUILD_DIR=join("$PIOENVS_DIR", "$PIOENV"), LIBSOURCE_DIRS=[ diff --git a/platformio/builder/scripts/frameworks/arduino.py b/platformio/builder/scripts/frameworks/arduino.py index 446d6ed0..c89b987f 100644 --- a/platformio/builder/scripts/frameworks/arduino.py +++ b/platformio/builder/scripts/frameworks/arduino.py @@ -12,6 +12,13 @@ from SCons.Script import Import, Return env = None Import("env") + +env.Replace( + PLATFORMFW_DIR=join( + "$PIOPACKAGES_DIR", + "framework-arduino${PLATFORM.replace('atmel', '')}") +) + BOARD_BUILDOPTS = env.get("BOARD_OPTIONS", {}).get("build", {}) diff --git a/platformio/builder/scripts/frameworks/cmsis.py b/platformio/builder/scripts/frameworks/cmsis.py index 4f194034..3dbdb0f4 100644 --- a/platformio/builder/scripts/frameworks/cmsis.py +++ b/platformio/builder/scripts/frameworks/cmsis.py @@ -12,10 +12,13 @@ from SCons.Script import Import, Return env = None Import("env") +env.Replace( + PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-cmsis") +) + env.VariantDir( join("$BUILD_DIR", "FrameworkCMSIS"), - join("$PIOPACKAGES_DIR", "framework-cmsis", - "cores", "${BOARD_OPTIONS['build']['core']}") + join("$PLATFORMFW_DIR", "cores", "${BOARD_OPTIONS['build']['core']}") ) env.Append( @@ -34,8 +37,7 @@ envsafe = env.Clone() libs = [] libs.append(envsafe.BuildLibrary( join("$BUILD_DIR", "FrameworkCMSISVariant"), - join("$PIOPACKAGES_DIR", "framework-cmsis", "variants", - "${BOARD_OPTIONS['build']['variant']}") + join("$PLATFORMFW_DIR", "variants", "${BOARD_OPTIONS['build']['variant']}") )) Return("env libs") diff --git a/platformio/builder/scripts/frameworks/energia.py b/platformio/builder/scripts/frameworks/energia.py index 29a9576e..3d1547fc 100644 --- a/platformio/builder/scripts/frameworks/energia.py +++ b/platformio/builder/scripts/frameworks/energia.py @@ -12,6 +12,10 @@ from SCons.Script import Import, Return env = None Import("env") +env.Replace( + PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-energia${PLATFORM[2:]}") +) + ENERGIA_VERSION = int( open(join(env.subst("$PLATFORMFW_DIR"), "version.txt")).read().replace(".", "").strip()) diff --git a/platformio/builder/scripts/frameworks/opencm3.py b/platformio/builder/scripts/frameworks/opencm3.py index 324d7bee..7b755342 100644 --- a/platformio/builder/scripts/frameworks/opencm3.py +++ b/platformio/builder/scripts/frameworks/opencm3.py @@ -15,6 +15,11 @@ from platformio.util import exec_command env = None Import("env") + +env.Replace( + PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-opencm3") +) + BOARD_BUILDOPTS = env.get("BOARD_OPTIONS", {}).get("build", {}) @@ -37,8 +42,7 @@ def find_ldscript(src_dir): def generate_nvic_files(): - fw_dir = join(env.get("PIOHOME_DIR"), "packages", "framework-opencm3") - + fw_dir = env.subst("$PLATFORMFW_DIR") for root, _, files in walk(join(fw_dir, "include", "libopencm3")): if "irq.json" not in files or isfile(join(root, "nvic.h")): continue @@ -87,8 +91,7 @@ def get_source_files(src_dir): mkdata[key].append(v) sources = [] - lib_root = env.subst( - join(env.get("PIOHOME_DIR"), "packages", "framework-opencm3")) + lib_root = env.subst("$PLATFORMFW_DIR") for obj_file in mkdata['objs']: src_file = obj_file[:-1] + "c" for search_path in mkdata['vpath']: @@ -105,15 +108,11 @@ def merge_ld_scripts(main_ld_file): def _include_callback(match): included_ld_file = match.group(1) # search included ld file in lib directories - for root, _, files in walk(join( - env.get("PIOHOME_DIR"), "packages", - "framework-opencm3", "lib")): - + for root, _, files in walk(env.subst(join("$PLATFORMFW_DIR", "lib"))): if included_ld_file not in files: continue with open(join(root, included_ld_file)) as fp: return fp.read() - return match.group(0) content = "" @@ -135,7 +134,7 @@ if BOARD_BUILDOPTS.get("core") == "lm4f": env.VariantDir( join("$BUILD_DIR", "FrameworkOpenCM3Variant"), - join("$PIOPACKAGES_DIR", "framework-opencm3", "include") + join("$PLATFORMFW_DIR", "include") ) env.Append( @@ -145,8 +144,8 @@ env.Append( ] ) -root_dir = join(env.get("PIOHOME_DIR"), "packages", "framework-opencm3", "lib", - BOARD_BUILDOPTS.get("core")) +root_dir = env.subst( + join("$PLATFORMFW_DIR", "lib", BOARD_BUILDOPTS.get("core"))) if BOARD_BUILDOPTS.get("core") == "stm32": root_dir = join(root_dir, BOARD_BUILDOPTS.get("variant")[-2:]) @@ -161,7 +160,7 @@ env['LINKFLAGS'][env['LINKFLAGS'].index("-T") + 1] = ldscript_path libs = [] env.VariantDir( join("$BUILD_DIR", "FrameworkOpenCM3"), - join(env.get("PIOHOME_DIR"), "packages", "framework-opencm3") + "$PLATFORMFW_DIR" ) libs.append(env.Library( join("$BUILD_DIR", "FrameworkOpenCM3"), diff --git a/platformio/builder/scripts/frameworks/spl.py b/platformio/builder/scripts/frameworks/spl.py index 39cdb4ec..170d004b 100644 --- a/platformio/builder/scripts/frameworks/spl.py +++ b/platformio/builder/scripts/frameworks/spl.py @@ -12,10 +12,13 @@ from SCons.Script import Import, Return env = None Import("env") +env.Replace( + PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-spl") +) + env.VariantDir( join("$BUILD_DIR", "FrameworkSPLInc"), - join("$PIOPACKAGES_DIR", "framework-spl", - "${BOARD_OPTIONS['build']['core']}", + join("$PLATFORMFW_DIR", "${BOARD_OPTIONS['build']['core']}", "variants", "${BOARD_OPTIONS['build']['variant']}", "inc") ) @@ -54,8 +57,7 @@ elif "STM32L1XX_MD" in extra_flags: libs = [] libs.append(envsafe.BuildLibrary( join("$BUILD_DIR", "FrameworkSPL"), - join("$PIOPACKAGES_DIR", "framework-spl", - "${BOARD_OPTIONS['build']['core']}", "variants", + join("$PLATFORMFW_DIR", "${BOARD_OPTIONS['build']['core']}", "variants", "${BOARD_OPTIONS['build']['variant']}", "src"), ignore_files )) diff --git a/platformio/platforms/atmelavr.py b/platformio/platforms/atmelavr.py index 360b3d10..1d0d891c 100644 --- a/platformio/platforms/atmelavr.py +++ b/platformio/platforms/atmelavr.py @@ -23,7 +23,6 @@ class AtmelavrPlatform(BasePlatform): }, "framework-arduinoavr": { - "alias": "framework", "default": True } } diff --git a/platformio/platforms/atmelsam.py b/platformio/platforms/atmelsam.py index 9d0aaa4a..f5913ce9 100644 --- a/platformio/platforms/atmelsam.py +++ b/platformio/platforms/atmelsam.py @@ -23,7 +23,6 @@ class AtmelsamPlatform(BasePlatform): }, "framework-arduinosam": { - "alias": "framework", "default": True }, diff --git a/platformio/platforms/teensy.py b/platformio/platforms/teensy.py index 4a45a2ca..0f9688a3 100644 --- a/platformio/platforms/teensy.py +++ b/platformio/platforms/teensy.py @@ -27,7 +27,6 @@ class TeensyPlatform(BasePlatform): }, "framework-arduinoteensy": { - "alias": "framework", "default": True } } diff --git a/platformio/platforms/timsp430.py b/platformio/platforms/timsp430.py index 51894687..ae17a121 100644 --- a/platformio/platforms/timsp430.py +++ b/platformio/platforms/timsp430.py @@ -23,7 +23,6 @@ class Timsp430Platform(BasePlatform): }, "framework-energiamsp430": { - "alias": "framework", "default": True } } diff --git a/platformio/platforms/titiva.py b/platformio/platforms/titiva.py index cb775acf..657cffa9 100644 --- a/platformio/platforms/titiva.py +++ b/platformio/platforms/titiva.py @@ -28,12 +28,10 @@ class TitivaPlatform(BasePlatform): }, "framework-energiativa": { - "alias": "framework", "default": True }, "framework-opencm3": { - "alias": "framework", "default": True } }