Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ethercrow/trollint

lint-like tool for codebases compilable with clang, mainly iphone projects for now
https://github.com/ethercrow/trollint

Last synced: 24 days ago
JSON representation

lint-like tool for codebases compilable with clang, mainly iphone projects for now

Awesome Lists containing this project

README

        

========
trollint
========

What is this?
=============

Code analysis tool for automating some mundane parts of code review process.
It is intended primarily for codebases compilable with clang.

Dependencies
============

* Python 2.* (2.6 and 2.7 are known to work)
* jinja2
* libclang

Installation
============

Linux
-----

You'll figure it out

OS X
----

You can install jinja2 by invoking the following in Terminal::

easy_install jinja2

To get libclang files, download
http://llvm.org/releases/3.0/clang+llvm-3.0-x86_64-apple-darwin11.tar.gz
and extract to somewhere, e.g. $HOME/clang-binary. Then add path to
libclang.dylib to LD_LIBRARY_PATH like this::

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/clang-binary/clang+llvm-3.0-x86_64-apple-darwin11/lib"

You probably want to do this for every shell session, so add that line to
$HOME/.bashrc ($HOME/.zshrc if you use zsh).

Windows
-------

Waiting for a brave soul to try.

How do I use it?
================

::

cd my_shiny_project

# assuming you keep your source files in src directory
/path/to/trollint/trollint.py src/**/*.m

# again, assuming that your favorite browser is elinks
elinks report/index.html

It spits out a stacktrace about libclang.so (or dylib or dll). Wat do?
======================================================================

trollint uses libclang.so, ensure that LD_LIBRARY_PATH or whatever it is on
your platform contains path to clang library.

I want moar analyses
====================

Add some to passes directory.

TODO: developer readme