summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Bettis <jbettis@chromium.org>2022-09-12 20:59:26 +0000
committerJonathon Murphy <jpmurphy@google.com>2022-09-12 21:00:49 +0000
commit3b2b654318c1375a3aa9031db087ea3845628a5d (patch)
tree39676ebde38ddc6be58fc5c7938789e733319335
parentbc0d97c15ebddaf11d0b5209a42324df5973840b (diff)
downloadchrome-ec-3b2b654318c1375a3aa9031db087ea3845628a5d.tar.gz
Revert "zmake: Use vpython3 in cmake"
This reverts commit 338b2fa082a886c6134ca67586d38a83bd49fe6a. Reason for revert: Breaks in emerge. Original change's description: > zmake: Use vpython3 in cmake > > Add cmake variable to force it to use vpython3 instead of auto-detecting > the path to python. This is slightly fragile due to logic in > zephyr/main/cmake/modules/python.cmake. You can pass in PYTHON_PREFER > but it will extract the version from that binary and run > /usr/bin/python${ver}, which is very strange. Pass Python3_EXECUTABLE > to bypass all of that logic, but it has to be exactly the version in > PYTHON_MINIMUM_REQUIRED or it will fail. We'll need to make sure we keep > the vpython version matched with PYTHON_MINIMUM_REQUIRED in the future. > > Update the instructions to run ram_report because it works inside the > chroot now. > > Added some missing packages to twister_launcher.py as well. I'm not sure > why this change made them start to be required, but they are. > > BRANCH=None > BUG=b:243936551 > TEST=zmake build -a > > Cq-Depend: chromium:3892212 > Signed-off-by: Jeremy Bettis <jbettis@google.com> > Change-Id: Ied285ce0b69b33a9a3b016c4bd07cab0b6a13b89 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891670 > Commit-Queue: Jeremy Bettis <jbettis@chromium.org> > Commit-Queue: Keith Short <keithshort@chromium.org> > Auto-Submit: Jeremy Bettis <jbettis@chromium.org> > Tested-by: Jeremy Bettis <jbettis@chromium.org> > Reviewed-by: Keith Short <keithshort@chromium.org> Bug: b:243936551 Change-Id: I88341eb47bf15c90d4d050e11b08e74f72f52e58 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891683 Commit-Queue: Jonathon Murphy <jpmurphy@google.com> Tested-by: Jonathon Murphy <jpmurphy@google.com> Reviewed-by: Jonathon Murphy <jpmurphy@google.com> Owners-Override: Jonathon Murphy <jpmurphy@google.com>
-rw-r--r--docs/reducing_ec_image_size.md13
-rwxr-xr-xutil/twister_launcher.py14
-rw-r--r--zephyr/zmake/zmake/zmake.py55
3 files changed, 41 insertions, 41 deletions
diff --git a/docs/reducing_ec_image_size.md b/docs/reducing_ec_image_size.md
index 97bcb6a37a..58ed66e25c 100644
--- a/docs/reducing_ec_image_size.md
+++ b/docs/reducing_ec_image_size.md
@@ -117,12 +117,19 @@ The Cmake system utilized by Zephyr provides two build targets `rom_report` and
This can be useful for identifying particular modules that contribute to the
image size.
+The `rom_report` and `ram_report` targets are currently only supported when
+working outside the chroot. Follow the [instructions][1] for building zephyr-ec
+images outside chroot before running the commands below.
+
```
-# Build herobrine image
-$ zmake build herobrine
+# Configure the Herobrine zephyr project, storing the build files in /tmp/zephyr-herobrine
+$ zmake configure -B /tmp/zephyr-herobrine herobrine
+
+# Build the RO image
+$ ninja -C /tmp/zephyr-herobrine/herobrine/build-ro
# Generate the ROM report, report sent to stdout
-$ ninja -C build/zephyr/herobrine/build-ro rom_report
+$ ninja -C /tmp/zephyr-herobrine/herobrine/build-ro rom_report
```
Please refer to the [Zephyr Optimization Tools][3] documentation for details on
diff --git a/util/twister_launcher.py b/util/twister_launcher.py
index d786105f52..4dd520fa0f 100755
--- a/util/twister_launcher.py
+++ b/util/twister_launcher.py
@@ -1,6 +1,6 @@
#!/usr/bin/env vpython3
-# Copyright 2022 The ChromiumOS Authors
+# Copyright 2022 The ChromiumOS Authors.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -60,18 +60,6 @@ parameters that may be used, please consult the Twister documentation.
# name: "infra/python/wheels/six-py2_py3"
# version: "version:1.16.0"
# >
-# wheel: <
-# name: "infra/python/wheels/packaging-py2_py3"
-# version: "version:16.8"
-# >
-# wheel: <
-# name: "infra/python/wheels/pyparsing-py2_py3"
-# version: "version:2.4.7"
-# >
-# wheel: <
-# name: "infra/python/wheels/pyelftools-py2_py3"
-# version: "version:0.29"
-# >
# [VPYTHON:END]
import argparse
diff --git a/zephyr/zmake/zmake/zmake.py b/zephyr/zmake/zmake/zmake.py
index 4cc3e3ea34..d7af2575bf 100644
--- a/zephyr/zmake/zmake/zmake.py
+++ b/zephyr/zmake/zmake/zmake.py
@@ -1,4 +1,4 @@
-# Copyright 2020 The ChromiumOS Authors
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -391,31 +391,36 @@ class Zmake:
shutil.rmtree(build_dir)
generated_include_dir = (build_dir / "include").resolve()
- cmake_defs = {
- "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
- "DTS_ROOT": str(self.module_paths["ec"] / "zephyr"),
- "SYSCALL_INCLUDE_DIRS": str(
- self.module_paths["ec"] / "zephyr" / "include" / "drivers"
- ),
- "USER_CACHE_DIR": str(
- self.module_paths["ec"] / "build" / "zephyr" / "user-cache"
- ),
- "ZEPHYR_BASE": str(self.zephyr_base),
- "ZMAKE_INCLUDE_DIR": str(generated_include_dir),
- "ZMAKE_PROJECT_NAME": project.config.project_name,
- **(
- {"EXTRA_EC_VERSION_FLAGS": "--static"}
- if static_version
- else {}
- ),
- **({"EXTRA_CFLAGS": "-save-temps=obj"} if save_temps else {}),
- }
- vpython = shutil.which("vpython3")
- if vpython:
- cmake_defs["Python3_EXECUTABLE"] = vpython
-
base_config = zmake.build_config.BuildConfig(
- cmake_defs=cmake_defs,
+ cmake_defs={
+ "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
+ "DTS_ROOT": str(self.module_paths["ec"] / "zephyr"),
+ "SYSCALL_INCLUDE_DIRS": str(
+ self.module_paths["ec"]
+ / "zephyr"
+ / "include"
+ / "drivers"
+ ),
+ "USER_CACHE_DIR": str(
+ self.module_paths["ec"]
+ / "build"
+ / "zephyr"
+ / "user-cache"
+ ),
+ "ZEPHYR_BASE": str(self.zephyr_base),
+ "ZMAKE_INCLUDE_DIR": str(generated_include_dir),
+ "ZMAKE_PROJECT_NAME": project.config.project_name,
+ **(
+ {"EXTRA_EC_VERSION_FLAGS": "--static"}
+ if static_version
+ else {}
+ ),
+ **(
+ {"EXTRA_CFLAGS": "-save-temps=obj"}
+ if save_temps
+ else {}
+ ),
+ },
)
# Prune the module paths to just those required by the project.