C and C++ Analysis

November 4, 2022 ยท View on GitHub

When developing C and C++ projects, no standard package manager is used. Consequently, we use statistical analysis of the project to determine likely vendored dependencies, and support inspecting output binaries for dynamically linked dependencies on some platforms.

StrategyDirect DepsTransitive DepsEdgesContainer Scanning
detect-vendored:white_check_mark::x::x::x:
detect-dynamic:white_check_mark::white_check_mark::x::x:

Project Discovery

  • detect-vendored: The root of the scan directory is assumed to be the only "project".
  • detect-dynamic: The binary indicated by the argument is assumed to be the only "project".

Analysis

  • detect-vendored: Run fossa analyze --detect-vendored.
    • To only detect vendored dependencies, run fossa analyze --detect-vendored --only-target vsi.
  • detect-dynamic: Run fossa analyze --detect-dynamic <BINARY_PATH>.
    • This inspects the binary at BINARY_PATH for dynamically linked dependencies.
    • This requires specific platform support, see extended documentation under further reading.

Further reading: