def generate_image(self):
# Build image
self.set_user_config()
- all_packages = self.package_model.get_selected_packages()
+ packages = self.package_model.get_selected_packages()
+ toolchain_packages = []
+ if self.configuration.toolchain_build:
+ toolchain_packages = self.package_model.get_selected_packages_toolchain()
self.handler.reset_build()
- self.handler.generate_image(all_packages,
+ self.handler.generate_image(packages,
self.hob_image,
self.hob_toolchain,
- self.configuration.toolchain_build)
+ toolchain_packages)
# Callback Functions
def handler_config_updated_cb(self, handler, which, values):
targets = [self.hob_image]
self.server.runCommand(["setVariable", "LINGUAS_INSTALL", ""])
self.server.runCommand(["setVariable", "PACKAGE_INSTALL", " ".join(self.package_queue)])
- if self.toolchain_build:
- pkgs = self.package_queue + [i+'-dev' for i in self.package_queue] + [i+'-dbg' for i in self.package_queue]
- self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(pkgs)])
+ if self.toolchain_packages:
+ self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(self.toolchain_packages)])
targets.append(self.hob_toolchain)
self.server.runCommand(["buildTargets", targets, "build"])
self.commands_async.append(self.SUB_BUILD_RECIPES)
self.run_next_command(self.GENERATE_PACKAGES)
- def generate_image(self, tgts, hob_image, hob_toolchain, toolchain_build=False):
+ def generate_image(self, tgts, hob_image, hob_toolchain, toolchain_packages=[]):
self.package_queue = tgts
self.hob_image = hob_image
self.hob_toolchain = hob_toolchain
- self.toolchain_build = toolchain_build
+ self.toolchain_packages = toolchain_packages
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.commands_async.append(self.SUB_BUILD_IMAGE)
self.run_next_command(self.GENERATE_IMAGE)
return packagelist
+ def get_selected_packages_toolchain(self):
+ packagelist = []
+
+ it = self.get_iter_first()
+ while it:
+ if self.get_value(it, self.COL_INC):
+ child_it = self.iter_children(it)
+ while child_it:
+ name = self.get_value(child_it, self.COL_NAME)
+ inc = self.get_value(child_it, self.COL_INC)
+ if inc or name.endswith("-dev") or name.endswith("-dbg"):
+ packagelist.append(name)
+ child_it = self.iter_next(child_it)
+ it = self.iter_next(it)
+
+ return packagelist
"""
Return the selected package size, unit is KB.
"""