Skip to content
/ Beye Public
forked from rizsotto/scan-build

Build EYE / Clang's scan-build re-implementation in python

License

Notifications You must be signed in to change notification settings

blep/Beye

 
 

Repository files navigation

Build Status Coverage Status

Build EYE

It's a static analyzer wrapper for Clang. The original scan-build is written in Perl. This package contains reimplementation of that scripts in Python. The reimplementation diverge from the original scripts in a few places.

How to get

Will be available soon from the Python Package Index.

How to build

Should be quite portable on UNIX operating systems. It has been tested on FreeBSD, GNU/Linux and OS X.

Prerequisites

  1. an ANSI C compiler, to compile the sources.
  2. cmake, to configure the build process.
  3. make, to run the build. The makefile is generated by cmake.
  4. python interpreter (version 2.7, 3.2, 3.3, 3.4).

Build commands

Please consider to use virtualenv or other tool to set up the working environment.

$ python setup.py build
$ python setup.py install
$ python setup.py test

How to use

To run the Clang static analyzer against a project goes like this:

$ scan-build all <your build command>

To generate a compilation database file (compilation database is a JSON file described here) goes like this:

$ scan-build intercept <your build command>

Use --help to know more about the commands.

Known problems

Because it uses LD_PRELOAD or DYLD_INSERT_LIBRARIES environment variables, it does not append to it, but overrides it. So builds which are using these variables might not work. (I don't know any build tool which does that, but please let me know if you do.)

Problem reports

If you find a bug in this documentation or elsewhere in the program or would like to propose an improvement, please use the project's github issue tracker. Please describing the bug and where you found it. If you have a suggestion how to fix it, include that as well. Patches are also welcome.

About

Build EYE / Clang's scan-build re-implementation in python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 73.3%
  • C 14.0%
  • JavaScript 10.1%
  • CMake 1.2%
  • CSS 0.7%
  • Makefile 0.4%
  • Shell 0.3%