use hwaf as a build system
refactoring: adapt to llvm-3.2 API. remove double delete