avast / avast/retdec

Let users supply their own library type information files

Open
#223 0 comments 1 reaction 0 assignees View on GitHub
C-support enhancement new-feature
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

Related to #220. Solve this only after #220.

Related to #221, #222, #223, #224, #225. Solve them together or close one after another. Share design decisions - uniform solutions.

Let users supply their own library type information (LTI) files.

Probably refactor the whole system in the process:
- Refactor the directory structure. Something like `share/retdec/support/lti/`.
- Install `scripts/type_extractor` somewhere (where? it is not a single file). Maybe to `share/retdec/type_extractor`? We will need it for the next point.
- Let users specify their own LTI files - both JSONs and C headers. JSONs are ok, we can use them directly. C headers need to be transformed to JSONs by `type_extractor` script.
- Let users add their files to the user support directory (e.g. something like `share/retdec/user-support/lti`). These will be always used, without user needing to specify them via script parameters. Just like before, allow both JSON files and C headers.
- Write a how-to wiki page.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing LTI support layout and the scripts/type_extractor entry point. Examine the proposed share/retdec/support/lti and share/retdec/user-support/lti locations, including JSON and C-header handling. Done means users can supply both formats, user support files are picked up automatically, and a how-to wiki page documents the workflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, json
Domain
compilers, documentation, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.