build.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # build.py
  2. # pre-build script, setting up build environment and fetch hal file for user's board
  3. import sys
  4. import os
  5. import os.path
  6. import requests
  7. from os.path import basename
  8. from platformio import util
  9. from SCons.Script import DefaultEnvironment
  10. try:
  11. import configparser
  12. except ImportError:
  13. import ConfigParser as configparser
  14. # get platformio environment variables
  15. env = DefaultEnvironment()
  16. config = configparser.ConfigParser()
  17. config.read("platformio.ini")
  18. # get platformio source path
  19. srcdir = env.get("PROJECT_SRC_DIR")
  20. project_dir = env.subst("$PROJECT_DIR")
  21. board = env.BoardConfig()
  22. env.Append(
  23. LIBPATH=[
  24. os.path.join(variants_dir, board.get("build.variant"))
  25. ]
  26. )
  27. libs = []
  28. if "build.variant" in env.BoardConfig():
  29. env.Append(
  30. CPPPATH=[os.path.join(variants_dir, board.get("build.variant"))]
  31. )
  32. libs.append(env.BuildLibrary(
  33. os.path.join("$BUILD_DIR", "FrameworkArduinoVariant"),
  34. os.path.join(variants_dir, board.get("build.variant"))
  35. ))
  36. env.Prepend(LIBS=libs)
  37. # get bintray upload parameters from platformio environment
  38. version = config.get("common", "release_version")