Skip to content

Commit

Permalink
scripts/xtensa-build-zephyr.py: Allow for alternate toolchain versions
Browse files Browse the repository at this point in the history
Currently the build scripts force a single "blessed" Cadence toolchain
for each platform, which prohibits the use of
upgraded/fixed/standardized tooling by downstreams.  Let
XTENSA_TOOLS_VERSION be set in the environment and use the
PlatformConfig value as a fallback if unspecified.

Signed-off-by: Andy Ross <[email protected]>
  • Loading branch information
andyross committed Dec 18, 2024
1 parent 3e60e08 commit 06e5011
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions scripts/xtensa-build-zephyr.py
Original file line number Diff line number Diff line change
Expand Up @@ -787,10 +787,14 @@ def build_platforms():
_dict = dataclasses.asdict(platform_configs[platform])
platform_dict = { k:v for (k,v) in _dict.items() if _dict[k] is not None }

xtensa_tools_version = os.getenv("XTENSA_TOOLS_VERSION")
if not xtensa_tools_version:
xtesna_tools_version = platform_dict["XTENSA_TOOLS_VERSION"]
xtensa_tools_root_dir = os.getenv("XTENSA_TOOLS_ROOT")

# when XTENSA_TOOLS_ROOT environmental variable is set,
# use user installed Xtensa tools not Zephyr SDK
if "XTENSA_TOOLS_VERSION" in platform_dict and xtensa_tools_root_dir:
if xtensa_tools_version and xtensa_tools_root_dir:
xtensa_tools_root_dir = pathlib.Path(xtensa_tools_root_dir)
if not xtensa_tools_root_dir.is_dir():
raise RuntimeError(f"Platform {platform} uses Xtensa toolchain."
Expand All @@ -811,7 +815,7 @@ def build_platforms():
xtensa_tools_root_dir / "install" / "tools"
)
# Toolchain sub-directory
TOOLCHAIN_VER = platform_dict["XTENSA_TOOLS_VERSION"]
TOOLCHAIN_VER = xtensa_tools_version
platf_build_environ["TOOLCHAIN_VER"] = TOOLCHAIN_VER

# This XTENSA_SYSTEM variable was copied as is from XTOS
Expand Down

0 comments on commit 06e5011

Please sign in to comment.