From 90777a65c82e838b211852ef5b375625b147e26d Mon Sep 17 00:00:00 2001 From: whitequark Date: Sat, 11 Dec 2021 11:49:47 +0000 Subject: [PATCH] build.plat,vendor: add missing compatibility shims for NMIGEN_ENV_*. These have been mistakenly omitted from commit 909a3b8b. --- amaranth/build/plat.py | 2 +- amaranth/vendor/intel.py | 5 +++++ amaranth/vendor/lattice_ecp5.py | 4 ++++ amaranth/vendor/lattice_ice40.py | 13 ++++++++++++- amaranth/vendor/lattice_machxo_2_3l.py | 4 ++++ amaranth/vendor/xilinx.py | 2 ++ 6 files changed, 28 insertions(+), 2 deletions(-) diff --git a/amaranth/build/plat.py b/amaranth/build/plat.py index 49d69ac..13cdc4d 100644 --- a/amaranth/build/plat.py +++ b/amaranth/build/plat.py @@ -92,7 +92,7 @@ class Platform(ResourceManager, metaclass=ABCMeta): # may fail. # This is OK because even if `require_tool` succeeds, the toolchain might be broken anyway. # The check only serves to catch common errors earlier. - if do_build and (self._deprecated_toolchain_env_var not in os.environ or + if do_build and (self._deprecated_toolchain_env_var not in os.environ and self._toolchain_env_var not in os.environ): for tool in self.required_tools: require_tool(tool) diff --git a/amaranth/vendor/intel.py b/amaranth/vendor/intel.py index 23ee18d..ef4202b 100644 --- a/amaranth/vendor/intel.py +++ b/amaranth/vendor/intel.py @@ -86,6 +86,11 @@ class IntelPlatform(TemplatedPlatform): **TemplatedPlatform.build_script_templates, "build_{{name}}.sh": r""" # {{autogenerated}} + if [ -n "${{platform._deprecated_toolchain_env_var}}" ]; then + QUARTUS_ROOTDIR=$(dirname $(dirname "${{platform._deprecated_toolchain_env_var}}")) + # Quartus' qenv.sh does not work with `set -e`. + . "${{platform._deprecated_toolchain_env_var}}" + fi if [ -n "${{platform._toolchain_env_var}}" ]; then QUARTUS_ROOTDIR=$(dirname $(dirname "${{platform._toolchain_env_var}}")) # Quartus' qenv.sh does not work with `set -e`. diff --git a/amaranth/vendor/lattice_ecp5.py b/amaranth/vendor/lattice_ecp5.py index ec5cc73..571ffdb 100644 --- a/amaranth/vendor/lattice_ecp5.py +++ b/amaranth/vendor/lattice_ecp5.py @@ -191,6 +191,10 @@ class LatticeECP5Platform(TemplatedPlatform): # {{autogenerated}} set -e{{verbose("x")}} if [ -z "$BASH" ] ; then exec /bin/bash "$0" "$@"; fi + if [ -n "${{platform._deprecated_toolchain_env_var}}" ]; then + bindir=$(dirname "${{platform._deprecated_toolchain_env_var}}") + . "${{platform._deprecated_toolchain_env_var}}" + fi if [ -n "${{platform._toolchain_env_var}}" ]; then bindir=$(dirname "${{platform._toolchain_env_var}}") . "${{platform._toolchain_env_var}}" diff --git a/amaranth/vendor/lattice_ice40.py b/amaranth/vendor/lattice_ice40.py index 59d97d5..597f68c 100644 --- a/amaranth/vendor/lattice_ice40.py +++ b/amaranth/vendor/lattice_ice40.py @@ -182,7 +182,18 @@ class LatticeICE40Platform(TemplatedPlatform): "build_{{name}}.sh": r""" # {{autogenerated}} set -e{{verbose("x")}} - if [ -n "${{platform._toolchain_env_var}}" ]; then + if [ -n "${{platform._deprecated_toolchain_env_var}}" ]; then + # LSE environment + export LD_LIBRARY_PATH=${{platform._deprecated_toolchain_env_var}}/LSE/bin/lin64:$LD_LIBRARY_PATH + export PATH=${{platform._deprecated_toolchain_env_var}}/LSE/bin/lin64:$PATH + export FOUNDRY=${{platform._deprecated_toolchain_env_var}}/LSE + # Synplify environment + export LD_LIBRARY_PATH=${{platform._deprecated_toolchain_env_var}}/sbt_backend/bin/linux/opt/synpwrap:$LD_LIBRARY_PATH + export PATH=${{platform._deprecated_toolchain_env_var}}/sbt_backend/bin/linux/opt/synpwrap:$PATH + export SYNPLIFY_PATH=${{platform._deprecated_toolchain_env_var}}/synpbase + # Common environment + export SBT_DIR=${{platform._deprecated_toolchain_env_var}}/sbt_backend + elif [ -n "${{platform._toolchain_env_var}}" ]; then # LSE environment export LD_LIBRARY_PATH=${{platform._toolchain_env_var}}/LSE/bin/lin64:$LD_LIBRARY_PATH export PATH=${{platform._toolchain_env_var}}/LSE/bin/lin64:$PATH diff --git a/amaranth/vendor/lattice_machxo_2_3l.py b/amaranth/vendor/lattice_machxo_2_3l.py index 6262c3e..f24f4f9 100644 --- a/amaranth/vendor/lattice_machxo_2_3l.py +++ b/amaranth/vendor/lattice_machxo_2_3l.py @@ -55,6 +55,10 @@ class LatticeMachXO2Or3LPlatform(TemplatedPlatform): # {{autogenerated}} set -e{{verbose("x")}} if [ -z "$BASH" ] ; then exec /bin/bash "$0" "$@"; fi + if [ -n "${{platform._deprecated_toolchain_env_var}}" ]; then + bindir=$(dirname "${{platform._deprecated_toolchain_env_var}}") + . "${{platform._deprecated_toolchain_env_var}}" + fi if [ -n "${{platform._toolchain_env_var}}" ]; then bindir=$(dirname "${{platform._toolchain_env_var}}") . "${{platform._toolchain_env_var}}" diff --git a/amaranth/vendor/xilinx.py b/amaranth/vendor/xilinx.py index 57bbb60..b7c764c 100644 --- a/amaranth/vendor/xilinx.py +++ b/amaranth/vendor/xilinx.py @@ -129,6 +129,7 @@ class XilinxPlatform(TemplatedPlatform): # {{autogenerated}} set -e{{verbose("x")}} if [ -z "$BASH" ] ; then exec /bin/bash "$0" "$@"; fi + [ -n "${{platform._deprecated_toolchain_env_var}}" ] && . "${{platform._deprecated_toolchain_env_var}}" [ -n "${{platform._toolchain_env_var}}" ] && . "${{platform._toolchain_env_var}}" {{emit_commands("sh")}} """, @@ -235,6 +236,7 @@ class XilinxPlatform(TemplatedPlatform): # {{autogenerated}} set -e{{verbose("x")}} if [ -z "$BASH" ] ; then exec /bin/bash "$0" "$@"; fi + [ -n "${{platform._deprecated_toolchain_env_var}}" ] && . "${{platform._deprecated_toolchain_env_var}}" [ -n "${{platform._toolchain_env_var}}" ] && . "${{platform._toolchain_env_var}}" {{emit_commands("sh")}} """,