avast / avast/retdec

Add support for a system-wide shared libraries

Open
#356 4 comments 0 reactions 0 assignees View on GitHub
D-help-wanted enhancement P-build
Dominant language
C++
Stars
8.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

First of all, thank you for fixing the issue #94 , this is a good progress.
As the way of improvement, I would like to suggest implementing support of system-wide dependencies as well. For example, there are few tools which require capstone, libdwarf and all of them want to compile their own copy and link to it statically and there are a lot obvious disadvantages of such approach.

There is a way to verify if a system-wide library matches retdec requirements using pkg-config or cmake files and it should be possible to compile against them instead of compiling a static copy.
The tools which do not match can be still compiled locally (optionally).

The full list of the external tools is getting downloaded to the following location: external/src

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting the external dependency setup under external/src and the existing CMake files. Trace how tools such as capstone and libdwarf are downloaded and built, then review how pkg-config or CMake could identify compatible system libraries. Done means compatible system-wide dependencies are used while incompatible ones can still be built locally.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.