Question

Context

I am working on a klee (http://klee.llvm.org) fork and want to clean up our repository to separate our stuff from the "canonical" klee code. Anyway, I'm having trouble understanding/extending the build system.

Problem

The directory structure in /lib/ looks like this

Basic/
Core/
Support/
Expr/
Solver/
Module/
Mine/

Mine was just added by me, so far we threw everything in Core and I am moving it to Mine. How do I tell the build system to do this properly?

My attempt

Being unable to figure this out on my own, I edited /lib/Makefile:

LEVEL=..

PARALLEL_DIRS=Basic Support Expr Solver Module Core Mine

include $(LEVEL)/Makefile.common

and copied the /lib/Core/Makefile to /lib/Mine/Makefile while changing LIBRARYNAME=kleeCore to LIBRARYNAME=kleeMine.

Caveat

I have a feeling that this is not the proper way to do it, and I should rather modify some configure script or something. Also it does not link (it compiles, though).

Was it helpful?

Solution

A colleague just told me how to get it to link, which is by modifying /tools/klee/Makefile

USEDLIBS = kleeCore.a kleeModule.a kleaverSolver.a kleaverExpr.a kleeSupport.a kleeBasic.a kleeMine.a
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top