Merge branch 'main' of https://github.com/devse-org/osdk
This commit is contained in:
		
						commit
						1f5cddb55f
					
				
					 3 changed files with 34 additions and 8 deletions
				
			
		|  | @ -55,6 +55,21 @@ def runCmd(opts: dict, args: list[str]) -> None: | ||||||
|     print(f"{utils.Colors.GREEN}Process exited with success{utils.Colors.RESET}") |     print(f"{utils.Colors.GREEN}Process exited with success{utils.Colors.RESET}") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | def debugCmd(opts: dict, args: list[str]) -> None: | ||||||
|  |     props = propsFromOptions(opts) | ||||||
|  |     if len(args) == 0: | ||||||
|  |         print(f"Usage: osdk debug <component>") | ||||||
|  |         sys.exit(1) | ||||||
|  | 
 | ||||||
|  |     out = build.buildOne(opts.get('target', 'default:debug'), args[0], props) | ||||||
|  | 
 | ||||||
|  |     print() | ||||||
|  |     print(f"{utils.Colors.BOLD}Debugging: {args[0]}{utils.Colors.RESET}") | ||||||
|  |     utils.runCmd("/usr/bin/lldb",  out, *args[1:]) | ||||||
|  |     print() | ||||||
|  |     print(f"{utils.Colors.GREEN}Process exited with success{utils.Colors.RESET}") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| def buildCmd(opts: dict, args: list[str]) -> None: | def buildCmd(opts: dict, args: list[str]) -> None: | ||||||
|     props = propsFromOptions(opts) |     props = propsFromOptions(opts) | ||||||
|     allTargets = opts.get('all-targets', False) |     allTargets = opts.get('all-targets', False) | ||||||
|  | @ -135,6 +150,10 @@ CMDS = { | ||||||
|         "func": runCmd, |         "func": runCmd, | ||||||
|         "desc": "Run a component on the host", |         "desc": "Run a component on the host", | ||||||
|     }, |     }, | ||||||
|  |     "debug": { | ||||||
|  |         "func": debugCmd, | ||||||
|  |         "desc": "Run a component on the host in debug mode", | ||||||
|  |     }, | ||||||
|     "build": { |     "build": { | ||||||
|         "func": buildCmd, |         "func": buildCmd, | ||||||
|         "desc": "Build one or more components", |         "desc": "Build one or more components", | ||||||
|  |  | ||||||
|  | @ -26,6 +26,8 @@ def filter(manifests: dict, target: dict) -> dict: | ||||||
|                 if not req in target["props"] or \ |                 if not req in target["props"] or \ | ||||||
|                    not target["props"][req] in manifest["requires"][req]: |                    not target["props"][req] in manifest["requires"][req]: | ||||||
|                     accepted = False |                     accepted = False | ||||||
|  |                     print( | ||||||
|  |                         f"Disabling {id} because it requires {req}: {manifest['requires'][req]}") | ||||||
|                     break |                     break | ||||||
| 
 | 
 | ||||||
|         manifest["enabled"] = accepted |         manifest["enabled"] = accepted | ||||||
|  |  | ||||||
|  | @ -48,8 +48,6 @@ def enableSan(target: dict) -> dict: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def enableColors(target: dict) -> dict: | def enableColors(target: dict) -> dict: | ||||||
|     target = copy.deepcopy(target) |  | ||||||
| 
 |  | ||||||
|     if (target["props"]["toolchain"] == "clang"): |     if (target["props"]["toolchain"] == "clang"): | ||||||
|         target = patchToolArgs(target, "cc", ["-fcolor-diagnostics"]) |         target = patchToolArgs(target, "cc", ["-fcolor-diagnostics"]) | ||||||
|         target = patchToolArgs(target, "cxx", ["-fcolor-diagnostics"]) |         target = patchToolArgs(target, "cxx", ["-fcolor-diagnostics"]) | ||||||
|  | @ -61,20 +59,25 @@ def enableColors(target: dict) -> dict: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def enableOptimizer(target: dict, level: str) -> dict: | def enableOptimizer(target: dict, level: str) -> dict: | ||||||
|     target = copy.deepcopy(target) |  | ||||||
| 
 |  | ||||||
|     target = patchToolArgs(target, "cc", ["-O" + level]) |     target = patchToolArgs(target, "cc", ["-O" + level]) | ||||||
|     target = patchToolArgs(target, "cxx", ["-O" + level]) |     target = patchToolArgs(target, "cxx", ["-O" + level]) | ||||||
| 
 | 
 | ||||||
|     return target |     return target | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | def enableDebug(target: dict) -> dict: | ||||||
|  |     target = patchToolArgs(target, "cc", ["-g"]) | ||||||
|  |     target = patchToolArgs(target, "cxx", ["-g"]) | ||||||
|  | 
 | ||||||
|  |     return target | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| def available() -> list: | def available() -> list: | ||||||
|     return [file.removesuffix(".json") for file in utils.tryListDir("meta/targets") |     return [file.removesuffix(".json") for file in utils.tryListDir("meta/targets") | ||||||
|             if file.endswith(".json")] |             if file.endswith(".json")] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| VARIANTS = ["debug", "devel", "release", "sanatize"] | VARIANTS = ["debug", "devel", "fast", "san"] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def load(targetId: str, props: dict) -> dict: | def load(targetId: str, props: dict) -> dict: | ||||||
|  | @ -135,13 +138,15 @@ def load(targetId: str, props: dict) -> dict: | ||||||
|     target = enableColors(target) |     target = enableColors(target) | ||||||
| 
 | 
 | ||||||
|     if targetVariant == "debug": |     if targetVariant == "debug": | ||||||
|         target = enableOptimizer(target, "g") |         target = enableDebug(target) | ||||||
|  |         target = enableOptimizer(target, "0") | ||||||
|     elif targetVariant == "devel": |     elif targetVariant == "devel": | ||||||
|         target = enableOptimizer(target, "2") |         target = enableOptimizer(target, "2") | ||||||
|     elif targetVariant == "release": |     elif targetVariant == "fast": | ||||||
|         target = enableOptimizer(target, "3") |         target = enableOptimizer(target, "3") | ||||||
|     elif targetVariant == "sanitize": |     elif targetVariant == "san": | ||||||
|         target = enableOptimizer(target, "g") |         target = enableOptimizer(target, "g") | ||||||
|  |         target = enableDebug(target) | ||||||
|         target = enableSan(target) |         target = enableSan(target) | ||||||
| 
 | 
 | ||||||
|     return target |     return target | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue