Skip to content

Commit

Permalink
Glob blacklist the interactive chip-tool build when cross-compiling (#…
Browse files Browse the repository at this point in the history
…17084)

* Glob blacklist interactive builds of chip-tool in cross compile

* Fix unit tests

* blacklist only arm64 builds not all builds

* Only blacklist chip tool

* Update tests

* Whitelist chip tool nointeractive builds

* Fix unit tests
  • Loading branch information
andy31415 authored and pull[bot] committed Jul 18, 2023
1 parent d579ed0 commit 1441680
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 15 deletions.
12 changes: 9 additions & 3 deletions scripts/build/build/targets.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,8 +222,8 @@ def HostTargets():
targets = [target_native]

# x64 linux supports cross compile
if (HostBoard.NATIVE.PlatformName() == 'linux') and (
HostBoard.NATIVE.BoardName() != HostBoard.ARM64.BoardName()):
cross_compile = (HostBoard.NATIVE.PlatformName() == 'linux') and (HostBoard.NATIVE.BoardName() != HostBoard.ARM64.BoardName())
if cross_compile:
targets.append(target.Extend('arm64', board=HostBoard.ARM64))

app_targets = []
Expand Down Expand Up @@ -266,6 +266,7 @@ def HostTargets():
"clang"], use_libfuzzer=True),
builder.AppendVariant(name="clang", use_clang=True),

builder.WhitelistVariantNameForGlob('no-interactive')
builder.WhitelistVariantNameForGlob('ipv6only')

for target in app_targets:
Expand All @@ -276,7 +277,12 @@ def HostTargets():
builder.targets.append(target)

for target in builder.AllVariants():
yield target
if cross_compile and 'chip-tool' in target.name and 'arm64' in target.name and '-no-interactive' not in target.name:
# Interactive builds will not compile by default on arm cross compiles
# because libreadline is not part of the default sysroot
yield target.GlobBlacklist('Arm crosscompile does not support libreadline-dev')
else:
yield target

# Without extra build variants
yield target_native.Extend('chip-cert', app=HostApp.CERT_TOOL)
Expand Down
22 changes: 10 additions & 12 deletions scripts/build/testdata/build_linux_on_x64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,10 @@ bash -c '
PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \
gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/all-clusters-app/linux '"'"'--args=chip_inet_config_enable_ipv4=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-all-clusters-ipv6only'

# Generating linux-arm64-chip-tool
# Generating linux-arm64-chip-tool-no-interactive
bash -c '
PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \
gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/chip-tool '"'"'--args=target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-chip-tool'

# Generating linux-arm64-chip-tool-ipv6only
bash -c '
PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \
gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/chip-tool '"'"'--args=chip_inet_config_enable_ipv4=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-chip-tool-ipv6only'
gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/chip-tool '"'"'--args=config_use_interactive_mode=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-chip-tool-no-interactive'

# Generating linux-arm64-door-lock
bash -c '
Expand Down Expand Up @@ -102,6 +97,9 @@ gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/exa
# Generating linux-x64-chip-tool-ipv6only
gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/chip-tool --args=chip_inet_config_enable_ipv4=false {out}/linux-x64-chip-tool-ipv6only

# Generating linux-x64-chip-tool-no-interactive
gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/chip-tool --args=config_use_interactive_mode=false {out}/linux-x64-chip-tool-no-interactive

# Generating linux-x64-door-lock
gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/door-lock-app/linux {out}/linux-x64-door-lock

Expand Down Expand Up @@ -156,11 +154,8 @@ ninja -C {out}/linux-arm64-all-clusters
# Building linux-arm64-all-clusters-ipv6only
ninja -C {out}/linux-arm64-all-clusters-ipv6only

# Building linux-arm64-chip-tool
ninja -C {out}/linux-arm64-chip-tool

# Building linux-arm64-chip-tool-ipv6only
ninja -C {out}/linux-arm64-chip-tool-ipv6only
# Building linux-arm64-chip-tool-no-interactive
ninja -C {out}/linux-arm64-chip-tool-no-interactive

# Building linux-arm64-door-lock
ninja -C {out}/linux-arm64-door-lock
Expand Down Expand Up @@ -219,6 +214,9 @@ ninja -C {out}/linux-x64-chip-tool
# Building linux-x64-chip-tool-ipv6only
ninja -C {out}/linux-x64-chip-tool-ipv6only

# Building linux-x64-chip-tool-no-interactive
ninja -C {out}/linux-x64-chip-tool-no-interactive

# Building linux-x64-door-lock
ninja -C {out}/linux-x64-door-lock

Expand Down

0 comments on commit 1441680

Please sign in to comment.