[DynInst_API:] COMMIT: dyninst, testsuite more properly component-aware


Date: Fri, 08 May 2015 11:16:29 -0500
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: [DynInst_API:] COMMIT: dyninst, testsuite more properly component-aware
Dyninst now provides <component-install> top-level targets that should properly install a given component and its dependencies. This should be reflected in the DyninstConfig.cmake file that's installed, and the test suite should be properly aware of which components are present/absent when it builds. This enables you to build and test, for instance, symtabAPI:

cd /path/to/top/level/dyninst
cmake . && make symtabAPI-install

cd /path/to/top/level/testsuite
cmake . && make

<symtab tests build, other tests don't>

Also, there's a new CMake option: ENABLE_STATIC_LIBS, defaulting to "off", so that you only build static versions of the Dyninst libraries when you want them. I know this is high on quite a few people's lists.

Finally, there's a new CMake function, dyninst_library, in shared.cmake that wraps up all of the default per-component stuff that needs to happen. It's used as follows:

dyninst_library(component_name list_of_dependencies)

It's smart enough to figure out which dependencies are other components and which aren't. If there are per-platform dependencies (e.g. libdwarf/libelf) those need to be added separately, either with a subsequent target_link_libraries or by per-platform changes to the list of dependencies.

--bw

Bill Williams
Paradyn Project
bill@xxxxxxxxxxx
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] COMMIT: dyninst, testsuite more properly component-aware, Bill Williams <=