1# 2# Copyright (C) 2023-2024 Siemens AG 3# 4# SPDX-License-Identifier: GPL-2.0-only 5# 6"""Devtool ide-sdk generic IDE plugin""" 7 8import os 9import logging 10from devtool.ide_plugins import IdeBase, GdbCrossConfig 11 12logger = logging.getLogger('devtool') 13 14 15class IdeNone(IdeBase): 16 """Generate some generic helpers for other IDEs 17 18 Modified recipe mode: 19 Generate some helper scripts for remote debugging with GDB 20 21 Shared sysroot mode: 22 A wrapper for bitbake meta-ide-support and bitbake build-sysroots 23 """ 24 25 def __init__(self): 26 super().__init__() 27 28 def setup_shared_sysroots(self, shared_env): 29 real_multimach_target_sys = shared_env.ide_support.real_multimach_target_sys 30 deploy_dir_image = shared_env.ide_support.deploy_dir_image 31 env_script = os.path.join( 32 deploy_dir_image, 'environment-setup-' + real_multimach_target_sys) 33 logger.info( 34 "To use this SDK please source this: %s" % env_script) 35 36 def setup_modified_recipe(self, args, image_recipe, modified_recipe): 37 """generate some helper scripts and config files 38 39 - Execute the do_install task 40 - Execute devtool deploy-target 41 - Generate a gdbinit file per executable 42 - Generate the oe-scripts sym-link 43 """ 44 script_path = modified_recipe.gen_install_deploy_script(args) 45 logger.info("Created: %s" % script_path) 46 47 self.initialize_gdb_cross_configs(image_recipe, modified_recipe) 48 49 IdeBase.gen_oe_scrtips_sym_link(modified_recipe) 50 51 52def register_ide_plugin(ide_plugins): 53 ide_plugins['none'] = IdeNone 54