| # |
| # Copyright (C) 2023-2024 Siemens AG |
| # |
| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| """Devtool ide-sdk generic IDE plugin""" |
| |
| import os |
| import logging |
| from devtool.ide_plugins import IdeBase, GdbCrossConfig |
| |
| logger = logging.getLogger('devtool') |
| |
| |
| class IdeNone(IdeBase): |
| """Generate some generic helpers for other IDEs |
| |
| Modified recipe mode: |
| Generate some helper scripts for remote debugging with GDB |
| |
| Shared sysroot mode: |
| A wrapper for bitbake meta-ide-support and bitbake build-sysroots |
| """ |
| |
| def __init__(self): |
| super().__init__() |
| |
| def setup_shared_sysroots(self, shared_env): |
| real_multimach_target_sys = shared_env.ide_support.real_multimach_target_sys |
| deploy_dir_image = shared_env.ide_support.deploy_dir_image |
| env_script = os.path.join( |
| deploy_dir_image, 'environment-setup-' + real_multimach_target_sys) |
| logger.info( |
| "To use this SDK please source this: %s" % env_script) |
| |
| def setup_modified_recipe(self, args, image_recipe, modified_recipe): |
| """generate some helper scripts and config files |
| |
| - Execute the do_install task |
| - Execute devtool deploy-target |
| - Generate a gdbinit file per executable |
| - Generate the oe-scripts sym-link |
| """ |
| script_path = modified_recipe.gen_install_deploy_script(args) |
| logger.info("Created: %s" % script_path) |
| |
| self.initialize_gdb_cross_configs(image_recipe, modified_recipe) |
| |
| IdeBase.gen_oe_scrtips_sym_link(modified_recipe) |
| |
| |
| def register_ide_plugin(ide_plugins): |
| ide_plugins['none'] = IdeNone |